SphereCommunity
Load reduction tips? - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: Load reduction tips? (/Thread-Load-reduction-tips)



Load reduction tips? - Ultima One - 02-03-2013 01:31 PM

Does anyone have any suggestions on how best to reduce the load on Sphere?

Since it's not multi threaded (yet?) I was wondering if anyone had any tips, or know of the biggest cpu-using parts?

As it stands, my server makes use of about 85% of what it can (a single core out of the 4 the server has), but can occasionally spike (probably a bad script somewhere).

However, it shouldn't really be sat at 85% with around 85 players on.. What could be done to reduce cpu usage?

I've been told TIMERF is a key one, but we only use it once and only rarely. Then there is loops, which there is a reasonable amount, but 60 odd loops running at once should not have such an impact, but maybe it does?

Today we had it spike quite badly out of nowhere.. i guess someone hit a script thats not very well built. Some of our code is 12 years old or older, I've only been running the place for 4 years, 2 of which were downtime. So many hands have touched our scripts, and so many of them need tidying, but want to deal with the most cpu heavy ones first.


RE: Load reduction tips? - Shaklaban - 02-03-2013 02:16 PM

i think its very high. what is your cpu model?

and if you want to track functions which has eating cpu you can use script profiler. just enable ef_scriptprofiler from sphere.ini. then write p# to the console. this will dump all functions, triggers etc. to the profiler_dump.txt.


RE: Load reduction tips? - Ultima One - 02-03-2013 10:09 PM

It is only 7% cpu usage.. The problem is not hardware, its a 3.6ghz i7. The problem is sphere using up almost the whole core its on.

Last time i did script profiling it lagged everyone severely. And no point running it on an empty dev server really Sad


RE: Load reduction tips? - Shaklaban - 02-04-2013 02:56 AM

well i have 3.4 ghz xeon and sphere uses %2.5 - %3 of cpu (when 150 players online). i have hyper-threading enabled so its %25 of single cpu thread. can you post your .ini flags? some flags can interrupt the cpu usage especially NPC_AI_ALWAYSINT.


RE: Load reduction tips? - Ultima One - 02-04-2013 08:03 AM

Here's all the stuff you might need - thanks for looking btw

We do have the AI up high like you mention - worth a shot to tone it down?

Code:
///////////////////////////////////////////////////////////////
//////// File Locations
///////////////////////////////////////////////////////////////
// Directory where spheretables.scp is located, from there we will
// load any additional scripts
ScpFiles=scripts/

// Where your sphereworld.scp and spherechars.scp are located
WorldSave=save/

// Where your sphereaccu.scp and sphereacct.scp is located
AcctFiles=accounts/

// Where your UO installation is located. This need: map0.mul, statics0.mul,
//  staidx0.mul, multi.mul, multi.idx, hues.mul, tiledata.mul.
// Optional files: verdata.mul, mapX.mul/staticsX.mul/staidxX.mul for higher
//  maps support (Malas, etc).
//
// Note that if not set, sphere will scan windows registry to auto-detect it
MulFiles=muls/

// Where your log files will be saved by sphere
Log=logs/

// To activate ML-sized map #0 uncomment the next line (don't forget to uncomment
// sphere_map0_ml.scp and sphere_map_points0_ml.scp in spheretables.scp if you want
// to use the default areas)
//Map0=7168,4096,-1,-1

// To activate ML-sized map #1 uncomment the next line
//Map1=7168,4096,-1,-1


Map0=7168,4096,64,0,0
Map1=6144,4096,64,0,1
Map2=2304,1600,32,0,2
Map3=2560,2048,32,0,3
Map4=1448,1448,8,0,4
Map10=7168,4096,64,0,0
Map20=7168,4096,64,0,0
Map50=7168,4096,64,0,0
Map55=7168,4096,64,0,0
Map204=7168,4096,64,0,0

// To enable the use of MapDif*.mul and StaDif*.mul files, set this to 1.
UseMapDiffs=1


///////////////////////////////////////////////////////////////
//////// Account Management
///////////////////////////////////////////////////////////////
//Code for servers account application process
//  0=Closed,       // Closed. Not accepting more.
//  2=Free,         // Anyone can just log in and create a full account.
//  3=GuestAuto,    // You get to be a guest and are automatically sent email with u're new password.
//  4=GuestTrial,   // You get to be a guest til u're accepted for full by an Admin.
//  6=Unspecified,  // Not specified.
// To enable auto account you must set this to 2
AccApp=0

