Configuring Sphere.ini

From SphereWiki
Jump to: navigation, search
Available languages

Sphere.ini contains all of the internal options for the Sphere emulator. In order to configure your shard, this is the file you will start with. The file itself is pretty self-explanatory, but in order to avoid common mistakes, we're going to add more explanatory comments throughout the file. Comments and additions/changes will be in bold blue text.

Remember to uncomment every line you're gonna use. Example:

If you want to use additional map2, this:

// MAP2=2304,1600,32,2

Should be this:


And so on, with every setting you want to use (MySQL, AutoResdisp, etc).

Let's check the sphere.ini file!

// SPHERE by : Menasoft 1997-2003
// All SPHERE script files and formats are copyright Menasoft & Partners.
// This file may be freely edited for personal use, but may not be distributed
// in whole or in part, in any format without express written permission from
// Menasoft & Partners.  All donations and contributions
// become the property of Menasoft & Partners.

//////// General Information

// Name of your Sphere shard
// The IP of your server, this will be almost always
// The port of your server, this is 2593 by default

// Admin's contact email
// Web page for this server
// GMT offset, from -12 to +12 [London=0, EST=5, etc]

// Official staff language
// Start this as a system service on Win2000, XP, NT

// Enabling this also removes the ability to use the console


// MySql configuration.

// If you want to enable MYSQL, set 1


// This is where the MySQL host is located, localhost if it's on the same machine


// The username for the desired database


// The password for the user


// The name of the database. This is _NOT_ the host, you must set the name of the DB


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

// This can be used to load the same script pack,
// using a different .exe for testing.


// Where your sphereworld.scp and spherechars.scp are located

// Where your sphereaccu.scp and sphereacct.scp is located

// 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

// Where your log files will be saved by sphere

// 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)

// To activate ML-sized map #1 uncomment the next line

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

// Some kind of map patches, used for Map0 and Map1, for example.
// The island Occlo (Map0) is Haven in Map1. This option handles that.
// More recent client versions no longer use map patches, since a separate MAP1.MUL file was
// added to the UO installation.


//////// World Save Information
// How often for Sphere to save your world (minutes)

// How many backup levels to keep. Each level means 7 backups done for it.
// So, 10*7 = 70 backup saves will be storied.

// On would save in the background quietly over a longer period of time, and not interrupt the game
// Off would notify "World save has been initiated" and save faster, but pause the game momentarily

//////// 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

// Store password hashed with MD5

// MD5 is a safer way to store passwords. More Information


// local ip is assumed to be the admin

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

// Min time for a char to exist before delete allowed (in seconds)

// Max number of Guest accounts allowed

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

// Like on some paid forums, this is useful.


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

// Set this to 0 to allow login to encrypted clients

// The official clients use encryption.


// Set this to 1 to allow login to unencrypted clients

// You can use tools such as UO Rice and UOGateway to remove encryption on a client.


// Maximum total open connections to server

// Maximum open connections to server per IP

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

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

// How long logged out clients linger in seconds

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

// Walk limiting code: regen speed (%)

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

// With zero it will log EVERY command used.


// Prefix for ingame commands

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

// 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)

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

// Default setting for all accounts specifying default resdisp.

// 0=Pre-T2A, 1=T2A, 2=LBR, 3=AoS, 4=SE, 5=ML


// Default setting for new accounts specifying default priv level

// Max tooltip (if enabled) to send on each tick (to avoid client flooding)

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

//////// Game Mechanics

// Maximum distance to hear char whispering

// Maximum distance to hear char talking

// Maximum distance to hear char yelling

// Do not allow entering under roof being on horse?

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

// Maximum Distance for Archery

// Speed scale factor for weapons

// The formula is DELAY = SPEEDSCALEFACTOR / ((DEX + 100) * SPEED)


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

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

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

// Are house and boat keys newbied automatically

// Maximum number of items allowed in bank

// Maximum weight in stones allowed in bank

// If 1 vendors will take gold only from backpack

// If 0 vendors will take gold from bank and backpack


// Disable weather effects?

