Server.ini
The file server.ini is the initialization file for subgame that controls all of the global settings. Individual arena's settings are stored in arenaname.cfg. The following are the various sections in the server.ini.
Contents
- 1 Validation
- 2 Custom
- 3 Arena
- 4 Comms
- 5 Misc
- 5.1 DisableShareware
- 5.2 RegisterKickShareware
- 5.3 MaxSharewarePlayers
- 5.4 MaxPlayers
- 5.5 MaxSharewareTime
- 5.6 DisableSharewareNames
- 5.7 DisableSharewareShips
- 5.8 DisableSharewareScores
- 5.9 MenuKickOutDelay
- 5.10 NoAntiInSafe
- 5.11 LockFreqs
- 5.12 PositionDataAccess
- 5.13 AlertCommand
- 5.14 AllowPubScorereset
- 5.15 AllowPvtScorereset
- 5.16 TimerDropFlagTerritoryRadius
- 5.17 ShipTypeSwitchResetPeriod
- 5.18 CheckWeapons
- 5.19 CheckFastBombing
- 5.20 FastBombingThreshold
- 5.21 LocalChat
- 5.22 ForceObsceneCheck
- 5.23 NoFlagRewardLimit
- 5.24 LogPoints
- 5.25 PointUpdateDiff
- 5.26 JackpotBroadcastPoints
- 5.27 ServerLog
- 5.28 KeepAliveDelay
- 5.29 DefaultLevelFile
- 5.30 Port
- 5.31 AllowVIEClients
- 5.32 StaffChat
- 5.33 ForceContinuumOnly
- 5.34 ServerIP
- 5.35 SafetyOnly
- 6 CPU
- 7 Permission
- 8 Password
- 9 Billing
- 10 Advertise
- 11 Directory
Validation
See Validation.
Custom
These settings configure custom arenas. (I think?)
ArenaMode
Datatype: Enumeration.
This controls the ownership of private arenas. By "own a new subarena", it means that if the selected level of player creates a new subarena with ?go, and the arena does not have settings associated yet, Subgame2 will create settings for that arena and assign ownership to the creating player. If the player creating the arena is below the selected level, Subgame2 will still create settings for the arena, but will not grant ownership.
- Any player can own a new subarena
- Mods+ can own a new subarena
- SMods+ can own a new subarena
- Sysops can own a new subarena
- Special: New subarenas will just use spawn.cfg (that is, a new CFG must be placed in the server directory manually to give an arena its own settings)
Setting the value to 0 disables subarenas altogether.
Arena
These settings configure default arena settings.
ArenaMaxPlayers
Datatype: Count.
Number of players allowed in any arena. (This can be overridden in the Misc Settings for an arena.)
ArenaDesiredPlayers
Datatype: Count.
Subgame will create a new arena for entering players once an arena hits this population. This is different from the above setting in that users can still manually enter an arena with this population.
ArenaMinimumPlayers
Datatype: Count.
Minimum number of players in a public arena before subgame automatically sends a message advising players to move on.
SpawnKeepScores
Datatype: Boolean (1=yes,0=no).
Whether player-spawned arenas keep track of scores.
MaxArenas
Datatype: Count.
The maximum number of arenas subgame will allow.
MaxArenasMemory
Datatype: Bytes.
The maximum amount of memory subgame will allocate for arena data. Normally the default should suffice.
Comms
Communication (networking) settings.
MaxQueueToLogin
Datatype: Count.
Maximum number of clients waiting to login. Any that try when this limit is exceeded will receive the message "The server is busy handling other login requests. Please try again in a few moments. If problem persists, seek help at the Tech Support Forums found at www.subspacehq.com".
PacketHistoryMax
IncomingBufferSize
OutgoingBufferSize
EncryptMode
UnreliableBufferSize
TransportBufferSize
FlushTime
Datatype: Milliseconds.
Subgame will queue position packets for this amount of time before sending them. Setting this too high will severly lag your zone.
BandwithIdleTime
Datatype: Seconds.
Subgame will stop sending position packets to a spectator after this time of inactivity. Useful for saving bandwidth.
SelectTime
Datatype: Milliseconds.
Time delay subgame should wait for incoming packets before continuing on. This is recommended over CPU:SleepTime.
Misc
Miscellaneous settings.
Datatype: Boolean.
Should subgame kick shareware users in favor of registered users when server is full? (Leave set to 0.)
Datatype: Count.
Maximum number of shareware players allowed on server. Special Value: -1 = unlimited.
MaxPlayers
Datatype: Count.
Maximum total players allowed in zone.
Datatype: Boolean.
Disables the ability for demo players to have customized names. The default displayed name will just be "~Demo".
Datatype: Boolean.
Disables the ability for demo players to use ships 5-8.
Datatype: Boolean.
Disables the ability for demo players to retain their scores between sessions. Note: Scores will always be disabled if the players do not have a name.
MenuKickOutDelay
Datatype: Hundredths of seconds.
Amount of time a player may take logging in before server disconnects client.
NoAntiInSafe
Datatype: Boolean.
If enabled, subgame will ignore AntiWarp of a player in a safe zone.
LockFreqs
Datatype: Boolean.
Determines whether locking an arena locks freqs as well as ships. (1.34.3+)
PositionDataAccess
Datatype: Enumeration.
Determines staff level that will receive extra position data when speccing. Useful if Misc Settings#ExtraPositionData is disabled.
- 0=Sysop (default)
- 1=SMod+
- 2=Mod+
AlertCommand
Datatype: Comma-delimited list.
If a player types any of these commands preceeded by a '?' followed by a message, subgame will send the message to all online staff. This is a replacement to the BanG ?cheater command. (1.34.3+)
AllowPubScorereset
Datatype: Boolean.
If enabled, players in public arenas may use the ?scorereset command.
AllowPvtScorereset
Datatype: Boolean.
If enabled, players in private arenas may use the ?scorereset command.
TimerDropFlagTerritoryRadius
Datatype: Tiles.
All flags dropped when timer expires (non-neutral) will drop this radius from the ship, overriding Flag Settings#FlagTerritoryRadius. This is useful for respawning neuted flags (set FlagTerritoryRadius to 0). Special value: 0 = always use FlagTerritoryRadius.
ShipTypeSwitchResetPeriod
Datatype: Milliseconds (?).
Determines length of time for Security Settings#MaxShipTypeSwitchCount. Special Value: 0 = disabled.
CheckWeapons
Datatype: Boolean.
If enabled, any of the following conditions will trigger a security violation. The checks do not apply to SMod+.
- Bullet fired with level > [ship]MaxGuns + [Flag]FlaggerGunUpgrade
- Bouncing bullet fired and [PrizeWeight]BouncingBullets is 0 and [Cost]Bounce is 0
- Bomb fired with level > [ship]MaxBombs + [Flag]FlaggerBombUpgrade
- Prox bomb fired and [PrizeWeight]Proximity is 0 and [Cost]Prox is 0
- Bomb fired with shrap > [ship]ShrapnelMax
- Bomb fired with bouncing shrap and [PrizeWeight]BouncingBullets is 0 and [Cost]Bounce is 0
- Mine is fired and [ship]MaxMines is 0
- A prize is picked up and [PrizeWeight] of that prize is 0
- Stealth is turned on and [ship]StealthStatus is 0
- Cloak is turned on and [ship]CloakStatus is 0
- XRadar is turned on and [ship]XRadarStatus is 0
- Anti-Warp is turned on and [ship]AntiWarpStatus is 0
- Player uses UFO
CheckFastBombing
Datatype: Bitfield.
- 1 - Send sysop alert when fastbombing is detected
- 2 - Filter out fastbombs
- 4 - Kick fastbombing player off
FastBombingThreshold
See above.
LocalChat
Datatype: Comma-delimited list.
Listed chat channels are local to the zone.
ForceObsceneCheck
Datatype: Boolean.
Forces players to have obscene checking on.
NoFlagRewardLimit
Datatype: Boolean.
Disables the default reward multiplier limit of 2 for Flag Settings#FlagRewardMode.
LogPoints
PointUpdateDiff
Datatype: Points.
Number of points that will trigger a score update sent to clients.
JackpotBroadcastPoints
Datatype: Boolean.
If enabled, subgame will broadcast the jackpot points to all zones on the biller. Not recommended.
ServerLog
Datatype: Boolean.
If enabled, server will keep a text file log of events.
KeepAliveDelay
Datatype: Milliseconds.
Delay between keepalive packets sent to clients. Should not be changed.
DefaultLevelFile
Datatype: String.
Level file (such as _bzw.lvl) that zone will use for public arenas.
Port
Datatype: Short.
Game port that subgame will user. Keep it above 1000 to avoid interference with other networking applications. This needs to be different for every zone running on the same server.
AllowVIEClients
Datatype: Boolean.
Determines whether VIE SubSpace users are allowed to enter zone at all.
StaffChat
Datatype: Comma-delimited list.
These chat channels are only joinable by Mods+.
ForceContinuumOnly
Datatype: Boolean.
Determines whether only Continuum users are allowed to play.
ServerIP
Datatype: IP Address.
WAN IP address of server computer. This can be found using http://www.whatismyip.com/ (easiest), ipconfig, or a router's status page.
SafetyOnly
CPU
These settings determine subgame's CPU usage. Usually it performs well, so these should not be changed.
If you don't want subgame to take large amounts of CPU use these settings (or similar):
ProcessMaxTime=4 SleepPerIteration=1 SleepTime=10
LoopDelay
ProcessMaxTime
How long in CPU.
SleepPerIteration
Turns sleep on.
SlowIterationWarningLevel
SleepTime
How long until next in CPU.
Permission
These settings restrict which clients may connect to your zone.
AllowBadMachineId
AllowLowBandwidth
MinimumSecondsToLogin
Amount of time you must have played on your username in ?usage (in seconds)
PermissionMaxPoints
PermissionMode
Datatype: Enumeration.
- Only players with their username in permit.txt is allowed to enter
- Players are allowed to enter, but must have their username in permit.txt to be able to play in a ship
AutoPermissionPoints
AutoPermissionIDList
AutoPermissionMessage
Password
Passwords for various player levels. Change to your heart's content.
SysopPassword
EnergyPassword
ModeratorPassword
SuperModeratorPassword
VIPPassword
Billing
Configures subgame's interaction with the biller.
LogMessages
Datatype: Boolean.
Enables "logging" of commands to the biller. It is recommended to turn this off, as it normally just wastes bandwidth.
IP
Datatype: IP/DNS address.
The address of the biller. If you are running the biller on the same computer as subgame, set this to localhost.
Password
Datatype: String.
The password to connect to the biller. Normally, this should be the same as subbill.ini's Misc:Password.
ServerName
Datatype: String.
The name of the zone that will be sent to the biller upon connection. This will also be sent to the directory server.
Port
Datatype: Integer.
The port to connect to the biller, which should be equal to subbill.ini's Misc:Port.
ServerId
Datatype: Integer.
The ServerID sent to the biller. This is not often used and should be equal to Misc:Port.
GroupId
Datatype: Integer.
The group this server will join on the biller. This has to do with group operators, and is recommended to leave set to 1
ScoreId
Datatype: Integer.
The ScoreID of the server which the biller will use to identify your server between connections. This should normally be the same as Misc:Port.
ReconnectTime
Seems to have no effect.
AttemptTime
Datatype: Hundredths of seconds.
How long subgame will attempt unsuccessfully to connect to the biller before it gives up.
Advertise
These settings control subgame's built-in advertisement capability. To use advertisements, just create bitmaps in the SS Palette and save them in the subgame directory as ad0.bmp,ad1.bmp, etc. Prefix the name with "s_" to send to shareware players, with "r_" to send to registered players, and "b_" to send to both. For example, "b_ad0.bmp". Subgame will then randomly pick advertisements to display to players.
SendMode
Datatype: Sum (bitfield).
Determines when advertisements are sent.
- 1 = send them when the player enters the zone.
- 2 = send them when player dies.
DisplayMode
Datatype: Enumeration.
- 0 = at top of screen behind all other graphics.
- 1 = at top of screen on top of all other graphics.
- 2 = floating around like a backdrop.
Duration
Datatype: Milliseconds.
Length of time an advertisement is displayed. Special Value: 0 = always on.
Directory
These settings configure subgame's interaction with the directory server.
IP
Datatype: IP/DNS list.
List of directory servers subgame will send its entry to. As of April 2009, the following list is recommended:
sscentral.sscuservers.net,sscentral.trenchwars.org,ssdir.playsubspace.com,sharvil.nanavati.org
Description
Datatype: String.
This description will be sent to the directory server to be associated with your zone. Include an ss:// DNS address to have Continuum keep your IP up to date (see Server Configuration FAQ). You are advised not to use the "&" character inside the description, it displays incorrectly on some clients.
NamePassword
Datatype: String.
The password associated with the zone's server prefix. All zones with the same prefix must have the same NamePassword or the Directory server will not list them.
Port
Datatype: Integer.
Leave this set to 4991.