// Store password hashed with MD5
Md5Passwords=0

// local ip is assumed to be the admin
LocalIPAdmin=1

// Default number of chars allowed per account (maximum value is 7)
MaxCharsPerAccount=5

// Min time for a char to exist before delete allowed (in seconds)
MinCharDeleteTime=3*24*60*60

// Max number of Guest accounts allowed
GuestsMax=0

// Max login tries for account before a temporary ban (0 is disabled)
MaxAccountLoginTries=0

///////////////////////////////////////////////////////////////
//////// Client Management
///////////////////////////////////////////////////////////////
// What client protocol version used
// Comment out the ClientVersion line to allow any client that is supported.
//ClientVersion=2.0.3

// Set this to 0 to allow login to encrypted clients
UseCrypt=1

// Set this to 1 to allow login to unencrypted clients
UseNoCrypt=0

// Maximum total open connections to server
ClientMax=1024

// Maximum open connections to server per IP
ClientMaxIP=10

// Maximum total (not-in-game) connections to server
ConnectingMax=128

// Maximum total simultaneous (not-in-game) connections to server per IP
ConnectingMaxIp=32

// How long logged out clients linger in seconds
ClientLinger=60

// Walk limiting code: buffer size (in tenths of second)
WalkBuffer=75

// Walk limiting code: regen speed (%)
WalkRegen=25

// Only commands issued by this plevel and higher will be logged
CommandLog=0

// Set to 1 to enable logging of commands issued via telnet
TelnetLog=1

// Prefix for ingame commands
CommandPrefix=.

// Set from 0 - 7 to set what the default plevel is to use commands.
DefaultCommandLevel=2

// Function to call if client is executing a command to override the default.
//CommandTrigger=f_oncommand

// Use the built in http server
// 0 - disable http server and webpage generation
// 1 - disable http server and enable webpage generation
// 2 - enable http server and webpage generation (default)
UseHttp=1

// Use the OSI AuthID to avoid possible hijack to game server.
UseAuthID=1

// Default setting for all accounts specifying default resdisp.
//AutoResDisp=1

// Default setting for new accounts specifying default priv level
//AutoPrivFlags=010

// How often send my hits updates to visible clients (in seconds)
HitsUpdateRate=1

///////////////////////////////////////////////////////////////
//////// Game Mechanics
///////////////////////////////////////////////////////////////

// Maximum distance to hear char whispering
DistanceWhisper=2

// Maximum distance to hear char talking
DistanceTalk=18

// Maximum distance to hear char yelling
DistanceYell=31

// Do not allow entering under roof being on horse?
MountHeight=0

// Archery does not work if too close (0 = not checked)
ArcheryMinDist=2

// Maximum Distance for Archery
ArcheryMaxDist=15

// Speed scale factor for weapons
//SpeedScaleFactor=4000

// This is the percent of max weight at which stamina is lost half the time
// (200 = no effect)
StaminaLossAtWeight=180

// Weight penalty for running +N% of max carry weight (0 = no effect)
RunningPenalty=75

// Show people joining/leaving the server. 0 disables, 2 enables staff only.
ArriveDepartMsg=0

// Are house and boat keys newbied automatically
AutoNewbieKeys=1

// Maximum number of items allowed in bank
// Setting it to anything less than 0 (-1) will avoid items check
BankMaxItems=10000

// Maximum weight in stones allowed in bank
// Setting it to anything less than 0 (-1) will avoid weight check
BankMaxWeight=10000

// If 1 vendors will take gold only from backpack
PayFromPackOnly=0

// Disable weather effects?
NoWeather=1

// Default light level in dungeons
DungeonLight=27

// Day light level 0-30
LightDay=0

// Night light level 0-30
LightNight=15

// Allow manual sector light override?
//AllowLightOverride=1

// Wool Regen Time (in minutes)
WoolGrowthTime=30

// Suppress player speech with 75% of capital letters
SuppressCapitals=0