// Default light level in dungeons

// 0 = Bright; 3 = Dark.


// Day light level 0-30

// Night light level 0-30

// Allow manual sector light override?

// Wool Regen Time (in minutes)

// Suppress player speech with 75% of capital letters

// "LETZ AVOID L337 SP33CH DEWD." Will not be displayed.


// 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

// Extra magic flags to control magic/magery behaviour (default:0, 0.55i compatible)
// MAGICF_NODIRCHANGE        = 0x0000001 // Not rotate player when casting/targeting
// MAGICF_PRECAST            = 0x0000002 // Precasting (cast spell before target prompt)
// MAGICF_IGNOREAR           = 0x0000004 // Magic damage ignore ar
// MAGICF_CANHARMSELF        = 0x0000008 // Magic can do damage on self
// MAGICF_STACKSTATS         = 0x0000010 // Different stat spells don't cancel each other out
// MAGICF_FREEZEONCAST       = 0x0000020 // No movement whilst casting
// MAGICF_SUMMONWALKCHECK    = 0x0000040 // Summoned creatures should be able to walk on the target location (e.g. water creatures to be summoned on water)
// MAGICF_NOFIELDSOVERWALLS  = 0x0000080 // Field spells cannot cross over blocking objects

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

// Zero point for sextant coordinates counting

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

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

// Whether PCs get a resurrection robe when they get resurrected.

// Time for a NPC corpse to decay mins

// Time for a player corpse to decay mins

// Base decay time in minutes for items

// Put [NPC] tags over chars

// And [TAME] if the character is tamed.


// Flip dropped items

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

// Monsters run when scared of death

// Monsters may fight each other

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

// Do players receive sounds

// Max number of items to sell to one person at once

// Max level npc trainers can go

// Remember that in skills: 300 = 30.0


// Percent of own ability npcs can train to

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

// To avoid double title as: Lord Lord Knight

// NPCNoFameTitle=0

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

// Remember that in skills: 300 = 30.0


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

// If set to 0, players will start _only_ with their selected skills.


// 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.

// Time in seconds for hitpoint regeneration

// Time in seconds for mana regeneration

// Time in seconds for stamina regeneration

// Time in seconds for food degeneration
// 60*60*24 = 1 day of real life time

// Speech block associated to players

// Speech block associated to pets

//Events related to all NPCs

//Events related to all players

//Events related to all regions

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

// NPC AI settings
// NPC_AI_PATH                  0001    NPC pathfinding
// NPC_AI_FOOD                  0002    NPC food search (objects + grass)
// NPC_AI_EXTRA                 0004    NPC magics, etc
// NPC_AI_ALWAYSINT             0008    Always be as smart as possible with pathfinding
// NPC_AI_INTFOOD               0010    NPC food search (more intelligent and trusworthy)
// NPC_AI_COMBAT                0040    Look for friends in combat
// NPC_AI_VEND_TIME             0080    vendors closing their shops at nighttime
// NPC_AI_LOOTING               0100    loot corpses an the way
// NPC_AI_MOVEOBSTACLES         0200    if moveable items block my way, try to move them

//////// Crime/Murder/Karma/Fame/Guard Settings
// Karma when player goes from good to neutral (from -10000 to 10000)

// How many minutes are criminals flagged for

// Times a player can snoop before becoming a criminal

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

// Amount of murders before we get title

// Looting or carving a blue player is a crime

// Flag players criminal for helping criminals?

// How long do guards linger about in minutes

// Will guards kill instantly or follow normal combat rules

// 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

// 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

// 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.

//////// 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_UNICODE = 00000002 // No on Linux. Enables UNICODE fixes
// EF_New_Triggers = 00000008 // Adds more triggers
// EF_Intrinsic_Locals = 00000020 // Locals can be reference differently. <LOCAL.X> can be referenced as <X>.
// EF_Item_Strict_Comparison = 00000040
// EF_NewPositionChecks = 00000080 // Do not set while server is running !!!
// EF_WalkCheck = 00000100 // Fixes house looting bugs, and other walkchecking related problems.
// 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_UseNetworkMultiVersion = 00400000 // Modify EF_UseNetworkMulti so clients prior to 4.0.0 are unaffected (try this if you find EF_UseNetworkMulti negatively affects older clients). - Do not set while server is running !!!
// EF_UseNetworkMulti = 00800000 // Enable optimized network routines (better) - Do not set while server is running !!!
// EF_Specific = 01000000 // Specific behaviour, not completly tested