// Extra combat flags to control the fight (default:0, 0.55i compatible)
// COMBAT_NODIRCHANGE              00001 // Not rotate player when fighting (like was in 0.51a)
// COMBAT_FACECOMBAT               00002 // Allow faced combat only (recommended)
// COMBAT_PREHIT                   00004 // allow prehit for close combat. first hit is instant (delay 0.1sec)
// COMBAT_USE_RESISTANCE           00008 // use character props RES* against oldfashioned damage types
// COMBAT_SPECIALDAMAGE            00010 // use character tags TAG.*DAMAGE to apply additional damage
// COMBAT_DCLICKSELF_UNMOUNTS      00020 // unmount horse when dclicking self while in warmode
// COMBAT_ALLOWHITFROMSHIP         00040 // Allow attacking opponents from ships
// COMBAT_OSIDAMAGEMOD             00080 // modify weapon damage OSI-style (taking anatomy, tactics, lumberjacking into account)
// COMBAT_ARCHERYCANMOVE           00100 // firing bow while moving
// COMBAT_STAYINRANGE              00200 // abort attack swing when out of range instead of waiting to come back in range
//
// COMBAT_STACKARMOR               01000 // If a region is covered by more than one armor part, all AR will count
// COMBAT_TARGETTEDHIT             02000 // Allows setting of preferred hit area by TAG.HITPREFERENCE
CombatFlags=00040|00020|00001

// Extra magic flags to control magic/magery behaviour (default:0, 0.55i compatible)
// MAGICF_NODIRCHANGE        = 00000001 // Not rotate player when casting/targeting
// MAGICF_PRECAST            = 00000002 // Precasting (cast spell before target prompt)
// MAGICF_IGNOREAR           = 00000004 // Magic damage ignore ar
// MAGICF_CANHARMSELF        = 00000008 // Magic can do damage on self
// MAGICF_STACKSTATS         = 00000010 // Different stat spells don't cancel each other out
// MAGICF_FREEZEONCAST       = 00000020 // No movement whilst casting
// MAGICF_SUMMONWALKCHECK    = 00000040 // Summoned creatures should be able to walk on the target location (e.g. water creatures to be summoned on water)
// MAGICF_NOFIELDSOVERWALLS  = 00000080 // Field spells cannot cross over blocking objects
// MAGICF_NOANIM              = 00000100 // Auto SPELLFLAG_NO_ANIM in every spell.
MagicFlags=00000080|00000001

// Length of time (in seconds) for a char to remember his attacker (used for attacker keyword)
// Default = 300. (0 = don't forget until death.)
AttackerTimeout=300

// Length of time (in seconds) for a player to choose a target when casting (0 = no timeout)
SpellTimeout=0

// Zero point for sextant coordinates counting
//ZeroPoint=1323,1624,0

// How far from land i can be to take off a ship
MaxShipPlankTeleport=15

///////////////////////////////////////////////////////////////
//////// NPC/Item/Player Management
///////////////////////////////////////////////////////////////
// Distance in tiles before an NPC that's wandered too far from it's home will teleport back
LostNPCTeleport=50

// Whether PCs get a resurrection robe when they get resurrected.
NoResRobe=1

// Time for a NPC corpse to decay mins
CorpseNPCDecay=10

// Time for a player corpse to decay mins
CorpsePlayerDecay=15

// Base decay time in minutes for items
DecayTimer=5

// Put [NPC] tags over chars
CharTags=0

// Flip dropped items
FlipDroppedItems=1

// Set to 1 to allow players to take equipment from their pets' paperdoll
CanUndressPets=0

// Monsters run when scared of death
MonsterFear=0

// Monsters may fight each other
MonsterFight=0

// Percent setting of the all NPC move rate, default 100
MoveRate=140

// Do players receive sounds
GenericSounds=1

// Max number of items to sell to one person at once
VendorMaxSell=255

// Max level npc trainers can go
NPCTrainMax=500

// Percent of own ability npcs can train to
NPCTrainPercent=50

// NPC will not be addressed as "Lord" or such if this is set
// NPCNoFameTitle=0

// Max level of skill trainable on dummies, archery butte ecc..
SkillPracticeMax=500

// Max skill player's will start with on skills they haven't chosen during
// character creation
MaxBaseSkill=0

// If set to 0, the MaxBaseSkill will only apply to skills that the client
// can see in their menu (based on Feature* settings, ResDisp and Client
// Version). If this is set to 1 then players to start with all the skills
// that have been defined.
InitHiddenSkills=0

// Time in seconds for hitpoint regeneration
Regen0=20

// Time in seconds for mana regeneration
Regen1=5

// Time in seconds for stamina regeneration
Regen2=2

// Time in minutes for food regeneration
// 1*60*24 = 1 day of real life time
Regen3=1*60*24

// Speech block associated to players
SpeechSelf=spk_player

// Speech block associated to pets
SpeechPet=spk_pet

//Events related to all NPCs
EventsPet=e_all_npc

//Events related to all players
EventsPlayer=e_all_pc

// Events related to all regions
//EventsRegion=your_event

// When player skills/stats goes this times more than skillclass allowed, drop
// them to skillclass level. Setting this to 0 disables the action.
OverSkillMultiply=2

// NPC AI settings
// NPC_AI_PATH                  0x001   NPC pathfinding
// NPC_AI_FOOD                  0x002   NPC food search (objects + grass)
// NPC_AI_EXTRA                 0x004   NPC magics, etc
// NPC_AI_ALWAYSINT             0x008   Always be as smart as possible with pathfinding
// NPC_AI_INTFOOD               0x010   NPC food search (more intelligent and trusworthy)
// NPC_AI_COMBAT                0x040   Look for friends in combat
// NPC_AI_VEND_TIME             0x080   vendors closing their shops at nighttime
// NPC_AI_LOOTING               0x0100  loot corpses an the way
// NPC_AI_MOVEOBSTACLES         0x0200  if moveable items block my way, try to move them
NPCAI=0001|0008

///////////////////////////////////////////////////////////////
//////// Crime/Murder/Karma/Fame/Guard Settings
///////////////////////////////////////////////////////////////
// Lowest karma level a character can achieve
MinKarma=-10000

// Highest karma level a character can achieve
MaxKarma=10000

// Highest fame level a character can achieve
MaxFame=10000

// Karma when player goes from good to neutral (from -10000 to 10000)
PlayerNeutral=-2000

// Karma when player goes from neutral to evil (from -10000 to 10000)
PlayerEvil=-8000

// How many minutes are criminals flagged for
CriminalTimer=3

// Times a player can snoop before becoming a criminal
SnoopCriminal=5

// Seconds time to decay a murder count (default 8*60*60 is 8 hours)
MurderDecayTime=8*60*60

// Amount of murders before we get title
MurderMinCount=3

// Looting or carving a blue player is a crime
LootingIsaCrime=1

// Flag players criminal for helping criminals?
HelpingCriminalsIsaCrime=1

// How long do guards linger about in minutes
GuardLinger=1

// Will guards kill instantly or follow normal combat rules
GuardsInstantKill=0

// Limits the MAXHITS/MAXMANA/MAXSTAM changes
// STAT_FLAG_NORMAL     0x00 // MAX* status allowed (default)
// STAT_FLAG_DENYMAX    0x01 // MAX* denied
// STAT_FLAG_DENYMAXP   0x02 //             .. for players
// STAT_FLAG_DENYMAXN   0x04 //             .. for npcs
StatsFlags=0

// Uses the new LoS algorithm
// ADVANCEDLOS_DISABLED   0x00 // Disabled, use the old method
// ADVANCEDLOS_PLAYER     0x01 // Enabled only for players
// ADVANCEDLOS_NPC        0x02 // Enabled only for NPCs
AdvancedLos=00

// Default color settings for characters (name, speech)
//ColorNotoGood=063       // blue
//ColorNotoGuildSame=044  // green (ally)
//ColorNotoCriminal=03b2  // grey (criminal)
//ColorNotoNeutral=03b2   // grey (can be attacked)
//ColorNotoEvil=026       // red
//ColorNotoGuildWar=02b   // orange (enemy guild)
//ColorNotoDefault=03b2   // grey (if not any other)

// Which notoriety flags do pets inherit from their masters? (default 0)
// Set flags to indicate which notoriety statuses a pet can inherit from its owner.
//  NotoGood      = 0x01  // blue
//  NotoGuildSame = 0x02  // green (ally)
//  NotoNeutral   = 0x04  // grey (can be attacked)
//  NotoCriminal  = 0x08  // grey (criminal)
//  NotoGuildWar  = 0x10  // orange (enemy guild)
//  NotoEvil      = 0x20  // red
// e.g. "03a" will show pets as criminal/warring/evil/allied when their master has
//      one of these statuses, regardless of the pet's true notoriety.
PetsInheritNotoriety=0