// 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 // This enables all FILE commands, information about this command is here
// OF_NoItemNaming = 00000100 // If enabled, prevents Sphere from naming crafted items ("Crafted by...")
// 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_Specific = 01000000 // Specific behaviour, not completly tested


// 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 = 0

// 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 = 0

// 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            01 // Basic KR features
FeatureKR = 0

// In game effects to turn on and off
// Messages echoed to the server console while in debug mode
// DEBUGF_NPC_EMOTE     = 00001
// 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

// Allow rapid Buy/Sell through Buy/Sell agent

// Console Hears all that is said on the server

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

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

// Disconnect inactive socket in x min

// Always force a full garbage collection on save

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

// Length of the game world minute in real world in seconds

// Bit Mask of the subjects you want to log when logging is on
// LOGM_ACCOUNTS        0x00080
// LOGM_SAVE            0x00200 // world save status.
// LOGM_CLIENTS_LOG     0x00400 // all clients as they log in and out.
// LOGM_GM_PAGE         0x00800 // player gm pages.
// LOGM_PLAYER_SPEAK    0x01000 // All that the players say.
// LOGM_GM_CMDS         0x02000 // Log all GM commands.
// LOGM_CHEAT           0x04000 // Probably an exploit !
// LOGM_KILLS           0x08000 // Log player combat results.
// LOGM_HTTP            0x10000
//                      0x1ffff // log everything

// Amount of time to keep map data cached in sec

// Max NPC chars for a sector to prevent lag

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

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

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

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

// 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.

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

// Allow casting while equipped

// Words of power for player using magic

// Words of power for staff using magic

// Words of power font

// Words of power color

// Reagents lost if magic fails

// Magic requires reagents

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

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

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

// Teleport effect for GMs and players. Setting 0 disables the effect

//////// Experience and Level system

// Enable experience system

// Experience system settings:
//  0001    gain experience in combat
//  0002    gain experience in crafts
//  0004    allow experience to go down
//  0008    limit experience decrease by a range witheen a current level
//  0010    auto-init EXP/LEVEL for NPCs if not set in @Create
//  0020    allow trigger @ExpChange
//  0040    allow trigger @ExpLevelChange

// If combat experience gain is allowed, use these percents for gaining exp in
// Player versus Monster and Player versus Player combats. Value 0 disables gain.

// Enable levels system (as a part of experience system)

// Level system settings:
//  linear = 0  (each NextLevelAt exp will give a level up)
//  double = 1  (you need (NextLevelAt * (level+1)) to get a level up)

// Amount of experience to raise to the next level

//////// external program support

// TNG
// on Linux do sth like "/srv/www/"
// on Windows do sth. like "C:\foo\bar\"

//////// Webpage Settings

// Note, that you can catch error codes by creating sphere404.htm and so on
// for all HTTP error codes sphere support.

// Determines what html file is used as base for the status page
// Determines where the status page is saved
// In seconds, how often the status file is updated
// Required PLevel to view this page (0 = anyone, 6 = admins only)

//////// Abuse Control

// Block these ips from the server
// 255 is a wildcard, so disables anyone connecting.

//////// Connection Information

//First line should be the name of your shard (this is what people see when they connect)
//Second line should be the IP of your shard (this is almost always
//Third line should be the port of your shard (this should be whatever ServPort is set to)

// For help configuring this section, see Rattlehead's Single Shard Listing For Routers tutorial

//Uncomment next 3 lines below this if you have a router
//First line should be a name different than your shard name above this
//Second line should be your real/external IP (
//Third line should be the shard port (this should be whatever ServPort is set to)