///////////////////////////////////////////////////////////////
//////// Server Mechanics
///////////////////////////////////////////////////////////////
// Experimental flags
// Flags for options that affect server behaviour and which might affect compatibility
// See the revisions.txt file for more details on this
// EF_DiagonalWalkCheck         = 00000001
// EF_New_Triggers              = 00000008
// EF_Intrinsic_Locals          = 00000020
// EF_Item_Strict_Comparison    = 00000040
// EF_NewPositionChecks         = 00000080 // Do not set while server is running !!!
// EF_WalkCheck                 = 00000100
// EF_AllowTelnetPacketFilter   = 00000200 // Enables packet filtering for telnet connections as well
// EF_Script_Profiler           = 00000400
// EF_Size_Optimise             = 00000800
// EF_Minimize_Triggers         = 00001000 // Minimize trigger calls (use only 0.51 triggers)
// EF_DamageTools               = 00002000 // damage tools (and fire @damage on them) while mining or lumberjacking
// EF_PetSlots            = 00004000 // INCOMPLETE YET! DO NOT USE until this warning is removed!
// EF_UsePingServer             = 00008000 // Enable the experimental Ping Server (for showing pings on the server list, uses UDP port 12000)
// EF_NPCAct_Triggers           = 00010000 // Enable @NPCSpecialAction and @NPCAction triggers (mutual exclusive with EF_Minimize_Triggers)
// EF_FixCanSeeInClosedConts    = 00020000 // Change CANSEE to return 0 for items inside containers that a client hasn't opened
// EF_Specific                  = 01000000 // Specific behaviour, not completly tested
Experimental=00000008|00000400

// Option flags
// Flags for options that affect server behaviour but not compatibility
// See the revisions.txt file for more details on this
// OF_Command_Sysmsgs           = 00000008 //Shows status of hearall, allshow, allmove... commands after toggling them
// OF_OSIMultiSight             = 00000020
// OF_Items_AutoName            = 00000040
// OF_FileCommands              = 00000080
// OF_NoItemNaming              = 00000100
// OF_NoHouseMuteSpeech         = 00000200
// OF_Flood_Protection          = 00001000
// OF_Buffs                     = 00002000
// OF_NoPrefix                  = 00004000 // Add prefix "A" and "An" to itemnames or not
// OF_DyeType                   = 00008000 // if set allows using i_dye on all t_dye_vat instead of only i_dye_tub
// OF_DrinkIsFood               = 00010000 // type T_DRINK will increase FOOD lvl like T_FOOD
// OF_DClickNoTurn                = 00020000 // the player won't turn when dclick or targ an item
// OF_Specific                  = 01000000 // Specific behaviour, not completly tested
OptionFlags=00000008|00000200|00004000|00000020

// FeatureT2A, used to control T2A expansion features ( default 03 )
// FEATURE_T2A_UPDATE           01 // Monster and Lost lands
// FEATURE_T2A_CHAT             02 // In game chat
FeatureT2A = 03

// FeatureLBR, used to control LBR expansion features ( default 0 )
// FEATURE_LBR_UPDATE           01 // Lbr Monsters
// FEATURE_LBR_SOUND            02 // MP3 instead of MIDI
FeatureLBR = 03

// FeatureAOS, used to control AOS expansion features ( default 0 )
// FEATURE_AOS_UPDATE_A         01 // AOS Monsters, Map
// FEATURE_AOS_UPDATE_B         02 // Tooltip, Fightbook, Necro/paladin on creation, Single/Six char selection screen, Skills, Newer spellbook support
// FEATURE_AOS_POPUP            04 // PopUp Menus
// FEATURE_AOS_DAMAGE           08
FeatureAOS = 01|08

// FeatureSE, used to control SE expansion features ( default 0 )
// FEATURE_SE_UPDATE            01 // Basic SE features
// FEATURE_SE_NINJASAM          02 // Ninja and Samurai
FeatureSE = 0

// FeatureML, used to control ML expansion features ( default 0 )
// FEATURE_ML_UPDATE            01 // Basic ML features
// FEATURE_ML_NINTHAGE          02 // Unlocks ninth age house designer items
FeatureML = 0

// FeatureKR, used to control KR expansion features ( default 0 ) (still not complete but usable)
// FEATURE_KR_UPDATE_A          01 // Basic KR features
// FEATURE_KR_UPDATE_B          02 // Basic KR features
FeatureKR = 0

// FeatureSA, used to control SA expansion features ( default 0 )
// FEATURE_SA_UPDATE            01 // Unlocks gargoyle character creation and housing items
// FEATURE_SA_MOVEMENT          02 // Activates new movement packets (not good)
FeatureSA = 0

// FeatureExtra, used to control misc expansion features ( default 0 )
// FEATURE_EXTRA_GOTHIC         01 // Unlocks gothic house designer items
// FEATURE_EXTRA_RUSTIC         02 // Unlocks rustic age house designer items
FeatureExtra = 0

// In game effects to turn on and off
// Messages echoed to the server console while in debug mode
// DEBUGF_NPC_EMOTE     = 00001
// DEBUGF_ADVANCE_STATS = 00002
// DEBUGF_WALKCODES     = 00080 // try the new walk code checking stuff
// DEBUGF_EXP           = 00200 // experience gain/loss
// DEBUGF_LEVEL         = 00400 // experience level changes
// DEBUGF_SCRIPTS       = 00800 // debug flag for scripts
// DEBUGF_LOS           = 01000 // debug flag for AdvancedLOS
// DEBUGF_WALK          = 02000 // debug flag for new walking check stuff
//DebugFlags=00

// Allow rapid Buy/Sell through Buy/Sell agent
AllowBuySellAgent=0

// Console Hears all that is said on the server
HearAll=0

// Secure mode attempts to ignore errors, protect from accidently shutdowns
Secure=1

// Value from 1 to 32, set sectors inactive when unused to conserve resources
SectorSleep=10

// Always force a full garbage collection on save
ForceGarbageCollect=1

// Time before restarting when server appears hung (in seconds)
FreezeRestartTime=60

// Length of the game world minute in real world in seconds
GameMinuteLength=60

// Bit Mask of the subjects you want to log when logging is on
// LOGM_ACCOUNTS       000080 // account login/operations
// LOGM_INIT           000100 // start up messages
// LOGM_SAVE           000200 // world save
// LOGM_CLIENTS_LOG    000400 // all clients as they log in and out
// LOGM_GM_PAGE        000800 // player gm pages
// LOGM_PLAYER_SPEAK   001000 // all that the players say
// LOGM_GM_CMDS        002000 // all gm commands
// LOGM_CHEAT          004000 // possible cheat attempts
// LOGM_KILLS          008000 // player combat results
// LOGM_HTTP           010000 // http protocol operations
//  01fff0 log everything
LogMask=01fff0

// Amount of time to keep map data cached in sec
MapCacheTime=120

// Max NPC chars for a sector to prevent lag
MaxComplexity=200

// Amount of items in one tile so start showing "too many items here"
MaxItemComplexity=100

// Amount of items in one sector to start showing "x items too complex"
MaxSectorComplexity=10000

// Limit the number of cycles the while/for loop can proceed. Setting this to
// zero disables the limitation
MaxLoopTimes=0

// Amount of minutes to call f_onserver_timer (0 disables this, default)
TimerCall=10

// Should sphere record the time it takes to do actions like treating npcs, scripts, clients and such?
// Can be viewed by right clicking the mouse on sphere screen.
Profile=1

///////////////////////////////////////////////////////////////
//////// Magic/Effects Settings
///////////////////////////////////////////////////////////////

// Allow casting while equipped
EquippedCast=0

// Words of power for player using magic
WOPPlayer=1

// Words of power for staff using magic
WOPStaff=0

// Words of power font
//WOPFont=3

// Words of power color
//WOPColor=03B2

// Reagents lost if magic fails
ReagentLossFail=0

// Magic requires reagents
ReagentsRequired=1

// What % of hitpoints players will resurrect with. Note, that if you set this
// too low, people with little STR will have problems resurrecting.
HitPointPercentOnRez=25

// How many % of hits will the character loose when starving. 0 disables
//HitsHungerLoss=0

// Amount of skill of lock picking needed to unlock a magically locked door
MagicUnlockDoor=900

// Teleport effect for GMs and players. Setting 0 disables the effect
TeleportEffectNPC=0372a
TeleportEffectPlayers=0372a
TeleportEffectStaff=03709
TeleportSoundNPC=01fe
TeleportSoundPlayers=01fe
TeleportSoundStaff=01f3


///////////////////////////////////////////////////////////////
//////// Network Behaviour
///////////////////////////////////////////////////////////////
// WARNING: These are advanced settings that should not normally be changed
//          from the recommended default values!

// Disconnect inactive socket in x min
DeadSocketTime=5

// Maximum number of packets to send per tick
MaxPacketsPerTick=25

// Number of connections a client can make before being blocked
MaxPings=20

// Maximum number of packets before lowering packet priorities (0 for no limit)
MaxQueueSize=50

// Maximum number of bytes to send per tick (also governs maximum size of outgoing packets)
MaxSizePerTick=12000

// Time to remember previous connection history (seconds)
NetTTL=300

// Use asynchronous data sends (changing this setting at runtime may produce unexpected behaviour)
//  0 = Off
//  1 = On
//  2 = On for 4.0.0+ game clients only
UseAsyncNetwork=0

// Prioritise outgoing packets (provides a smoother experience in crowded areas)
UsePacketPriority=1

// Enables an additional buffer for outgoing data.
UseExtraBuffer=1

// Tooltip modes
//  0 = Always send full tooltip
//  1 = Wait for client to request full tooltip
TooltipMode=0

// Time to cache tooltip data for (seconds)
TooltipCache=1

// Automatically invalidate and resend tooltips when:
//  0001    item or character name changes
//  0002    item amount changes
//  0004    container weight changes
//  0008    weapon or armor durability changes
//  0010    weapon poison charge changes
//  0020    wand charge changes
//  0040    spell added to spellbook
AutoTooltipResend=07f

// Number of network threads. Clients are distributed evenly amongst each thread. Set to 0 to not
// use a separate networking thread.
NetworkThreads=0

// If network threads are used, this controls the priority they are assigned.
//  0   = Idle
//  1   = Low
//  2   = Normal
//  3   = High
//  4   = Highest
//  5   = Real-time
//  255 = Automatic (recommended)
NetworkThreadPriority=255

///////////////////////////////////////////////////////////////
//////// Third-Party Tools Support
///////////////////////////////////////////////////////////////

// ConnectUO
// Enable or disable the response to ConnectUO pings
// If enabled, it returns: Items, Chars, Clients and Memory
CUOStatus=1

// UOGateway
// Enable or disable the response to UOGateway pings
// If enabled, it returns: Name, Age, Clients, Items, Chars and Memory
UOGStatus=1



RE: Load reduction tips? - Shaklaban - 02-04-2013 08:24 AM

ai worth a shot because in past i have also %100 cpu usage per core when im using that ai flag.

also your complexity settings seems high i don't know they can cause %100 cpu usage or not, but you can try to lower them to:

// Max NPC chars for a sector to prevent lag
MaxComplexity=64

// Amount of items in one tile so start showing "too many items here"
MaxItemComplexity=25 //i read about this from revisions: maximum item sends to client is this value * 4

// Amount of items in one sector to start showing "x items too complex"
MaxSectorComplexity=2048


RE: Load reduction tips? - Ultima One - 02-04-2013 09:15 AM

will try, tbh i put those up to hide the errors on server start Sad lol


RE: Load reduction tips? - Ultima One - 02-04-2013 10:43 AM

So, Removed that API setting to be just pathfinding, and lowered those you mentioned...

now using just 50% of the core, rather than 90% Smile

One day, we will have a multi-threaded Sphere and this issue will go xD It's a shame I have have high AI and/or allow a higher complexity without Sphere caving in on itself Sad


RE: Load reduction tips? - Ben - 02-04-2013 10:45 AM

// Max NPC chars for a sector to prevent lag
MaxComplexity=64 //This value * 5 is what is actually sent to client

// Amount of items in one tile so start showing "too many items here"
MaxItemComplexity=25 //This value * 30 is what is actually sent to client


RE: Load reduction tips? - Ultima One - 02-04-2013 11:29 AM

Thanks for clarification Ben