addBot (command)
Syntax!addBot [<name> [<side> <ai>]] - adds a local AI bot (missing parameters are taken from "localBots" preset setting if possible)
Example(s)"!addBot joe 0 E323AI" adds a local AI bot named "joe", using first side declared in current mod, and using AI "E323AI"
"!addBot Joechicken 0 Chicken: Normal" adds a chicken bot with normal difficulty level
"!addBot Bot1" adds a bot named "Bot1" declared in "localBots" preset setting

addBox (command)
Syntax!addBox <left> <top> <right> <bottom> [<teamNumber>] - adds a new start box (0,0 is top left corner, 200,200 is bottom right corner)
Example(s)"!addBox 150 150 200 200 4" places a box on the bottom right corner of the map for team 4

advert (command)
Syntax!advert [<newAdvertMessage>] - updates the advert message or disables advert system if no message is provided (lines are separated by '|' character)
Example(s)"!advert Don't miss next tourney sunday 9pm GMT!" sets the advert message to "Don't miss next tourney sunday 9pm GMT!"

advertDelay (preset setting)
Explicit nameAdvert delay
DescriptionDelay in minutes between automatic advert messages (refer to advertMsg).
A value of 0 disables advert system.
Format / Allowed valuesInteger
Default value15

advertMsg (preset setting)
Explicit nameAdvert message
DescriptionMessage sent to battle lobby every advertDelay minutes (lines are separated by character '|').
Advert messages aren't sent when a game is in progress or when noone is in battle lobby.
This is a special preset setting: it cannot be changed using !set command, you have to use the !advert command instead.
Format / Allowed values<null> (functionality disabled)
Any string
Default value<null>

alertDelay (global setting)
Explicit nameAlert delay
DescriptionDelay in hours before re-sending alerts to a user
Format / Allowed valuesInteger
Default value6

alertDuration (global setting)
Explicit nameAlert duration
DescriptionAfter this delay (in hours), alerts are automatically discared. This delay shouldn't be too low because an AutoHost admin could miss alerts if he doesn't connect to lobby server very often.
Format / Allowed valuesInteger
Default value72

alertLevel (global setting)
Explicit nameAlert level
DescriptionMinimum AutoHost access level required to receive AutoHost alerts (do not set this too low or you will spam everyone !)
Format / Allowed valuesInteger
Default value130

allowGhostMaps (preset setting)
Explicit nameAllow ghost maps
DescriptionIf enabled and if dedicated Spring server is used (see springServerType), ghost maps will be available for "!list maps", "!set map", and "!map" commands (and automatic map rotation).
A ghost map is a map which isn't available locally on the server, but whose hash has been learned (refer to autoLearnMaps and/or "!learnMaps" command). Only the "choose in game" start position type is allowed for such maps.
Like normal maps, ghost maps still have to be included in current map list to be available (refer to mapList).
Format / Allowed values0: disabled
1: enabled
Default value0

allowMapOptionsValues (preset setting)
Explicit nameAllow map options values
DescriptionWhen a map option isn't defined in current battle preset, it takes the default value provided by the map. The other allowed values for such a map option depend on the "allowMapOptionsValues" preset setting:
If disabled, the map options that aren't defined in current battle preset cannot be modified.
If enabled, the map options that aren't defined in current battle preset can take the allowed values provided by the map.
Format / Allowed values0: disabled
1: enabled
Default value1

allowModOptionsValues (preset setting)
Explicit nameAllow mod options values
DescriptionWhen a mod option isn't defined in current battle preset, it takes the default value provided by the mod. The other allowed values for such a mod option depend on the "allowModOptionsValues" preset setting:
If disabled, the mod options that aren't defined in current battle preset cannot be modified.
If enabled, the mod options that aren't defined in current battle preset can take the allowed values provided by the mod.
Format / Allowed values0: disabled
1: enabled
Default value1

allowSettingsShortcut (global setting)
Explicit nameAllow settings shortcut
DescriptionIf enabled, SPADS will allow clients to use following shortuct commands:
Instead of "!list <dataType>", it is possible to type directly "!<dataType>".
Instead of "!set <settingName> <value>", it is possible to type directly "!<settingName> <value>" (same for "hSet", "bSet" ...).
Instead of "!help set <settingName>", it is possible to type directly "!help <settingName>" (same for "hSet", "bSet" ...).
Format / Allowed values0: disabled
1: enabled
Default value1

allowedLocalAIs (preset setting)
Explicit nameAllowed local AIs
DescriptionThis is the list of allowed AIs for local bots. Only these AIs are allowed for !addbot command.
(local bots require Spring headless, see springServerType)
Format / Allowed values[<ai>[;<ai2>...]]
  where <ai> is the exact name of the AI (example: "Chicken: Normal")
Default valueE323AI;HughAI;KAIK;RAI

auth (command)
Syntax!auth [<password>] - (un)authenticates yourself to the AutoHost (LAN mode only)
Example(s)"!auth foo" authenticates myself to the AutoHost with password "foo"
"!auth" unauthenticates myself to the AutoHost

autoAddBotNb (preset setting)
Explicit nameAuto-add bot number
DescriptionThis number is used by SPADS to determine the number of local bots to add/remove automatically, according to following rules:
- If "humans vs bots" mode is selected (i.e., nbTeams is set to 1), then "autoAddBotNb" is the total number of bots which must be in the bot team.
- Else if FFA mode is selected (i.e., teamSize is set to 1), then "autoAddBotNb" is the minimum number of players or bots to maintain in the battle room
- Else if TeamFFA mode is selected (i.e., minTeamSize is different than 1), then "autoAddBotNb" is the minimum number of teams to fill with minTeamSize (or teamSize if minTeamSize is 0) players and bots
- Else, "autoAddBotNb" is the minimum number of players or bots to maintain in each team
Auto added bots are taken from localBots and always obey the maxLocalBots and maxBots limits.
(local bots require Spring headless, see springServerType)
Format / Allowed valuesInteger
Default value0

autoBalance (preset setting)
Explicit nameAuto-balance mode
DescriptionSpecifies if and when teams must be automatically balanced.
When autoBalance is set to "on", teams are automatically balanced as soon as all following conditions are fulfilled:
- there are at least minPlayers players in the battle lobby
- the target number of players (1) is reached
- teams can be made even (2)
The "advanced" auto-balance mode works in the same way, except that it doesn't check if the target number of players is reached. It auto-balances as soon as all other conditions are fulfilled.
(1) The target number of players is computed from nbTeams, teamSize, and nbPlayerById (target number of players = nbTeams * teamSize * nbPlayerById)
(2) i.e. current number of players in battle lobby is a multiple of nbTeams
Format / Allowed valuesoff: auto-balance disabled
on: auto-balance enabled
advanced: auto-balance enabled even if target number of players isn't reached
Default valueadvanced

autoBlockBalance (preset setting)
Explicit nameAuto-block balance
DescriptionIf enabled, SPADS will prevent players from changing their ID/team once teams have been balanced.
Format / Allowed values0: disabled
1: enabled
Default value1

autoBlockColors (preset setting)
Explicit nameAuto-block colors
DescriptionIf enabled, SPADS will prevent players from changing their color once colors have been fixed.
Format / Allowed values0: disabled
1: enabled
Default value0

autoCallvote (preset setting)
Explicit nameAuto-call vote
DescriptionWhen enabled, if a user tries to execute a command directly whereas he only has sufficient rights to call a vote for this command, then SPADS will automaticall call the vote for the user instead of trying to execute the command directly.
Format / Allowed values0: disabled
1: enabled
Default value1

autoFixColors (preset setting)
Explicit nameAuto-fix colors mode
DescriptionSpecifies if and when player colors must be automatically fixed.
When autoFixColors is set to "on", player colors are automatically fixed as soon as all following conditions are fulfilled:
- there are at least minPlayers players in the battle lobby
- the target number of players (1) is reached
- teams can be made even (2)
The "advanced" auto-fix colors mode works in the same way, except that it doesn't check if the target number of players is reached. It auto-fixes colors as soon as all other conditions are fulfilled.
(1) The target number of players is computed from nbTeams, teamSize, and nbPlayerById (target number of players = nbTeams * teamSize * nbPlayerById)
(2) i.e. current number of players in battle lobby is a multiple of nbTeams
Format / Allowed valuesoff: auto-fix colors disabled
on: auto-fix colors enabled
advanced: auto-fix colors enabled even if target number of players isn't reached
Default valueadvanced

autoHostInterfaceLogLevel (global setting)
Explicit nameAutoHost interface log level
DescriptionLog level of the AutoHost interface module
Format / Allowed values0: critical
1: errors
2: warnings
3: notices
4: information
5: debug (all messages sent and received on the interface are logged!)
Default value4

autoHostPort (global setting)
Explicit nameAutoHost private port
DescriptionUDP port used for local communication between AutoHost and Spring server
Format / Allowed valuesAny valid port number
Default value8454

autoLearnMaps (global setting)
Explicit nameAutomatic map learning
DescriptionSpecifies if SPADS must learn automatically all the maps hosted by the other hosts, so that it can host them in ghost-map mode later (without having them locally on the server)
Format / Allowed values0: disabled
1: enabled
Default value0

autoLoadMapPreset (preset setting)
Explicit nameAuto-load map preset
DescriptionIf enabled, SPADS will automatically load map presets when map is changed. If the corresponding map preset is not found, the default map preset named "_DEFAULT_.smf" is loaded if it exists.
A map preset is a global preset defined in spads.conf which has the same name as a map, with .smf suffix.
Map presets can be useful to automatically adjust allowed team sizes according to the map for instance.
Format / Allowed values0: disabled
1: enabled
Default value0

autoLoadPlugins (global setting)
Explicit nameAuto-loaded plugins
DescriptionContains the names of the SPADS plugins that will be automatically loaded on start, separated by ';'
Format / Allowed values<null>: no plugin loaded autmatically
<pluginName>[;<pluginName2>[...]]: plugins <pluginName>, <pluginName2>[...] will be automatically loaded on start
Default value<null>

autoLock (preset setting)
Explicit nameAuto-lock mode
DescriptionSpecifies if and when battle lobby must be automatically locked/unlocked based on the number of players (this setting is totally independant from autoLockClients, which configures auto-locking based on total number of clients, i.e. players and spectators).
When autoLock is set to "on", the battle lobby is automatically locked when target number of players (1) is reached.
The "advanced" auto-lock mode works in the same way, except that if there are more players than the target number of players (2) and teams cannot be made even (3), then battle lobby is automatically unlocked until enough players join for teams to be made even again.
(1) The target number of players is computed from nbTeams, teamSize, and nbPlayerById (target number of players = nbTeams * teamSize * nbPlayerById)
(2) This can happen when a spectator unspecs after battle has been automatically locked for instance
(3) i.e. current number of players in battle lobby isn't a multiple of nbTeams
Format / Allowed valuesoff: auto-lock based on number of players in battle lobby is disabled
on: auto-lock battle lobby when there are enough players
advanced: auto-lock battle lobby when there are enough players and teams can be made even
Default valueon

autoLockClients (global setting)
Explicit nameNumber of clients for auto-lock
DescriptionWhen this number of clients (players and spectators) is in the battle lobby, SPADS auto-locks the battle.
This is useful when you know your network connection cannot support more than x clients, should they be players or spectators.
This is different from maxPlayers, which configures the hosting room capacity regarding number of players only.
This is also different from autoLock, which configures auto-locking based on number of players only.
When set to 0, it disables the auto-lock on client count functionality.
Format / Allowed valuesInteger
Default value64

autoLockRunningBattle (preset setting)
Explicit nameAuto-lock running battle
DescriptionWhen enabled, the battle lobby is automatically locked when a game is running (players won't be able to join the battle lobby when the game is in progress).
Format / Allowed values0: disabled
1: enabled
Default value0

autoManagedSpringDir (global setting)
Explicit nameAuto-managed Spring directory
DescriptionLocation of the Spring binary files downloaded automatically by SPADS when Spring version auto-management is enabled (cf autoManagedSpringVersion). This directory path can be an absolute path or a path relative to varDir directory.
Format / Allowed valuesAny writable directory
Default valuespring

autoManagedSpringVersion (global setting)
Explicit nameAuto-managed Spring version
DescriptionIf this setting is defined, then engine version auto-management is enabled: SPADS automatically downloads and uses engine binaries matching the version/release specified (auto-downloaded binaries are stored in the directory specified by autoManagedSpringDir).
The desired Spring version can be specified as a version number directly (for example: "103.0.1-1272-g170516f", "103.0" ...), or as a release name ("stable", "testing" or "unstable"). When a version number is used, SPADS will stick to this version until the setting is changed manually. When a release name is used, SPADS will stay up to date with the corresponding official Spring release by automatically downloading and using new Spring binary files when needed (the "stable" release is the current recommended Spring version, the "testing" release is the next Spring release candidate, and the "unstable" release is the latest develop version). A check delay and an auto-restart mode can optionnaly be provided to alter default behaviour (see below).
When Spring version auto-management is enabled, springServerType must be defined to specify which type of Spring server must be used (dedicated or headless). The auto-managed Spring version setting and the custom Spring installation settings are mutually exclusive: either Spring version auto-management is enabled and the custom Spring installation settings (unitsyncDir and springServer) must not be defined, or Spring version auto-management is disabled and the custom Spring installation settings (unitsyncDir and springServer) must be defined.
Engine version auto-management can also be enabled for any Spring-based engine whose releases are stored on GitHub. In this case a GitHub-specific prefix must be added to the value described above with following format:
[GITHUB]{owner=<repositoryOwner>,name=<repositoryName>,tag=<releaseTagTemplate>,asset=<assetRegularExpresion>}
  <repositoryOwner> is the name of the GitHub user/organization who owns the repository
  <repositoryName> is the name of the GitHub repository containing the engine releases
  <releaseTagTemplate> is the template of the tags used for the releases. It must contain the "<version>" placeholder indicating where the engine version is located in the tag name, and it can contain the "<branch>" placeholder indicating where the Git branch is located in the tag name (for multi-branch tag templates).
  <assetRegularExpression> is the regular expression used to select the release asset to download and install. This regular expression can contain the "<os>" and "<bitness>" placeholders: "<os>" will be automatically replaced by the current operating system ("linux" or "windows"), and "<bitness>" will be replaced by the system bitness ("64" or "32").
As for official Spring engine, it is possible to select a specific engine version number or an engine release: the "stable" release is the release tagged "Latest" on GitHub, the "testing" release is the most recent release tagged "Pre-release" or "Latest" on GitHub, and the "unstable" release is simply the most recent release available on GitHub (ignoring release tags).
As a special case of engine auto-management from GitHub, it is also possible to use the "[RECOIL]" prefix instead of "[GITHUB]{owner=...}". The "[RECOIL]" prefix is simply a shortcut for "[GITHUB]{owner=beyond-all-reason,name=spring,tag=spring_bar_{<branch>}<version>,asset=.+_<os>-<bitness>-minimal-portable\.7z}".
When using Recoil engine, two additional rolling releases are available for engine auto-management: "bar" and "barTesting", which correspond to the versions used by official "Beyond All Reason" launcher.
Format / Allowed values<null>: Spring version auto-management is disabled (the custom Spring installation specified by unitsyncDir and springServer is used instead)
<springVersionNumber>: SPADS auto-downloads Spring binaries for this specific version if needed, and sticks to this version
<springRelease>: SPADS stays up to date with the selected Spring release ("stable", "testing", "unstable")
<springRelease>;<checkDelay>;<autoRestartMode>: same, with customization of check delay and auto-restart mode
    <checkDelay> is the delay in minutes between Spring version checks for selected release (integer). Default is "60" for "stable" Spring release, "30" for "testing" and "15" for "unstable"
    <autoRestartMode> specifies if and when SPADS must auto-restart after Spring release updates, allowed values: "off", "whenEmpty", "whenOnlySpec", "on". Default is "whenEmpty"
[GITHUB]{owner=<repositoryOwner>,name=<repositoryName>,tag=<releaseTagTemplate>,asset=<assetRegularExpresion>}<engineVersionNumberOrRelease>
[RECOIL]<engineVersionNumberOrRelease>
Default value%autoManagedSpringVersion% (set during installation)

autoReloadArchivesMinDelay (global setting)
Explicit nameMinimum delay before auto-reloading Spring archives
DescriptionSPADS can auto-detect changes in Spring archives, and auto-reload them if needed.
If the autoReloadArchivesMinDelay is set to 0, then this feature is disabled, else it is enabled.
When this feature is enabled, the autoReloadArchivesMinDelay contains the minimum delay in seconds to wait since the last change in Spring archives before reloading them automatically (this is useful to avoid reloading incomplete archives that are still being uploaded for instance).
Format / Allowed valuesInteger
Default value30

autoRestartForUpdate (global setting)
Explicit nameAuto-restart for update
DescriptionSpecifies if SPADS must check regularly if its packages have been updated, and how it must restart on update.
Format / Allowed valuesoff: SPADS doesn't check if its packages have been updated, and thus never auto-restarts for update
whenEmpty: SPADS auto-restarts for update only when no game is running and battle is empty
whenOnlySpec: SPADS auto-restarts for update only when no game is running and battle is empty or only contains spectators
on: SPADS auto-restarts for update when no game is running
Default valuewhenEmpty

autoSaveBoxes (global setting)
Explicit nameAuto-save start boxes
DescriptionIf enabled, SPADS will automatically save the start boxes when a game is launched.
Format / Allowed values0: disabled
1: enabled
2: enabled only if there is no start box saved for this map yet
Default value1

autoSetVoteMode (preference)
Explicit nameAuto-set vote mode
DescriptionIf enabled, SPADS will automatically set your "voteMode" preference (refer to voteMode) according to following rules:
If a vote has been called and you didn't vote before it expired, then your "voteMode" preference is set to "away".
If you vote while your "voteMode" preference is set to "away", then your "voteMode" preference is set back to "normal".
Format / Allowed values0: disabled
1: enabled
Default value1

autoSetVoteMode (preset setting)
Explicit nameDefault value of "Auto-set vote mode" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to autoSetVoteMode for more information.
Format / Allowed values0: disabled
1: enabled
Default value1

autoSpecExtraPlayers (preset setting)
Explicit nameAuto-spec extra players
DescriptionWhen enabled, if the target number of players is reached in the battle lobby then SPADS will automatically force spectator mode for next players who join or try to unspec.
The target number of players is computed from nbTeams, teamSize, and nbPlayerById (target number of players = nbTeams * teamSize * nbPlayerById)
Format / Allowed values0: disabled
1: enabled
Default value1

autoStart (preset setting)
Explicit nameAuto-start mode
DescriptionSpecifies if and when game must be automatically started.
When autoStart is set to "on", the game is automatically started as soon as all following conditions are fulfilled:
- there are at least minPlayers players in the battle lobby
- the target number of players (1) is reached
- teams are even
- no AI bot is enabled
- all players are ready and synced, and no player is in-game
The "advanced" auto-start mode works in the same way, except that it doesn't check if the target number of players is reached. It auto-starts as soon as all other conditions are fulfilled.
(1) The target number of players is computed from nbTeams, teamSize, and nbPlayerById (target number of players = nbTeams * teamSize * nbPlayerById)
Format / Allowed valuesoff: auto-start disabled
on: auto-start enabled
advanced: auto-start enabled even if target number of players isn't reached
Default valueon

autoStop (preset setting)
Explicit nameAuto-stop mode
DescriptionSpecifies if and when game must be automatically stopped, with a configurable delay.
Format / Allowed valuesnoOpponent: game is auto-stopped when game is over or when there is only one team with connected alive player(s) (delay: 5 seconds)
noOpponent(<delay>): game is auto-stopped when game is over or when there is only one team with connected alive player(s) (delay: <delay> seconds)
onlySpec: game is auto-stopped when game is over or when only spectators are still connected (delay: 5 seconds)
onlySpec(<delay>): game is auto-stopped when game is over or when only spectators are still connected (delay: <delay> seconds)
gameOver: game is auto-stopped when game is over only (delay: 5 seconds)
gameOver(<delay>): game is auto-stopped when game is over only (delay: <delay> seconds)
off: game is not auto-stopped by AutoHost
Default valuegameOver

autoUpdateDelay (global setting)
Explicit nameAuto-update delay
DescriptionDelay in minutes between checks of SPADS repository for update.
A value of 0 disables auto-update when SPADS is running, but SPADS keeps auto-updating at start if the <autoUpdateRelease> parameter is defined.
Format / Allowed valuesInteger
Default value60

autoUpdateRelease (global setting)
Explicit nameAuto-update release
DescriptionName of the SPADS release to auto-update to.
Format / Allowed values<null>: auto-update is disabled
stable: auto-update to "stable" release (latest official release)
testing: auto-update to "testing" release (public testing release)
unstable: auto-update to "unstable" release (release in development)
contrib: auto-update to "contrib" release (public testing release + unchecked external patches)
Default value%release% (set during installation)

awayVoteDelay (global setting)
Explicit nameAway vote delay
DescriptionConfigures the delay to wait before triggering automatic blank votes for players who are in away vote mode (see voteMode). The delay can be expressed as a number of seconds or a percentage of the vote time (see voteTime).
This global setting can also be overridden individually for each command in the commands rights configuration file (see commandsFile). The command-specific setting value must be declared at the end of the corresponding command declaration line, in parentheses. If multiple settings are overridden this way for a command, they must be separated by a comma. For example, to use specific values of "voteTime" and "awayVoteDelay" for the "stop" command, the command declaration line could be: "[stop](voteTime:60,awayVoteDelay:50%)".
Format / Allowed values<null>: the away vote mode is disabled
Integer: number of seconds to wait before triggering automatic blank votes
<percent>%: percentage of total vote time to wait before triggering automatic blank votes
Default value20

bKick (command)
Syntax!bKick <username> - kicks <username> from battle lobby
Example(s)"!bKick badBoy" kicks badBoy from battle lobby

bPreset (command)
Syntax!bPreset <battlePreset> - changes current battle preset (use "!list bPresets" to list available battle presets)
Example(s)"!bPreset no_vlrpc" applies the no_vlrpc battle preset

bSet (command)
Syntax!bSet <battleSetting> <newValue> - changes a battle setting manually (use "!list bSettings" to list available settings)
Example(s)"!bSet maxUnits 1000" sets maxUnits setting to 1000

balance (command)
Syntax!balance - balances teams according to current balanceMode, nbTeams, teamSize and nbPlayerById parameters

balanceMode (preset setting)
Explicit nameBalance mode
DescriptionThis is the balance mode used during both automatic (refer to autoBalance) and manual (refer to "!balance" command) team balancing operations.
Four balance modes are currently available:
The "random" balance mode simply balances players randomly.
The "clan;random" balance mode ensures players of the same clans (refer to clanMode) are in the same teams. Other players are balanced randomly.
The "skill" balance mode tries to balance teams according to player skills (refer to skillMode and rankMode), without respecting clans.
The "clan;skill" balance mode tries to balance teams according to player skills (refer to skillMode and rankMode), respecting clans (refer to clanMode).
Format / Allowed valuesrandom: balance players randomly, without respecting clans
clan;random: balance players randomly, respecting clans
skill: balance players according to their skill, without respecting clans
clan;skill: balance players according to their skill, respecting clans
Default valueclan;skill

ban (command)
Syntax!ban <usernameOrFilters> [<banType> [<duration> [<reason>]]] - ban a user from AutoHost channel and/or battle and/or game (use ; to separate filters, and ~ at start for regexp)
Example(s)"!ban badBoy full" bans badBoy for ever from AutoHost channel and battle (same as "!ban badBoy")
"!ban badBoy battle 10" bans badBoy for 10 minutes from AutoHost battle
"!ban badBoy spec 1h dguned an ally" forces badBoy to spectate for 1 hour with reason "dguned an ally"
"!ban ~.*aaa.*" bans anyone who has the string "aaa" in his name for ever from AutoHost channel and battle
"!ban name=~.*bad.* battle" bans anyone who has the string "bad" in his name for ever from AutoHost battle
"!ban ip=192.168.0.1 batt 2d" bans IP 192.168.0.1 for 2 days from AutoHost battle
"!ban accountId=1234 ba 3w" bans account number "1234" for 3 weeks from AutoHost channel and battle
"!ban #1234 b 3g" same as above except it bans for the 3 next games instead of for 3 weeks
"!ban level<=100 s" forces anyone with AutoHost access level less than or equal to 100 to spectate
"!ban country=FR;accountId>900000 f 1m" bans anyone having both a french flag and an accountId greater than 900000 for one month from AutoHost channel and battle
"!ban skill<25 s 2h" forces low skilled players to spectate for the next 2 hours
"!ban skillUncert>3 s 5g" forces players with high skill uncertainty to spectate for the next 5 games

banIp (command)
Syntax!banIp <username>|#<accountId> [<banType> [<duration> [<reason>]]] - ban a user from battle lobby, based on his latest IP (same as doing "!ban ip=<userIp>")
Example(s)"!banIp badBoy battle" bans badBoy's latest IP for ever from AutoHost (same as "!banIp badBoy")
"!banIp badBoy b 10" bans badBoy's latest IP for 10 minutes from AutoHost
"!banIp badBoy spec 1m dguned an ally" applies a force-spec ban for 1 month based on badBoy's latest IP with reason "dguned an ally"
"!banIp #1234 b 1w" bans latest IP bound to account ID 1234 for 1 week from AutoHost

banIps (command)
Syntax!banIps <username>|#<accountId> [<banType> [<duration> [<reason>]]] - ban a user from battle lobby, based on all his known IPs (same as doing "!ban ip=<userIp>" for all IPs)
Example(s)"!banIps badBoy battle" bans badBoy's known IPs for ever from AutoHost (same as "!banIps badBoy")
"!banIps badBoy b 10" bans badBoy's known IPs for 10 minutes from AutoHost
"!banIps badBoy spec 1y dguned an ally" applies a force-spec ban for 1 year based on badBoy's known IPs with reason "dguned an ally"
"!banIps #1234 b 1w" bans all known IPs bound to account ID 1234 for 1 week from AutoHost

banList (preset setting)
Explicit nameBan list
DescriptionCurrent active ban list name, as defined in the banLists.conf file.
Format / Allowed valuesAny string
Default valueempty

bansData (global setting)
Explicit nameBans data mode
DescriptionData storage and sharing mode for players bans.
When set to "private", the data file is stored in the instanceDir directory and is private to each SPADS instance.
When set to "shared", the data file is stored in the varDir directory by default and is shared between all SPADS instances that use the same configuration.
The default file name for the data file is "bans.dat". When using shared mode, an alternate file name/location can be provided in parentheses after the "shared" keyword to use a specific non-default name/location for the data file.
Format / Allowed valuesprivate: bans are private to each SPADS instance and stored in the "bans.dat" file located in the instanceDir directory
shared: bans are shared between all SPADS instances that use the same configuration and stored in the "bans.dat" file located in the varDir directory
shared(<fileLocation>): bans are shared between all SPADS instances that use the same configuration and stored in the <fileLocation> file (if <fileLocation> is a relative path, it is relative to the varDir directory)
Default valueshared

battleName (hosting setting)
Explicit nameBattle name
DescriptionName of the auto-hosted battle, as shown in the battle list at client side.
Format / Allowed valuesAny string
Default valueSPADS (default settings)

battlePreset (preset setting)
Explicit nameBattle preset
DescriptionThis preset setting contains the name of the current battle preset.
This is a special preset setting: it cannot be changed by using !set command (the !bPreset command must be used instead).
In spads.conf, it allows AutoHost administrators to both associate a default battle preset to the preset being defined, and select which battle presets users are allowed to switch to.
Format / Allowed valuesAny battle preset name (defined in battlePresets.conf)
Default valuedefault

boss (command)
Syntax!boss [<username>] - enables boss mode for <username> (reduces rights of other non-privilegied users), or disable boss mode if <username> isn't specified
Example(s)"!boss goodGuy" sets goodGuy as a boss
"!boss" disables boss mode

botsRank (global setting)
Explicit nameRank for bots
DescriptionThis setting defines the rank attibuted to AI bots when auto-balancing the battle.
Format / Allowed values0: Newbie
1: Beginner
2: Average
3: Above average
4: Experienced
5: Highly experienced
6: Veteran
Default value3

broadcastChannels (global setting)
Explicit nameList of broadcast channels
DescriptionContains the list of lobby channels in which basic battle status messages are broadcasted.
Format / Allowed values<null> (functionality disabled)
<channel1>[ <password1>][;<channel2>[ <password2>][;...]]
Default value<null>

cKick (command)
Syntax!cKick <username> - kicks <username> from channel
Example(s)"!cKick badBoy" kicks badBoy from channel

callVote (command)
Syntax!callVote <command> - calls a vote to execute command <command> (alias: !cv)
Example(s)"!callVote split v 25" calls a vote to split map vertically

cancelQuit (command)
Syntax!cancelQuit - cancels a quit or restart command

cheat (command)
Syntax!cheat [0|1|<cheatCommand>] - Enable/disable cheat mode, or execute a cheat command
Example(s)"!cheat" toggles cheat mode
"!cheat 0" disables cheat mode
"!cheat 1" enables cheat mode
"!cheat give 2 armck 1 @20,20,20" enables cheat mode, gives 2 arm construction kbot to team 1, then disables cheat mode

chpasswd (command)
Syntax!chpasswd <user> [<password>] - (un)sets an AutoHost user password (used when Lobby server is running in LAN mode only)
Example(s)"!chpasswd bibim 12345" sets bibim's password to "12345"
"!chpasswd bibim" removes bibim's password

chrank (command)
Syntax!chrank <user> [<rankMode>] - (un)sets an AutoHost user rank mode (used for auto-balancing if skillMode is set to "rank")
Example(s)"!chrank bibim 0" sets bibim's rank to Newbie regarding AutoHost auto-balancing
"!chrank bibim account" uses bibim's lobby rank for auto-balancing
"!chrank bibim ip" uses best known rank for current bibim's IP for auto-balancing (anti-smurf system, requires enabling AutoHost user data retention)
"!chrank bibim" sets back bibim's rankMode to default value

chskill (command)
Syntax!chskill <user> [<skillMode>] - (un)sets an AutoHost user skill mode (used for auto-balancing)
Example(s)"!chskill bibim rank" sets bibim's skill mode to rank
"!chskill bibim TrueSkill" sets bibim's skill mode to TrueSkill
"!chskill bibim" sets back bibim's skill mode to default value

clan (preference)
Explicit nameClan
DescriptionDepending on the clanMode value, SPADS can recognize clans by tags in player names and/or "clan" preference value.
Format / Allowed values<null>: no clan selected
Any string: clan to be considered when balancing if "pref" mode is selected (refer to clanMode)
Default value<null>

clanMode (preset setting)
Explicit nameClan mode
DescriptionThis is the clan mode used during balancing operations if balanceMode is set to "clan" or "clan;skill".
It determines how players are recognized as being in the same clan.
If balanceMode is set to "clan;skill" and maximum unbalance is specified (see below), it also determines how much unbalance implied by clans is allowed. Unbalance is measured as the relative percent difference of the standard deviation of estimated team skills between optimal balance (without clan management) and requested balance. If <maxUnbalance> cannot be honored, then clans aren't taken into account for balancing.
Format / Allowed valuestag: players are considered as being in the same clan only if they have same tag in their names
tag(<maxUnbalance>): same, except clans are only taken into account if <maxUnbalance> (integer) can be honored when balancing
pref: players are considered as being in the same clan only if they have same clan value
pref(<maxUnbalance>): same, except clans are only taken into account if <maxUnbalance> can be honored when balancing
tag(<maxUnbalance1>);pref(<maxUnbalance2>): SPADS tries to balance by clan tag respecting <maxUnbalance1>. If it succeeds, then it also tries to handle clan values respecting <maxUnbalance2> (<maxUnbalance1> and/or <maxUnbalance2> can be omitted to remove balance constraint(s))
pref(<maxUnbalance1>);tag(<maxUnbalance2>): same, except it tries to respect clan values before clan tags
Default valuetag;pref(5)

clearBox (command)
Syntax!clearBox [<teamNumber>|extra] - removes the box for team <teamNumber> or all extra teams (removes all boxes if <teamNumber> and "extra" not specified)
Example(s)"!clearBox 2" removes box for team 2
"!clearbox extra" removes all extra boxes (i.e., all boxes whose number is greater than current number of teams)

closeBattle (command)
Syntax!closeBattle - closes current battle (use "openBattle" command to reopen it)

cmdFloodAutoIgnore (global setting)
Explicit nameCommand flood auto-ignore thresholds
DescriptionSpecifies the record period, the maximum number of commands someone can send to the AutoHost during this period before being auto-ignored, and the duration of this automatic ignore for command flood protection
Format / Allowed values<nbCmd>;<delay>;<ignoreDuration>
  where <nbCmd> is the maximum number of commands someone can send to the AutoHost before ignore (integer)
        <delay> is the record period in seconds (integer)
        <ignoreDuration> is the duration in minutes of the automatic ignore for command flood (integer)
Default value4;4;2

colorSensitivity (preset setting)
Explicit nameColor sensitivity
DescriptionWhen auto-fixing players colors, SPADS uses a formula to evaluate how much different 2 colors are.
If the computed color difference is below the value of this setting, SPADS tries to change the offending colors.
Using a very low value for this setting would allow players to use very similar colors.
Using a very high value for this setting would change players colors almost every time, even if they seem really different.
If set to 0, players colors are always forced using hard-coded colors (players can't choose their colors)
If set to -1, players colors are always forced using an advanced color assignment algorithm, taking game mode and battle structure into account (players can't choose their colors)
Format / Allowed valuesPositive integer: players colors are automatically changed if too similar
0: players colors are always forced using hard-coded values
-1: players colors are always forced using an advanced color assignment algorithm
Default value55 (some colors may seem similar in battle lobby, but usually they are different enough in game)

commandsFile (preset setting)
Explicit nameCommands file
DescriptionName of the commands rights configuration file.
This is a special preset setting: it cannot be changed by using !set command.
Format / Allowed valuesAny readable file in etcDir
Default valuecommands.conf

coop (command)
Syntax!coop <coopIdent> - alias for "!pSet shareId <coopIdent>" (chooses the name of your coop team: only users with same <coopIdent> will share units with you)
Example(s)!coop l33t

dataDumpDelay (global setting)
Explicit nameData dump delay
DescriptionUser preferences and map hashes are stored periodicly into preferences.dat and mapHashes.dat files. This setting defines the delay in minutes between such dumps.
If set to 0, the functionality is disabled (dynamic data are then dumped only when SPADS exits normally)
Format / Allowed valuesInteger
Default value60

defaultPreset (global setting)
Explicit nameDefault preset
DescriptionIt is the default preset name.
Presets are defined as sections of spads.conf file. The default preset must be complete (i.e. it must define all preset settings)
Format / Allowed valuesAny complete preset defined in spads.conf
Default valuedefault

description (battle setting)
Explicit nameBattle preset description
DescriptionBattle preset description that appears in "!list bPresets" output.
This is a special battle preset setting: it cannot be changed by using !bSet command.
Format / Allowed valuesAny String
Default valueDefault battle settings

description (hosting setting)
Explicit nameHosting preset description
DescriptionHosting preset description that appears in "!list hPresets" output.
This is a special hosting preset setting: it cannot be changed by using !hSet command.
Format / Allowed valuesAny String
Default valueDefault hosting settings

description (preset setting)
Explicit namePreset description
DescriptionPreset description that appears in "!list presets" output.
This is a special preset setting: it cannot be changed by using !set command.
Format / Allowed valuesAny String
Default valueDefault SPADS settings

disabledunits (battle setting)
Explicit nameDisabled units
DescriptionThis battle setting contains the list of changes to operate on current disabled units list when the battle preset is loaded.
This is a special battle preset setting: it is only used when the battle preset is loaded and it cannot be changed by using !bSet command.
Format / Allowed values<null>: no change is made to current disabled units
<disabledUnitData1>[;<diabledUnitData2>[;...]]: each <disabledUnitData> is processed in order. <disabledUnitData> can take following values:
  -*: remove all disabled units
  -<internalUnitIdentifier>: remove unit identified by <internalUnitIdentifier> from the list of disabled units
  <internalUnitIdentifier>: add unit identified by <internalUnitIdentifier> to the list of disabled units
Default value-*

endGameAwards (preset setting)
Explicit nameEnd game awards
DescriptionSpecifies if award messages based on team statistics must be printed after each game
Format / Allowed values0: award messages disabled
1: award messages enabled except for 1v1
2: award messages enabled for all games
Default value1

endGameCommand (preset setting)
Explicit nameEnd game command
DescriptionSpecifies a shell command to execute each time a game ends.
This is a special preset setting: it cannot be changed by using !set command and it is not shown in "!list settings".
Following placeholders can be used as command parameters:
%startTimestamp: server start timestamp (example: '1339938200')
%endTimestamp: server stop timestamp (example: '1339939006')
%duration: server running time in seconds (example: '806')
%startPlayingTimestamp: game start timestamp (example: '1339938300')
%endPlayingTimestamp: game over timestamp (example: '1339939000')
%gameDuration: game duration in seconds (example: '700')
%engineVersion: engine major version (example: '89')
%mod: mod name (example: 'Balanced Annihilation V7.68')
%map: map name (example: 'DeltaSiegeDry')
%type: game type ('Solo','Duel','FFA','Team','TeamFFA')
%structure: structure of the game (examples: '1', '1v1','8-way','8v8','3v3v3')
%nbBots: number of AI bots (example: '0')
%ahName: autohost name (example: 'Spads4')
%ahAccountId: autohost account ID (example: '77888')
%ahPassword: autohost lobby password (example: 'abcd')
%ahPassHash: autohost hashed lobby password, as sent to lobby server on login (example: 'ahdPrHyuJJfsPj+bZE+nrw==')
%demoFile: absolute path to the game replay file (example: '/home/spring/demos/20120617_143502_DeltaSiegeDry_88.sdf')
%gameId: game hash uniquely identifying the game, as generated by Spring on startup (example: 'c7c6dc4f79cd4f3cfb8fc1a397174d8b')
%result: end game result ('gameOver','undecided')
%cheating: indicates if cheats have been enabled during game ('0': cheats disabled, '1': cheats enabled)
Format / Allowed values<null> (functionality disabled)
Valid shell command
Default value<null>

endGameCommandEnv (preset setting)
Explicit nameEnd game command environment variables
DescriptionSpecifies the environment variables to define before launching the end game command (refer to endGameCommand)
This is a special preset setting: it cannot be changed by using !set command and it is not shown in "!list settings".
Following placeholders can be used in the environment variables values:
%startTimestamp: server start timestamp (example: '1339938200')
%endTimestamp: server stop timestamp (example: '1339939006')
%duration: server running time in seconds (example: '806')
%startPlayingTimestamp: game start timestamp (example: '1339938300')
%endPlayingTimestamp: game over timestamp (example: '1339939000')
%gameDuration: game duration in seconds (example: '700')
%engineVersion: engine major version (example: '89')
%mod: mod name (example: 'Balanced Annihilation V7.68')
%map: map name (example: 'DeltaSiegeDry')
%type: game type ('Solo','Duel','FFA','Team','TeamFFA')
%structure: structure of the game (examples: '1', '1v1','8-way','8v8','3v3v3')
%nbBots: number of AI bots (example: '0')
%ahName: autohost name (example: 'Spads4')
%ahAccountId: autohost account ID (example: '77888')
%ahPassword: autohost lobby password (example: 'abcd')
%ahPassHash: autohost hashed lobby password, as sent to lobby server on login (example: 'ahdPrHyuJJfsPj+bZE+nrw==')
%demoFile: absolute path to the game replay file (example: '/home/spring/demos/20120617_143502_DeltaSiegeDry_88.sdf')
%gameId: game hash uniquely identifying the game, as generated by Spring on startup (example: 'c7c6dc4f79cd4f3cfb8fc1a397174d8b')
%result: end game result ('gameOver','undecided')
%cheating: indicates if cheats have been enabled during game ('0': cheats disabled, '1': cheats enabled)
Format / Allowed values<null> (functionality disabled)
Variables assignments, separated by ';'
Default value<null>

endGameCommandMsg (preset setting)
Explicit nameEnd game command messages
DescriptionSpecifies the messages sent to battle lobby when the end-game command ends (refer to endGameCommand).
Lines are separated by "|", and optionally prefixed by "(<exitCodeRange>)" (in this case they are only printed if the end-game command exit code matches).
This is a special preset setting: it cannot be changed by using !set command and it is not shown in "!list settings".
Following placeholders can be used in the messages:
%engineVersion: engine major version (example: '89')
%mod: mod name, URL encoded (example: 'Balanced%20Annihilation%20V7.68')
%map: map name, URL encoded (example: 'Comet%20Catcher%20Redux')
%type: game type ('Solo','Duel','FFA','Team','TeamFFA')
%ahName: autohost name (example: 'Spads4')
%ahAccountId: autohost account ID (example: '77888')
%demoName: game replay file name, without path and URL encoded (example: '20120617_143502_Comet%20Catcher%20Redux_89.sdf')
%gameId: game hash uniquely identifying the game, as generated by Spring on startup (example: 'c7c6dc4f79cd4f3cfb8fc1a397174d8b')
%result: end game result ('gameOver','undecided')
Format / Allowed values<null> (functionality disabled)
[(<exitCodeRange1>)]<message1>[|[(<exitCodeRange2>)]<message2>[|...]]
Default value<null>

endVote (command)
Syntax!endVote - cancels current vote

etcDir (global setting)
Explicit nameSPADS configuration directory
DescriptionLocation of SPADS configuration files. This directory path can be an absolute path or a path relative to SPADS installation directory.
Format / Allowed valuesAny readable directory
Default value%etcDir% (set during installation, examples: "etc", "/var/home/spring/spads/etc", "C:\Program files\Spads\etc")

eventModel (global setting)
Explicit nameEvent model
DescriptionThe "eventModel" global setting specifies which event model must be used by SPADS. SPADS is based on the asynchronous programming paradigm, with events, event handlers, callbacks etc. It can use either its own internal event model, or the Perl AnyEvent module if available on the system.
Compared to the internal event model, AnyEvent is more efficient and makes it possible to integrate a lot of high-performance Perl modules such as web servers directly in the plugins.
The default time slice used for the event loop is 0.5 second. This can be changed by specifying the desired value between parentheses after the event model type (unit is hundredth of second, default value is 50).
Format / Allowed values<eventModelType>
<eventModelType>(<timeSlice>)
Examples:
  "auto": AnyEvent is used if available, otherwise the internal event model is used
  "internal": internal event model is used
  "AnyEvent": AnyEvent is used
  "internal(20)": internal event model is used, with an event loop time slice of 0.2 second instead of default 0.5 second
Default valueauto

extraBox (preset setting)
Explicit nameExtra box
DescriptionSpecifies the number of extra map boxes required by current game, in addition to the normal start boxes.
Extra boxes are special boxes required by some specific game modes such as King Of The Hill. Contrary to normal start boxes, extra boxes are not used to specify a team start location. Instead, they are used to give special meanings to specific map locations.
SPADS uses this setting to manage totally independent groups of saved map boxes (one for each value of the extraBox setting).
Format / Allowed valuesInteger
Default value0

fixColors (command)
Syntax!fixColors - tries to fix colors automatically

floodImmuneLevel (global setting)
Explicit nameFlood immune level
DescriptionWhen a user has an AutoHost access level superior or equal to this value, he is immune to flood protections.
Format / Allowed valuesInteger
Default value100

force (command)
Syntax!force <username> id|team|spec|bonus [number] - forces a player to spec, or sets his id/team/bonus to <number> (for AI bots, <username> can be prefixed with '%' to avoid ambiguity)
Example(s)"!force foo id 2" forces player "foo" to take id 2
"!force %foo team 2" forces AI bot "foo" into team 2
"!force foo bonus 50" gives 50% resource bonus to player "foo"
"!force foo spec" forces player "foo" to spec (alias: !spec)
"!force * (player1,player2)(player3+player4,player5)" forces players1-5 ids and teams to comply with the manual balance described by brackets, commas and '+' signs (alias: !fb)

forceHostIp (global setting)
Explicit nameForce hosting IP address
DescriptionBy default, Spring server detects the latest IP protocol version and the corresponding network interfaces available on your system, and use them for hosting.
But if the "forceHostIp" setting is set to a valid IP address, then Spring server will use this IP address for hosting instead of the auto-detected ones.
If you have problem with hosting on your system and if you think it's related to IPv6, you may want to try setting "forceHostIp" to "0.0.0.0".
Format / Allowed values<null>: the auto-detected interfaces are used for hosting
Any valid IP address: the provided IP address is used for hosting
Default value<null>

forcePreset (command)
Syntax!forcePreset <preset> - changes current global SPADS preset, bypassing the allowed presets list (use "!list presets" to list available presets)
Example(s)"!forcePreset private" changes global SPADS preset to "private"

forceStart (command)
Syntax!forceStart - launches the game even if teams are uneven (but everyone still has to be ready), or forces game start if it is already launched

forwardLobbyToGame (preset setting)
Explicit nameForward lobby chat to game
DescriptionIf enabled, chat messages in battle lobby are automatically forwarded to game.
If disabled, players have to use the !say command to forward messages to game.
Note: In-game messages are always forwarded to battle lobby (except team messages, spectator messages and whispered messages)
Format / Allowed values0: disabled
1: enabled
Default value1

freeSettings (preset setting)
Explicit nameFree settings
DescriptionContains the list of preset settings (and optionnaly their values) that can be changed directly by players without having to call a vote, provided the players have sufficient rights to call a vote for the !set command. In other words, if a player has sufficient rights to call a vote to change the setting, then he can change it directly.
Format / Allowed valuesList of preset settings, separated by ";"
Optional value restrictions can be added for each setting, inside parentheses and separated by "," (ranges can be used for numbers)
Default valueautoLock;teamSize(1-6);balanceMode

gKick (command)
Syntax!gKick <username> - kicks <username> from game
Example(s)"!gKick badBoy" kicks badBoy from game

ghostMapLink (preset setting)
Explicit nameGhost map link
DescriptionDefines the map link which is used to build welcome messages (refer to welcomeMsg and welcomeMsgInGame) and !mapLink command answer, when current map is a ghost map (refer to mapLink for local map case).
%m is replaced by the map name (with spaces replaced by "%20" so that it can be used in url)
%h is replaced by the unsigned map hash
This is a special preset setting: it cannot be changed by using !set command.
Format / Allowed values<null> (no map link, !mapLink command disabled)
Any string
Default valuehttps://springfiles.springrts.com/index.html?type=1&filter=%m&category=map

hPreset (command)
Syntax!hPreset <hostingPreset> - changes current hosting preset (use "!list hPresets" to list available hosting presets)
Example(s)"!hPreset passworded" applies the passworded hosting preset

hSet (command)
Syntax!hSet <hostingSetting> <newValue> - changes a hosting setting manually (use "list hSettings" to list available hosting settings)
Example(s)"!hSet maxPlayers 10" sets maxPlayers setting to 10

handleSuggestions (preference)
Explicit nameHandle suggestions
DescriptionIf enabled, SPADS will process your suggestions (performed through TASClient or SpringLobby GUI), else it will ignore them.
Format / Allowed values0: disabled
1: enabled
Default value0

handleSuggestions (preset setting)
Explicit nameDefault value of "Handle suggestions" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to handleSuggestions for more information.
Format / Allowed values0: disabled
1: enabled
Default value0

help (command)
Syntax!help [<command>|[global|set|hSet|bSet|pSet] <settingName>] - lists allowed commands, or prints detailed help for a specific command or setting
Example(s)"!help" lists allowed commands
"!help help" prints detailed help for command "help"
"!help bSet startpostype" prints help for "startpostype" battle setting
"!help set balanceMode" prints help for "balanceMode" preset setting

helpall (command)
Syntax!helpall - lists all commands

hideMapPresets (preset setting)
Explicit nameHide map presets
DescriptionIf enabled, map presets will not be shown in "!list presets" output.
A map preset is a global preset defined in spads.conf which has the same name as a map, with .smf suffix.
Format / Allowed values0: disabled
1: enabled
Default value0

hostStats (command)
Syntax!hostStats - prints global hosting statistics

hostingPreset (preset setting)
Explicit nameHosting preset
DescriptionThis preset setting contains the name of the current hosting preset.
This is a special preset setting: it cannot be changed by using !set command (the !hPreset command must be used instead).
In spads.conf, it allows AutoHost administrators to both associate a default hosting preset to the preset being defined, and select which hosting presets users are allowed to switch to.
Format / Allowed valuesAny hosting preset name (defined in hostingPresets.conf)
Default valuedefault

idShareMode (preset setting)
Explicit nameID share mode
DescriptionSpecifies how SPADS chooses which players are sharing IDs.
Format / Allowed valuesall: all players of each team are sharing ID (SPADS counts the number of players in each team to know if teams are even)
auto: nbPlayerById and balanceMode are used to determine shared IDs (SPADS counts the number of IDs in each team to know if teams are even)
manual: shareId (coop group) is used to determine shared IDs (SPADS counts the number of players in each team to know if teams are even)
clan: same as "manual", except that the clan tag is used as default shareId (coop group) value for clan players
off: ID sharing is disabled (SPADS counts the number of players in each team to know if teams are even)
Default valueauto

instanceDir (global setting)
Explicit nameSPADS instance-specific dynamic data directory
DescriptionLocation of SPADS instance-specific dynamic data (all SPADS instances running simultaneously on a system must use a different instance-specific directory). This directory path can be an absolute path or a path relative to varDir directory.
If you run multiple SPADS instances simultaneously from a single SPADS installation, then you need to configure this setting so that each one of these instances uses a distinct instance-specific directory (for example you can use the lobby login to distinguish them, or numbers...).
If you run only one SPADS instance from this SPADS installation, then you can leave this setting empty.
Format / Allowed values<null>: no instance-specific directory configured (varDir directory is used instead), so only one SPADS instance can be launched from this SPADS installation
Any writable directory: this directory is used for instance-specific data, it must be distinct for each SPADS instance launched from the same SPADS installation
Default value<null>

ircColors (preference)
Explicit nameUse IRC colors
DescriptionIf enabled, SPADS will use IRC style colors to improve output format of some commands (not supported by TASClient).
Format / Allowed values0: disabled
1: enabled
Default value0

ircColors (preset setting)
Explicit nameDefault value of "Use IRC colors" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to ircColors for more information.
Format / Allowed values0: disabled
1: enabled
Default value0

joinAs (command)
Syntax!joinAs spec|<inGamePlayer>|#<inGameId> [<joiningPlayer>] - allows a user to join the game in progress as spectator or player
Example(s)"!joinAs spec" allows the player issuing the command to join the game in progress as spectator (this is done automatically when you try to join a game in progress without using !joinAs)
"!joinAs foo bibim" allows bibim to join the game in progress as a player controling the same units as the in-game player containing "foo" in his name
"!joinAs #3" allows the player issuing the command to join the game in progress as a player controling the units belonging to in-game ID 3

kick (command)
Syntax!kick <username> - kicks <username> from channel, battle or game, depending on the way the command is sent to AutoHost
Example(s)"!kick badBoy" kicks badBoy from battle if command has been entered in battle lobby
"!kick badBoy" kicks badBoy from game if command has been entered in game

kickBan (command)
Syntax!kickBan <username> - kicks and bans <username> temporarily from channel, battle and game
Example(s)"!kickBan badBoy" kicks and bans badBoy temporarily from channel, battle and game

kickBanDuration (global setting)
Explicit nameBan duration for kickBan command
DescriptionDuration of the ban applied when using !kickBan command (expressed in seconds, or in number of games if the value is suffixed with 'g')
Format / Allowed values<nbOfSeconds>: <nbOfSeconds> is the ban duration expressed in seconds
<nbOfGames>g: <nbOfGames> is the ban duration expressed in number of games
Default value300

kickFloodAutoBan (global setting)
Explicit nameKick flood auto-ban thresholds
DescriptionSpecifies the record period, the maximum number of times someone can be auto-kicked during this period before being auto-banned, and the duration of this automatic ban for battle lobby flood protection
Format / Allowed values<nbAutoKick>;<delay>;<banDuration>
  where <nbAutoKick> is the maximum number of times someone can be auto-kicked before ban (integer)
        <delay> is the record period in seconds (integer)
        <banDuration> is the duration in minutes of the automatic ban for auto-kick floods (integer)
Default value2;120;5

learnMaps (command)
Syntax!learnMaps [<mapFilter> [<hostFilter>]] - learns map hashes from other battles (only learns maps matching <mapFilter> and <hostFilters> if specified)
Example(s)"!learnMaps" learns all maps hosted currently that aren't locally available
"!learnMaps delta" learns all the maps hosted currently that contain "delta" in their name
"!learnMaps . spads" learns all the maps hosted currently by players containing "spads" in their name

list (command)
Syntax!list users|presets|bPresets|hPresets|settings|bSettings|hSettings|vSettings|aliases|bans|maps|rotationMaps|pref|plugins|pSettings [all|map|mod|engine|<filters>] - lists various settings
Example(s)"!list users" lists AutoHost users and rights
"!list presets" lists all global SPADS presets
"!list bPresets" lists allowed battle presets for current global SPADS preset
"!list settings" lists current modifiable global SPADS settings and their allowed values for current global SPADS preset
"!list settings all" lists all current global SPADS settings and their allowed values for current global SPADS preset
"!list settings spec" lists all current global SPADS settings containing "spec" in their name
"!list hSettings" lists current hosting settings and allowed values for current hosting preset
"!list bSettings map" lists all current map battle settings and their allowed values for current battle preset
"!list maps" lists all available maps for current map list
"!list maps delta" lists available maps containg "delta" in their name for current map list
"!list rotationMaps" lists available maps for current map rotation list
"!list pref" lists your AutoHost preferences
"!list plugins" lists currently loaded plugins
"!list pSettings" lists plugins settings
"!list vSettings" lists vote settings

loadBoxes (command)
Syntax!loadBoxes [<mapName> [<nbTeams> [<nbExtraBox>]]] - loads start boxes for given map, number of teams and number of extra boxes (use current values if not provided)
Example(s)"!loadBoxes" loads boxes for current map, current number of teams, and current number of extra boxes
"!loadBoxes DeltaSiegeDryRevX_v3 4 1" loads boxes for DeltaSiegeDry map with 4 teams and 1 extra box

lobbyFollowRedirect (global setting)
Explicit nameFollow lobby server redirection
DescriptionIf enabled, SPADS will follow redirection orders from Spring lobby server.
If disabled, it will keep trying to connect to the hostname specified by lobbyHost.
Format / Allowed values0: disabled
1: enabled
Default value1

lobbyHost (global setting)
Explicit nameLobby server hostname
DescriptionHostname or IP address of the Spring lobby server
Format / Allowed valuesHostname or IP address
Default valuelobby.springrts.com

lobbyInterfaceLogLevel (global setting)
Explicit nameLobby interface log level
DescriptionLog level of the lobby interface module
Format / Allowed values0: critical
1: errors
2: warnings
3: notices
4: information
5: debug (all messages sent and received on the interface are logged!)
Default value4

lobbyLogin (global setting)
Explicit nameAutoHost lobby name
DescriptionName of the AutoHost in Spring lobby
Format / Allowed valuesAny valid lobby login
Default value%lobbyLogin% (set during installation, example: "Spads")

lobbyPassword (global setting)
Explicit nameAutoHost lobby password
DescriptionSpring lobby password for the AutoHost account
Format / Allowed valuesAny valid lobby password
Default value%lobbyPassword% (set during installation, example: "abcdefgh")

lobbyPort (global setting)
Explicit nameLobby server port
DescriptionPort of the Spring lobby server
Format / Allowed valuesAny valid port number
Default value8200

lobbyReconnectDelay (global setting)
Explicit nameDelay before reconnecting to lobby server
DescriptionWhen SPADS is disconnected from the lobby server, it tries to reconnect immediately.
But when it fails to reconnect due to network problems, it waits this amount of seconds before trying to reconnect another time.
A value of 0 disables reconnection.
It is possible to specify a range, in this case the reconnect delay value is chosen randomly inside the range.
Format / Allowed valuesInteger: number of seconds to wait before trying to reconnect
<min>-<max>: range of seconds to wait before trying to reconnect (random delay mode)
Default value30

lobbyTls (global setting)
Explicit nameLobby TLS mode
DescriptionSpecifies if TLS encryption must be used for the connection to the lobby server.
Format / Allowed valueson: TLS is enabled (SPADS will exit if it can't establish a TLS encrypted connection to the lobby server)
off: TLS is disabled (SPADS will use a plaintext connection to the lobby server)
auto: TLS is enabled only if the required libraries are available
Default valueauto

localBots (preset setting)
Explicit nameLocal bots
DescriptionThis is the list of predefined local bots. Automatically added bots are taken from this list (see autoAddBotNb).
Format / Allowed values[<name> <side>[#<rgbColor>] <ai>[;<name2> <side2>[#<rgbColor2>] <ai2>[...]]]
  where <name> is the name of the bot (string, example: "joe")
        <side> is the faction of the bot (can be the faction number or the faction name)
        <rgbColor> is the default color of the bot in hexadecimal RGB format (example: "FF0000" for red)
        <ai> is the exact name of the AI used by the bot (string, example: "E323AI")
Default valuejoe 0 E323AI;jim core#FF0000 KAIK

localLanIp (global setting)
Explicit nameLAN IP of the AutoHost
DescriptionIf the AutoHost is connected to a LAN, this is the AutoHost IP address on this LAN.
This parameter is used by the Spring lobby server to allow players from the same LAN to play on this AutoHost.
Format / Allowed values<null>: the local LAN IP is auto-detected
*: the AutoHost isn't connected to a LAN
Any valid LAN IP address: this IP is sent to lobby server as local LAN IP
Default value<null>

lock (command)
Syntax!lock - locks battle lobby

logBattleChat (global setting)
Explicit nameLog battle lobby chat
DescriptionSpecifies if battle lobby chat must be logged
Format / Allowed values0: disabled
1: enabled
Default value1

logBattleJoinLeave (global setting)
Explicit nameLog battle lobby join/leave
DescriptionSpecifies if battle lobby join/leave messages must be logged
Format / Allowed values0: disabled
1: enabled
Default value1

logChanChat (global setting)
Explicit nameLog channel chat
DescriptionSpecifies if channel chat must be logged
Format / Allowed values0: disabled
1: enabled
Default value0

logChanJoinLeave (global setting)
Explicit nameLog channel join/leave
DescriptionSpecifies if channel join/leave messages must be logged
Format / Allowed values0: disabled
1: enabled
Default value0

logDir (global setting)
Explicit nameSPADS log directory
DescriptionLocation of SPADS log files. This directory path can be an absolute path or a path relative to instanceDir directory.
Format / Allowed valuesAny writable directory
Default value%logDir% (set during installation, examples: "log", "/var/home/spring/spads/var/log", "C:\Program files\Spads\var\log")

logGameChat (global setting)
Explicit nameLog game chat
DescriptionSpecifies if game chat must be logged
Format / Allowed values0: disabled
1: enabled
Default value1

logGameJoinLeave (global setting)
Explicit nameLog game join/leave
DescriptionSpecifies if game join/leave messages must be logged
Format / Allowed values0: disabled
1: enabled
Default value1

logGameServerMsg (global setting)
Explicit nameLog game server messages
DescriptionSpecifies if game server messages must be logged
Format / Allowed values0: disabled
1: enabled
Default value1

logPvChat (global setting)
Explicit nameLog private lobby messages
DescriptionSpecifies if private messages sent to the AutoHost must be logged
Format / Allowed values0: disabled
1: enabled
Default value1

majorityVoteMargin (global setting)
Explicit nameMajority vote margin
DescriptionSpecifies the percentage of the casted votes required for the vote to pass, in addition to the 50% already required by default.
If set to zero, SPADS will use the standard majority vote system: the vote will pass if more than 50% of the casted votes are "yes".
If not set to zero, SPADS will require supermajority (aka "qualified majority"): the required percentage of the casted votes for the vote to pass will be 50% + the configured value. If set to 50 (maximum value), unanimity will be required for the vote to pass.
This global setting can also be overridden individually for each command in the commands rights configuration file (see commandsFile). The command-specific setting value must be declared at the end of the corresponding command declaration line, in parentheses. If multiple settings are overridden this way for a command, they must be separated by a comma. For example, to use specific values of "voteTime" and "majorityVoteMargin" for the "stop" command, the command declaration line could be: "[stop](voteTime:60,majorityVoteMargin:25)".
Format / Allowed valuesInteger between 0 and 50 included
Default value0

map (command)
Syntax!map <mapNameOrNumber> - same as "!set map <mapNameOrNumber>" (use "!list maps" to list available maps)
Example(s)"!map Comet Catcher Redux" sets map to "Comet Catcher Redux"
"!map 5" sets map to the 5th map returned by "!list maps" command

map (preset setting)
Explicit nameMap name
DescriptionCurrent map name (default is first map of current map list if not set)
This special preset setting can be changed by using the classic "!set map" command, but also the "!map" alias.
Format / Allowed values<null>
Any map of current map list (defined in mapLists.conf).
Default value<null>

mapInfoCacheData (global setting)
Explicit nameMap information cache data mode
DescriptionData storage and sharing mode for the map information cache. This cache contains map specific data such as map options, size and start positions.
When set to "private", the data file is stored in the instanceDir directory and is private to each SPADS instance.
When set to "shared", the data file is stored in the varDir directory by default and is shared between all SPADS instances that use the same configuration.
The default file name for the data file is "mapInfoCache.dat". When using shared mode, an alternate file name/location can be provided in parentheses after the "shared" keyword to use a specific non-default name/location for the data file.
Format / Allowed valuesprivate: the map information cache is private to each SPADS instance and stored in the "mapInfoCache.dat" file located in the instanceDir directory
shared: the map information cache is shared between all SPADS instances that use the same configuration and stored in the "mapInfoCache.dat" file located in the varDir directory
shared(<fileLocation>): the map information cache is shared between all SPADS instances that use the same configuration and stored in the <fileLocation> file (if <fileLocation> is a relative path, it is relative to the varDir directory)
Default valueshared

mapLink (command)
Syntax!mapLink - gives a link to download the current map

mapLink (preset setting)
Explicit nameMap link
DescriptionDefines the map link which is used to build welcome messages (refer to welcomeMsg and welcomeMsgInGame) and !mapLink command answer, when current map is a local map (refer to ghostMapLink for ghost map case).
%m is replaced by the map name (with spaces replaced by "%20" so that it can be used in url)
%M is replaced by the map archive (with spaces replaced by "%20" so that it can be used in url)
%h is replaced by the unsigned map hash
This is a special preset setting: it cannot be changed by using !set command.
Format / Allowed values<null> (no map link, !mapLink command disabled)
Any string
Default valuehttps://springfiles.springrts.com/index.html?type=1&filter=%m&category=map

mapList (preset setting)
Explicit nameMap list
DescriptionCurrent map list name.
Only the maps included in this map list will be available for "!list maps", !set map", and "!map" commands (and automatic map rotation).
Format / Allowed valuesAny map list name (defined in mapLists.conf)
Default valueall

masterChannel (global setting)
Explicit nameAutoHost master channel
DescriptionIf specified, the AutoHost will join this channel and listen to AutoHost commands in it. When running multiple AutoHosts, this can be useful to perform commands on severall AutoHosts at once.
Format / Allowed values<null> (functionality disabled)
Any valid lobby channel name
Default value<null>

maxAutoHostMsgLength (global setting)
Explicit nameMaximum AutoHost message length
DescriptionWhenever SPADS needs to send a message on the AutoHost interface, it will first split the message if needed so that each message will have a maximum length of <maxAutoHostMsgLength> bytes.
Format / Allowed valuesInteger
Default value240

maxBots (preset setting)
Explicit nameMaximum number of AI bots
DescriptionWhen this number of AI bots are in the battle lobby, SPADS will auto-kick any additional AI bot added.
A value of 0 will prevent anyone from adding an AI bot.
Format / Allowed valuesInteger
Default value8

maxBytesSent (global setting)
Explicit nameMax bytes sent to lobby server
DescriptionAmount of bytes that can be sent to lobby server during send record period (see also sendRecordPeriod).
Output flood protection is performed by queueing excessive data.
Format / Allowed valuesInteger
Default value19000

maxChatMessageLength (global setting)
Explicit nameMaximum lobby chat message length
DescriptionWhenever SPADS needs to send a chat message to lobby server, it will first split the message if needed so that each message will have a maximum length of <maxChatMessageLength> bytes.
Format / Allowed valuesInteger
Default value1024

maxChildProcesses (global setting)
Explicit nameMaximum number of child processes
DescriptionSpecifies how many child processes can be spawned by SPADS simultaneously (other processes are queued).
Format / Allowed valuesInteger
Default value16

maxLocalBots (preset setting)
Explicit nameMaximum number of local AI bots
DescriptionWhen this number of local AI bots (bots hosted at server side) are in the battle lobby, SPADS will auto-kick any additional local AI bot added.
A value of 0 will prevent anyone from adding a local AI bot.
Format / Allowed valuesInteger
Default value8

maxLowPrioBytesSent (global setting)
Explicit nameMax low-priority bytes sent to lobby server
DescriptionAmount of low-priority bytes (private messages, command responses...) that can be sent to lobby server during send record period (see also sendRecordPeriod).
Output flood protection is performed by queueing excessive data in a specific low-priority queue.
Format / Allowed valuesAny integer smaller than the maxBytesSent value
Default value18000

maxPlayers (hosting setting)
Explicit nameMaximum number of players
DescriptionMaximum number of players that can be in the battle lobby at the same time. Any additional player joining the battle will be automatically forced to spectate by the lobby server.
Format / Allowed valuesAny integer between 2 and 251 included
Default value16

maxRemoteBots (preset setting)
Explicit nameMaximum number of remote AI bots
DescriptionWhen this number of remote AI bots (bots hosted by players) are in the battle lobby, SPADS will auto-kick any additional remote AI bot added.
A value of 0 will prevent anyone from adding a remote AI bot.
Format / Allowed valuesInteger
Default value8

maxSpecs (preset setting)
Explicit nameMaximum number of spectators
DescriptionWhen this number of spectators are in the battle lobby, SPADS will auto-kick any additional player who joins as spectator.
A value of 0 will prevent anyone from spectating.
Format / Allowed values<null> (no spectator number limit)
Integer
Default value<null>

maxSpecsImmuneLevel (global setting)
Explicit nameSpectator limit immune level
DescriptionWhen a user has an AutoHost access level superior or equal to this value, he is immune to maximum number of spectators limit (refer to maxSpecs).
Format / Allowed valuesInteger
Default value100

midGameSpecLevel (preset setting)
Explicit nameMinimum access level for midgame join as spectator
DescriptionWhen a user has an AutoHost access level superior or equal to this value, he is allowed to join a game in progress as spectator directly (without using !joinAs command) even if he wasn't in the battleroom when the game started.
Format / Allowed valuesInteger
Default value0

minPlayers (preset setting)
Explicit nameMinimum number of players
DescriptionThis is the minimum number of players to start a game without using "!forceStart" command.
Battle auto-management isn't performed when there is less players (refer to autoStart, autoBalance and autoFixColors).
Format / Allowed valuesInteger
Default value2

minRank (hosting setting)
Explicit nameMinimum rank
DescriptionRank requirement for battle, as shown in the battle list at client side. The only purpose of this hosting setting is to select the rank requirement seen by players, it doesn't actually apply any real rank limit. If you want to apply effective rank limits, you have to use ban lists (refer to banList), with ban filters based on rank.
Format / Allowed values0: Newbie (no rank requirement)
1: Beginner
2: Average
3: Above average
4: Experienced
5: Highly experienced
6: Veteran
Default value0

minRingDelay (preference)
Explicit nameMinimum ring delay
DescriptionThis preference sets your ring flood protection: it is the minimum delay in seconds SPADS must wait before ringing you another time.
Format / Allowed valuesInteger
Default value20

minRingDelay (preset setting)
Explicit nameDefault value of "Minimum ring delay" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to minRingDelay for more information.
Format / Allowed valuesInteger
Default value20

minTeamSize (preset setting)
Explicit nameMinimum team size
DescriptionWhen auto-balancing, normaly nbTeams has higher priority than teamSize, which means that if there aren't enough players to reach target battle structure, SPADS will try to put at least one player in each team before adding players to existing teams.
minTeamSize makes it possible to alter this behaviour: it specifies the minimum team size before starting to fill another team when auto-balancing. This is only useful for TeamFFA, when there aren't enough players to fulfill target battle structure: it makes SPADS decrease the number of teams so that there are at least this number of people in each team.
If minTeamSize is set to 0, it simply makes teamSize have higher priority than nbTeams (it acts as if minTeamSize had same value as teamSize).
Format / Allowed valuesInteger
Default value1

minVoteParticipation (global setting)
Explicit nameMinimum vote participation
DescriptionThis is the minimum percent of voters that must have voted manually for a poll to be taken into account by SPADS.
If two values are provided (separated by ";" character), then the first one is used when there is no game in progress and the second one is used when a game is in progress.
This global setting can also be overridden individually for each command in the commands rights configuration file (see commandsFile). The command-specific setting value must be declared at the end of the corresponding command declaration line, in parentheses. If multiple settings are overridden this way for a command, they must be separated by a comma. For example, to use specific values of "voteTime" and "minVoteParticipation" for the "stop" command, the command declaration line could be: "[stop](voteTime:60,minVoteParticipation:75)".
Format / Allowed values<percent>: Integer between 0 and 100 included (a single value is used, no distinction is made whether a game is running or not)
<percent1>;<percent2>: Integers between 0 and 100 included (<percent1> is used when no game is running, <percent2> is used when a game is running)
Default value50

modName (hosting setting)
Explicit nameMod name
DescriptionName of the hosted mod (as returned by the GetPrimaryModName UnitSync function).
The corresponding mod must be available locally in the "games" or "packages" subdirectories of springDataDir.
It is also possible to use a regular expression instead of the exact mod name, by prefixing the value with "~". SPADS will then choose the latest mod in lexicographic order whose name match the regular expression, so it should automatically select the latest version of a given mod.
Format / Allowed values<modName> (<modName> must be the exact mod name, as returned by the GetPrimaryModName UnitSync function)
~<regularExpression> (at least one mod name must match the <regularExpression> regular expression)
Default value%modName% (set during installation, example: "~Balanced Annihilation V\d+\.\d+")

msgFloodAutoKick (global setting)
Explicit nameMessage flood auto-kick thresholds
DescriptionSpecifies the record period and the maximum number of chat messages triggered by a user during this period in the battle lobby before auto-kick for flood protection
Format / Allowed values<nbMsg>;<delay>
  where <nbMsg> is the maximum number of chat messages before kick (integer)
        <delay> is the record period in seconds (integer)
Default value7;7

natType (hosting setting)
Explicit nameNAT type
DescriptionNAT traversal method used by the host.
Format / Allowed values0: No NAT traversal technique is applied
1: The "hole punching" NAT traversal method is used
2: The "fixed source ports" NAT traversal method is used
Default value0

nbPlayerById (preset setting)
Explicit nameNumber of player by ID
DescriptionSpring engine supports having multiple players controling the same units. The "nbPlayerById" preset setting specifies the target number of players controling the same units (i.e., sharing the same ID).
This is one of the three preset settings used by SPADS to determine the target battle structure (for battle auto-management in particular):
- nbTeams (number of teams in the game)
- teamSize (number of ID by team)
- nbPlayerById (number of player by ID)
Format / Allowed valuesNon-null integer
Default value1

nbTeams (preset setting)
Explicit nameNumber of teams
DescriptionTarget number of teams
This is one of the three preset settings used by SPADS to determine the target battle structure (for battle auto-management in particular):
- nbTeams (number of teams in the game)
- teamSize (number of ID by team)
- nbPlayerById (number of player by ID)
If nbTeams is set to 1, then SPADS will put all human players in team 1, and all bots in team 2. This special mode is usefull for "humans vs bots" type of games (chickens...)
Format / Allowed valuesNon-null integer
Default value2

nextMap (command)
Syntax!nextMap - changes map according to rotation mode specified by "rotationManual" setting

nextPreset (command)
Syntax!nextPreset - changes preset according to rotation mode specified by "rotationManual" setting

noSpecChat (preset setting)
Explicit nameNo spectator chat
DescriptionIf enabled, spectators can only chat with other spectators in game
Format / Allowed values0: disabled
1: enabled
Default value0

noSpecDraw (preset setting)
Explicit nameNo spectator draw
DescriptionIf enabled, drawing ability is disabled for spectators
Format / Allowed values0: disabled
1: enabled
Default value0

notify (command)
Syntax!notify - sets/unsets an end-game notification: the AutoHost will notify you when the current game ends

opOnMasterChannel (global setting)
Explicit nameOperator on master channel
DescriptionSpecifies if the AutoHost has operator access on the master channel. If so, it will be able to kick players from channel (for banned players or !bKick command)
Format / Allowed values0: no
1: yes
Default value0

openBattle (command)
Syntax!openBattle - reopens the battle (battle is open by default)

pSet (command)
Syntax!pSet <preferenceSetting> [<newValue>] - updates a preference (use "!list pref" to list your current preferences)
Example(s)"!pSet voteRingDelay 0" tells AutoHost to never auto-ring you when a vote is called
"!pSet minRingDelay 40" tells AutoHost to not ring you more than 1 time every 40 seconds
"!pSet votePvMsgDelay" resets your votePvMsgDelay preference to default value

password (hosting setting)
Explicit nameBattle password
DescriptionThis hosting setting specifies if the AutoHost must open a public battle, or a private passworded battle.
Format / Allowed values*: No password (public battle)
Any other string: String used as password (private battle)
Default value*

password (preference)
Explicit nameAccount password
DescriptionWhen Spring lobby server is running in LAN mode, lobby accounts aren't authenticated. In this case, SPADS doesn't trust players identity and requires them to authentify by using the "!auth" command to gain their privileged access.
The password provided as "!auth" command parameter must be the "password" preference value.
Format / Allowed values<null>
Any string: String used as password
Default value<null>

plugin (command)
Syntax!plugin <pluginName> load|unload|reload|reloadConf [keepSettings]|set <param> [<value>] - performs various operations on a plugin
Example(s)"!plugin AdvancedNotify load" loads plugin "AdvancedNotify"
"!plugin MailAlerts set email my.email@somewhere.com" updates the configuration of the "MailAlert" plugin by setting parameter email

pluginsDir (global setting)
Explicit nameSPADS plugins directory
DescriptionLocation of SPADS plugins. This directory path can be an absolute path or a path relative to varDir directory.
Format / Allowed valuesAny readable directory
Default valueplugins

port (hosting setting)
Explicit nameSpring server port
DescriptionUDP port on which Spring server will listen for Spring client connections
Format / Allowed valuesAny valid port number
Default value8452

preferencesData (global setting)
Explicit namePlayers preferences data mode
DescriptionData storage and sharing mode for players preferences.
When set to "private", the data file is named "preferences.dat". It is stored in the instanceDir directory and is private to each SPADS instance.
When set to "shared", the data file is named "preferences.sqlite" by default. It is stored in the varDir directory by default and is shared between all SPADS instances that use the same configuration (this mode requires the DBD::SQLite Perl module).
When using shared mode, an alternate file name/location can be provided in parentheses after the "shared" keyword to use a specific non-default name/location for the data file.
Format / Allowed valuesprivate: players preferences are private to each SPADS instance and stored in the "preferences.dat" file located in the instanceDir directory
shared: players preferences are shared between all SPADS instances that use the same configuration and stored in the "preferences.sqlite" file located in the varDir directory
shared(<fileLocation>): players preferences are shared between all SPADS instances that use the same configuration and stored in the <fileLocation> file (if <fileLocation> is a relative path, it is relative to the varDir directory)
Default value%preferencesData% (set during installation: "shared" if SQLite availability is detected, "private" else)

preset (command)
Syntax!preset <globalPreset> - changes current global SPADS preset (use "!list presets" to list available presets)
Example(s)"!preset private" changes global SPADS preset to "private"

preset (preset setting)
Explicit nameGlobal preset
DescriptionThis preset setting contains the name of the current global preset.
This is a special preset setting: it cannot be changed by using !set command (the !preset or !forcePreset commands must be used instead).
The only purpose of this setting is to allow AutoHost administrators to list the other presets users are allowed to switch to.
In spads.conf, the first value of this setting (i.e., the default value) must always be the name of the preset being defined, and the alternate values (separated by '|' character) are the other allowed presets users are allowed to switch to from current preset.
Format / Allowed valuesAny global preset name (defined in spads.conf)
Default valuedefault

privacyTrustLevel (global setting)
Explicit namePrivacy trust level
DescriptionSpecifies the minimum access level required to see personal information about players (IP addresses, non-rounded skill values...) in the output of some commands (!list bans, !searchUser, !smurfs, !status and !whois).
Format / Allowed valuesInteger
Default value130

promote (command)
Syntax!promote - promotes current battle on channel(s) (not in #main since it's forbidden)

promoteChannels (global setting)
Explicit nameList of promote channels
DescriptionContains the list of lobby channels in which messages to promote current battle will be sent when !promote command is used.
Format / Allowed values<null> (functionality disabled)
<channel1>[ <password1>][;<channel2>[ <password2>][;...]]
Default value<null>

promoteDelay (global setting)
Explicit namePromote delay
DescriptionMinimum delay in seconds between two promote messages (see also promoteChannels)
Format / Allowed valuesInteger
Default value600

promoteMsg (global setting)
Explicit namePromote message
DescriptionMessage sent to promote channels when !promote command is used.
%u is replaced by the user performing !promote command
%p is replaced by the number of needed players for current expected battle structure (nbTeams x teamSize x nbPlayerById)
%b is replaced by the battle name
%o is replaced by the mod name
%a is replaced by the map name
%P is replaced by the number of players currently in battle
%S is replaced by the number of spectators currently in battle
%U is replaced by the number of users (players+spectators) currently in battle
Format / Allowed values<null> (functionality disabled)
Any string
Default value%pplayer(s) needed for battle "%b" [%o, %a] (%u)

quit (command)
Syntax!quit [empty|spec] - forces AutoHost to quit (wait end of game, + empty battle if "empty" is specified, or only spec if "spec" is specified)
Example(s)"!quit" exits as soon as no game is running
"!quit empty" exits as soon as no game is running and battle lobby is empty
"!quit spec" exits as soon as no game is running and battle lobby is empty or only contains spectators

rankMode (preference)
Explicit nameRank mode
DescriptionSpecifies which rank must be used for the user when auto-balancing teams (if skillMode is set to "rank").
This is a special preference, it cannot be set by the user himself with "!pSet" command, it must be set by an AutoHost privileged user with "!chrank" command.
When set to "account" the user's rank in Spring lobby is used.
When set to "ip", the best known rank for any account seen using current user's IP is used (AutoHost user data retention must be enabled, lobby rank is used as fallback if user's IP is unknown)
When set to an integer, the corresponding rank is used for auto-balancing, overriding user's lobby rank.
Format / Allowed valuesaccount: lobby rank is used
ip: best rank seen for this IP is used
0: "Newbie" rank is used, overriding user's rank in lobby
1: "Beginner" rank is used, overriding user's rank in lobby
2: "Average" rank is used, overriding user's rank in lobby
3: "Above" average rank is used, overriding user's rank in lobby
4: "Experienced" rank is used, overriding user's rank in lobby
5: "Highly" experienced rank is used, overriding user's rank in lobby
6: "Veteran" rank is used, overriding user's rank in lobby
Default valueaccount

rankMode (preset setting)
Explicit nameDefault value of "Rank mode" preference
DescriptionThis is the default value for the preference with same name (this value is used when the user's rankMode hasn't been set with !chrank command).
Refer to rankMode for more information.
Format / Allowed valuesaccount
ip
0
1
2
3
4
5
6
Default valueaccount

reCallVoteDelay (global setting)
Explicit nameRe-call vote delay
DescriptionWhen a vote ends, SPADS prevents the user who started the vote to call another vote too fast, so that other users have some time to call a vote if they want to (vote flood protection). This is the minimum delay in seconds before someone can call another vote when his previous vote ended.
Format / Allowed valuesInteger
Default value10

rebalance (command)
Syntax!rebalance - rebalances teams (try to change them if they were already balanced)

rehost (command)
Syntax!rehost - rehosts battle (needed for hosting settings changes to be applied)

reloadArchives (command)
Syntax!reloadArchives [full] - reloads Spring archive files (Mods and maps)
Example(s)"!reloadArchives" reloads Spring archive files in fast mode (only detects archives additions and removals)
"!reloadArchives full" reloads Spring archive files in full mode (detects all archives modifications)

reloadConf (command)
Syntax!reloadConf [keepSettings] [keepMacros] [<macro>=<value> [..]] - reloads all configuration files
Example(s)"!reloadConf" reloads all configuration files and applies default preset
"!reloadConf keepSettings" reloads all configuration files, but keeps current settings
"!reloadConf keepSettings clanTag1=abc clanTag2=def" do the same, except it (re)defines some configuration macros before reloading
"!reloadConf keepMacros desc="new description"" (re)defines a configuration macro before reloading, and remember it for next reloads/restarts

removeBot (command)
Syntax!removeBot <botName> - removes a local AI bot
Example(s)"!removeBot joe" removes the local AI bot named "joe"

resetoptions (battle setting)
Explicit nameReset mod/map options
DescriptionIf enabled, all mod options and map options are reset to their default values for current mod and map before loading the battle preset.
This is a special battle preset setting: it is only used when the battle preset is loaded and it cannot be changed by using !bSet command.
Format / Allowed values0: disabled
1: enabled
Default value1

resign (command)
Syntax!resign [<playerName> [TEAM]] - resigns a player or his entire ally team if "TEAM" parameter is provided
Example(s)"!resign joe" resigns the player named joe
"!resign joe TEAM" resigns joe's ally team
"!resign" resigns your entire ally team (same as "!resign <yourName> TEAM")

restart (command)
Syntax!restart [empty|spec] [<macro>=<value> [..]] - restarts SPADS (wait game end, and empty battle lobby if "empty" is specified)
Example(s)"!restart" restarts SPADS now if no game is running, or else wait the end of the game
"!restart empty" waits until the battle lobby is empty and no game is running for restarting
"!restart empty clanTag1=abc clanTag2=def" do the same, except it (re)defines some configuration macros before restarting
"!restart spec" waits until the battle lobby is empty or only contains spectators and no game is running for restarting

restoreDefaultPresetDelay (global setting)
Explicit nameDefault preset restore delay
DescriptionNumber of seconds before restoring the default preset when battle is empty. When set to 0, it disables the auto-restore default preset functionality.
Format / Allowed valuesInteger
Default value30

ring (command)
Syntax!ring [<username>] - rings all unready players, or ring <username> if <username> is specified
Example(s)"!ring" rings all unready players
"!ring foo" rings foo only

rotationDelay (preset setting)
Explicit nameRotation delay
DescriptionSPADS automatic rotation system can occur at the end of each game and/or when the battle is empty (refer to rotationEndGame and rotationEmpty).
The "rotationDelay" preset setting specifies the minimum delay in seconds between two automatic rotations: it is both the minimum game duration for automatic end-game rotation, and the delay between two automatic rotations when battle is empty.
Format / Allowed valuesInteger
Default value300

rotationEmpty (preset setting)
Explicit nameEmpty battle rotation mode
DescriptionWhen the battle lobby is empty, SPADS can automatically rotate map or preset.
The "rotationEmpty" preset setting specifies if empty-battle rotation is enabled, and what mode is enabled.
Format / Allowed valuesoff: empty-battle automatic rotation is disabled
random: empty-battle automatic rotation is enabled (maps or presets are chosen randomly)
order: empty-battle automatic rotation is enabled (maps or presets are rotated in order)
Default valuerandom

rotationEndGame (preset setting)
Explicit nameEnd-game rotation mode
DescriptionWhen a game ends, SPADS can automatically rotate map or preset.
The "rotationEndgame" preset setting specifies if end-game rotation is enabled, and what mode is enabled.
Format / Allowed valuesoff: end-game automatic rotation is disabled
random: end-game automatic rotation is enabled (maps or presets are chosen randomly)
order: end-game automatic rotation is enabled (maps or presets are rotated in order)
Default valueoff

rotationManual (preset setting)
Explicit nameManual rotation mode
DescriptionWhen using !nextMap or !nextPreset commands, SPADS rotates map or preset.
The "rotationManual" preset setting specifies which rotation mode is used in this case.
Format / Allowed valuesrandom: maps or presets are chosen randomly
order: maps or presets are rotated in order
Default valuerandom

rotationType (preset setting)
Explicit nameRotation type
DescriptionSPADS automatic rotation system can occur at the end of each game and/or when the battle is empty (refer to rotationEndGame and rotationEmpty).
The "rotationType" preset setting specifies whether map rotation or preset rotation is selected.
When map rotation is selected, a new map is chosen automatically in current map list. A subset of current map list can be specified for map rotation (refer to syntax below)
When preset rotation is selected, a new preset available from current preset is chosen automatically (refer to preset)
Format / Allowed valuesmap: map rotation is selected (any map of current map list can be chosen as next map)
preset: preset rotation is selected (any preset available form current preset can be chosen as next preset)
map;<subMapList>: map rotation with sub map list filter is selected (any map belonging to both current map list and <subMapList> can be chosen as next map)
Default valuemap

saveBoxes (command)
Syntax!saveBoxes - saves map boxes for current map

savedBoxesData (global setting)
Explicit nameSaved map start boxes data mode
DescriptionData storage and sharing mode for saved map start boxes.
When set to "private", the data file is stored in the instanceDir directory and is private to each SPADS instance.
When set to "shared", the data file is stored in the varDir directory by default and is shared between all SPADS instances that use the same configuration.
The default file name for the data file is "savedBoxes.dat". When using shared mode, an alternate file name/location can be provided in parentheses after the "shared" keyword to use a specific non-default name/location for the data file.
Format / Allowed valuesprivate: saved start boxes are private to each SPADS instance and stored in the "savedBoxes.dat" file located in the instanceDir directory
shared: saved start boxes are shared between all SPADS instances that use the same configuration and stored in the "savedBoxes.dat" file located in the varDir directory
shared(<fileLocation>): saved start boxes are shared between all SPADS instances that use the same configuration and stored in the <fileLocation> file (if <fileLocation> is a relative path, it is relative to the varDir directory)
Default valueshared

say (command)
Syntax!say <message> - sends chat message <message> from lobby to game
Example(s)"!say I crashed :(" sends "I crashed :(" to game

searchUser (command)
Syntax!searchUser <userFilter>|@<ipFilter> - shows main information concerning all known accounts matching <userFilter> or <ipFilter>
Example(s)"!searchUser abc" gives information about known accounts containing "abc" in their name
"!searchUser @192.168.*" gives information about known accounts whose IPs match the "192.168.*" mask

send (command)
Syntax!send <command> - sends command <command> to server on AutoHost interface
Example(s)"!send /cheat" sends "/cheat" on AutoHost interface

sendLobby (command)
Syntax!sendLobby <command> - sends command <command> to lobby server (use quotes or backslash if you need to put spaces in lobby command parameters, similar to shell)
Example(s)"!sendLobby SAYPRIVATE joe Hi\ there!" sends "SAYPRIVATE joe Hi there!" to lobby server
"!sendLobby SAYBATTLE 'this is my message containing spaces'" sends "SAYBATTLE this is my message containing spaces" to lobby server

sendRecordPeriod (global setting)
Explicit nameSend record period for output flood protection
DescriptionPeriod in seconds during which data sent to lobby server is measured to avoid flooding it (see also maxBytesSent and maxLowPrioBytesSent).
A value of '0' disables output flood protection.
Format / Allowed valuesInteger
Default value10

sequentialUnitsync (global setting)
Explicit nameSequential unitsync mode
DescriptionSpecifies if SPADS must use the unitsync library in sequential mode instead of parallel mode. When using sequential mode, all the SPADS instances with same varDir will synchronize themselves so that only one instance is calling the unitsync library at a time.
Format / Allowed values0: disabled
1: enabled
Default value0

set (command)
Syntax!set <spadsSetting> <newValue> - changes a SPADS setting manually (use "!list settings" to list available settings)
Example(s)"!set map Comet Catcher Redux" sets map to "Comet Catcher Redux"
"!set map 5" sets map to the 5th map returned by "!list maps" command

shareId (preference)
Explicit nameShare ID (coop group)
DescriptionWhen a manual ID share mode is selected (idShareMode set to "manual" or "clan"), "shareId" preferences are used by SPADS to know which players must share ID.
If your "shareId" preference is null, you won't share units with anyone.
Else, you will share units with all players of the same team having the same "shareId" preference as yours.
The "!coop <coopIdent>" command can be used as an alias of "!pSet shareId <coopIdent>"
Format / Allowed values<null>: ID share disabled
Any string: ID share enabled with other players having same "shareId" preference value
Default value<null>

shareId (preset setting)
Explicit nameDefault value of "Share ID (coop group)" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to shareId for more information.
Format / Allowed values<null>
Any string
Default value<null>

sharedDataRefreshDelay (global setting)
Explicit nameShared data refresh delay
DescriptionDelay in seconds between checks for updates in shared data files. This is the maximum delay before an update performed in shared data by one SPADS instance is applied to the other instances.
A value of 0 disables periodic checks for updates in shared data files (in this case shared data are only refreshed when the instance needs to update it, to avoid overwriting changes made by other instances).
Format / Allowed valuesInteger
Default value5

simpleEventLogLevel (global setting)
Explicit nameSimpleEvent log level
DescriptionLog level of the SimpleEvent module
Format / Allowed values0: critical
1: errors
2: warnings
3: notices
4: information
5: debug
Default value4

skillMode (preference)
Explicit nameSkill mode
DescriptionSpecifies how the player's skill is estimated when auto-balancing teams.
This is a special preference, it cannot be set by the user himself with "!pSet" command, it must be set by an AutoHost privileged user with "!chskill" command.
Format / Allowed valuesrank: player's skill is estimated from his rank (cf rankMode).
TrueSkill: player's skill is estimated from his TrueSkill(tm) ranking corresponding to current game type (Duel, FFA, Team or TeamFFA)
Default valuerank

skillMode (preset setting)
Explicit nameDefault value of "Skill mode" preference
DescriptionThis is the default value for the preference with same name (this value is used when the user's skillMode hasn't been set with !chskill command).
Refer to skillMode for more information.
Format / Allowed valuesrank
TrueSkill
Default valuerank

smurfs (command)
Syntax!smurfs [<username>|#<accountId>] - finds smurf accounts of players in battle, or those of <name> if specified (requires user data retention)
Example(s)"!smurfs" lists smurf names of players currently in AutoHost battle
"!smurfs FakeNoob" lists FakeNoob's smurf accounts
"!smurfs #1234" lists smurf accounts of account ID "1234"

spadsLogLevel (global setting)
Explicit nameSPADS main log level
DescriptionLog level of the core SPADS component
Format / Allowed values0: critical
1: errors
2: warnings
3: notices
4: information
5: debug
Default value4

specAfk (command)
Syntax!specAfk - Force all unready and AFK/idle players to spec

speedControl (preset setting)
Explicit nameAuto adjust game speed
DescriptionSpecifies how the game speed must be auto-adjusted according to current players CPU usages.
Format / Allowed values1: use average CPU usage to auto-adjust game speed (this setting will drop players having slow CPUs if they are slowing the game)
2: use maximum CPU usage to auto-adjust game speed (this setting will slow the game to allow players having slow CPUs to catch up)
Default value2

split (command)
Syntax!split h|v|c1|c2|c|s <percent> - splits map for starting positions
Example(s)"!split h 25" splits map horizontally
"!split v 25" splits map vertically
"!split c1 25" splits map on top left and bottom right corners
"!split c2 25" splits map on top right and bottom left corners
"!split c 25" splits map on 4 corners
"!split s 25" splits map on 4 sides

spoofProtection (preference)
Explicit nameSpoof protection
DescriptionWhen spoof protection preference is enabled, SPADS checks that the in-game IP address of the user matches his IP address in lobby. If they don't match, SPADS can auto-kick the player from game, or print a warning message. Spoof protection may produce false positives (if a proxy is used to connect to lobby server for instance).
Format / Allowed valueson: spoof protection is fully enabled, player is auto-kicked from game if IP addresses don't match
off: spoof protection is disabled
warn: spoof protection is partially enabled, a warning is printed if IP addresses don't match
Default valuewarn

spoofProtection (preset setting)
Explicit nameDefault value of "Spoof protection" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to spoofProtection for more information.
Format / Allowed valueson
off
warn
Default valuewarn

springConfig (global setting)
Explicit nameSpring config file path
DescriptionAbsolute path of the main Spring configuration file (usually springsettings.cfg).
This setting is not supported by spring-dedicated, it is only usefull when using SPADS with spring-headless.
Format / Allowed values<null>: no configuration file is needed (spring-dedicated case), or default configuration file is used (spring-headless case)
Absolute path to a correct Spring configuration file: configuration file used by spring-headless
Default value<null>

springDataDir (global setting)
Explicit nameSpring data directories
DescriptionAbsolute pathes of the directories containing Spring base files, games or maps.
Directories must be separated by colons (":") on Linux, and by semicolons (";") on Windows.
When Spring version auto-management is enabled (cf autoManagedSpringVersion), Spring base files are automatically loaded, so only Spring data directories containing games or mods need to be declared here in this case.
Format / Allowed valuesAny readable directories (absolute pathes)
Default value%dataDir% (set during installation, examples: "/share/games/spring", "C:\Program files\Spring")

springServer (global setting)
Explicit nameSpring server path
DescriptionAbsolute path of the Spring server binary file. This setting must only be defined when a custom Spring installation is used with SPADS, i.e. when Spring version auto-management is disabled (cf autoManagedSpringVersion).
Format / Allowed values<null>
Any executable file absolute path
Default value%springServer% (set during installation, examples: "/var/home/spring/bin/spring-dedicated", "C:\Program files\Spads\spring-headless.exe")

springServerType (global setting)
Explicit nameSpring server type
DescriptionType of Spring server binary used with SPADS.
This setting must be defined if Spring version auto-management is enabled (cf autoManagedSpringVersion).
Format / Allowed values<null>: the server type is auto-detected from spring server binary name (see springServer)
dedicated
headless
Default value%springServerType% (set during installation, example: "dedicated")

springieEmulation (global setting)
Explicit nameSpringie emulation mode (deprecated)
DescriptionThis setting is ignored since SPADS 0.13.39.
Format / Allowed valueson
off
warn
Default valueoff

start (command)
Syntax!start - launches the game if everyone is ready and teams are even

startpostype (battle setting)
Explicit nameStart position type
DescriptionDetermines how start positions are affected to players
Format / Allowed values0: Fixed (Fixed start positions of the map are used in ascending order)
1: Random (Fixed start positions of the map are used in random order)
2: Choose in game (Start positions are chosen by players in game)
Default value2

stats (command)
Syntax!stats - prints statistics for the last game played on the AutoHost

status (command)
Syntax!status [battle|game] - prints battle or game status (players teams, IDs, status...)
Example(s)"!status battle" prints battle status
"!status game" prints game status (only works when a game is running)
"!status" prints game status if game is running, battle status otherwise

statusFloodAutoKick (global setting)
Explicit nameStatus flood auto-kick thresholds
DescriptionSpecifies the record period and the maximum number of status changes triggered by a user during this period in the battle lobby before auto-kick for flood protection
Format / Allowed values<nbMsg>;<delay>
  where <nbMsg> is the maximum number of status changes before kick (integer)
        <delay> is the record period in seconds (integer)
Default value8;8

stop (command)
Syntax!stop - forces current running game to stop

teamSize (preset setting)
Explicit nameTeam size
DescriptionTarget size of each team (number of ID by team).
This is one of the three preset settings used by SPADS to determine the target battle structure (for battle auto-management in particular):
- nbTeams (number of teams in the game)
- teamSize (number of ID by team)
- nbPlayerById (number of player by ID)
Format / Allowed valuesNon-null integer
Default value6

trustedLobbyCertificatesData (global setting)
Explicit nameTrusted lobby certificates data mode
DescriptionData storage and sharing mode for trusted lobby certificates.
When set to "private", the data file is stored in the instanceDir directory and is private to each SPADS instance.
When set to "shared", the data file is stored in the varDir directory by default and is shared between all SPADS instances that use the same configuration.
The default file name for the data file is "trustedLobbyCertificates.dat". When using shared mode, an alternate file name/location can be provided in parentheses "shared" keyword to use a specific non-default name/location for the data file.
Format / Allowed valuesprivate: trusted lobby certificates are private to each SPADS instance and stored in the "trustedLobbyCertificates.dat" file located in the instanceDir directory
shared: trusted lobby certificates are shared between all SPADS instances that use the same configuration and stored in the "trustedLobbyCertificates.dat" file located in the varDir directory
shared(<fileLocation>): trusted lobby certificates are shared between all SPADS instances that use the same configuration and stored in the <fileLocation> file (if <fileLocation> is a relative path, it is relative to the varDir directory)
Default valueshared

unban (command)
Syntax!unban <usernameOrFilters>|(<banEntryHash>) - removes <usernameOrFilters> or <banEntryHash> from banlist (refer to ban command for filters syntax)
Example(s)"!unban badBoy" unbans badBoy (removes all ban entries matching user badBoy)
"!unban name=~.*bad.*;accountId>900000" removes all ban entries matching the filter "name=~.*bad.*;accountId>900000"
"!unban (BnV8v)" removes the ban entry whose hash is "BnV8v" (ban entry hashes are shown in "!list bans" output)

unbanIp (command)
Syntax!unbanIp <username>|#<accountId> - removes bans matching current account IP from banlist (same as doing "!unban ip=<userIp>")

unbanIps (command)
Syntax!unbanIps <username>|#<accountId> - removes bans matching all known account IPs from banlist (same as doing "!unban ip=<userIp>" for all IPs)

unitsyncDir (global setting)
Explicit nameUnitsync library directory
DescriptionAbsolute path of the unitsync library directory. This setting must only be defined when a custom Spring installation is used with SPADS, i.e. when Spring version auto-management is disabled (cf autoManagedSpringVersion).
Format / Allowed values<null>
Any readable directory containing a unitsync library (absolute path)
Default value%unitsyncDir% (set during installation, examples: "/usr/local/lib", "C:\Program files\Spring")

unlock (command)
Syntax!unlock - unlocks current battle (only if it has been locked manually with lock command)

unlockSpec (command)
Syntax!unlockSpec - unlocks temporarily an autolocked battle to allow you to join as spectator

unlockSpecDelay (preset setting)
Explicit nameUnlock-for-spectator delay
DescriptionThe !unlockSpec command allows players to unlock temporarily a battle so that they can join as spectator: the battle is unlocked and re-locked automatically as soon as they join it.
The "unlockSpecDelay" preset setting specifies both the maximum delay during which battle is unlocked to allow the spectator to join (if he didn't join during this time, the battle is re-locked anyway to prevent other players to join and think they can play), and the minimum delay before the same user can execute the !unlockSpec command another time.
Format / Allowed values<unlockTime>;<delayForRetry>
  where <unlockTime> is the maximum delay in seconds during which battle is unlocked to allow the spectator to join
        <delayForRetry> is the minimum delay in seconds before the same user can execute the !unlockSpec command another time
Default value2;30

update (command)
Syntax!update [<release>] - updates SPADS according to the autoUpdateRelease setting or the release specified as parameter if present
Example(s)"!update testing" updates SPADS for release "testing", even if autoUpdateRelease is empty

updaterLogLevel (global setting)
Explicit nameUpdater log level
DescriptionLog level of the Updater module
Format / Allowed values0: critical
1: errors
2: warnings
3: notices
4: information
5: debug
Default value4

useWin32Process (global setting)
Explicit nameUse Win32 process
DescriptionSpecifies if SPADS must use the native process spawning method to launch Spring server on Windows (using Win32 process instead of Perl fork emulation)
Format / Allowed values0: Perl fork implementation is used to spawn Spring server process
1: Win32 process is used to spawn Spring server process (allowed on Windows platform only)
Default value0

userDataRetention (global setting)
Explicit nameUser data retention
DescriptionSPADS can store user data (IP addresses, ranks ...) so that IP bans and anti-smurf are possible.
The "userDataRetention" global setting contains the number of days during which user data are kept even if the user hasn't been seen online, followed by the maximum number of IPs (useful to deal with dynamic IPs) and the maximum number of names (useful to track renames) that can be bound to an account, separated by ";".
Format / Allowed values<retentionPeriod>;<maxIPs>;<maxNames>
  where <retentionPeriod> is the delay in days during which user data are stored ("-1" => data are kept forever, "0" => user data retention disabled)
        <maxIPs> is the maximum number of IPs bound to an account ("-1" => all IPs are kept, "0" => IPs aren't stored)
        <maxNames> is the maximum number of names bound to an account ("-1" => all names are kept, "0" => only one name is stored by account, "1" => max 2 names ...)
Default value0;0;0

varDir (global setting)
Explicit nameSPADS dynamic data directory
DescriptionLocation of SPADS dynamic data. This directory path can be an absolute path or a path relative to SPADS installation directory.
Format / Allowed valuesAny writable directory
Default value%varDir% (set during installation, examples: "var", "/var/home/spring/spads/var", "C:\Program files\Spads\var")

version (command)
Syntax!version - requests versions of all SPADS components

vote (command)
Syntax!vote yes|y|no|n|blank|b - votes
Example(s)"!vote y" votes yes for the current called vote
"!vote b" votes blank for the current called vote

voteMode (preference)
Explicit nameVote mode
DescriptionWhen a vote is called and your vote mode is set to "away", SPADS will only wait for your vote for the time configured by awayVoteDelay. When this delay has expired, SPADS will automatically vote blank for you. But you can still cancel this blank vote by voting before the called vote expires (refer to voteTime).
When your vote mode is set to "normal", SPADS will wait for your vote until the called vote passes, fails, or expires.
Format / Allowed valuesnormal: normal vote mode
away: away vote mode
Default valuenormal

voteMode (preset setting)
Explicit nameDefault value of "Vote mode" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to voteMode for more information.
Format / Allowed valuesnormal: normal vote mode
away: away vote mode
Default valuenormal

votePvMsgDelay (preference)
Explicit nameVote auto-private message delay
DescriptionDelay in seconds before which SPADS will automatically send you a private message if a vote has been called and you didn't vote yet.
A value of 0 disables this functionality.
Format / Allowed valuesInteger
Default value0

votePvMsgDelay (preset setting)
Explicit nameDefault value of "Vote auto-private message delay" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to votePvMsgDelay for more information.
Format / Allowed valuesInteger
Default value0

voteRingDelay (preference)
Explicit nameVote auto-ring delay
DescriptionDelay in seconds before which SPADS will automatically ring you if a vote has been called and you didn't vote yet.
A value of 0 disables this functionality.
Format / Allowed valuesInteger
Default value0

voteRingDelay (preset setting)
Explicit nameDefault value of "Vote auto-ring delay" preference
DescriptionThis is the default value for the preference with same name (this value is used when a user hasn't set his preference).
Refer to voteRingDelay for more information.
Format / Allowed valuesInteger
Default value0

voteTime (global setting)
Explicit nameVote time
DescriptionWhen a vote is called, this is the delay in seconds during which clients are allowed to vote.
This global setting can also be overridden individually for each command in the commands rights configuration file (see commandsFile). The command-specific setting value must be declared at the end of the corresponding command declaration line, in parentheses. If multiple settings are overridden this way for a command, they must be separated by a comma. For example, to use specific values of "voteTime" and "minVoteParticipation" for the "stop" command, the command declaration line could be: "[stop](voteTime:60,minVoteParticipation:75)".
Format / Allowed valuesInteger
Default value45

welcomeMsg (preset setting)
Explicit nameWelcome message
DescriptionMessage sent to battle lobby when a player joins the battle (lines are separated by character '|').
Lines prefixed with '!' are only sent to the user joining the battle (only supported by uberserver).
%u is replaced by the user joining the battle
%l is replaced by the user access level
%d is replaced by the description of the user access level
%m is replaced by the map name (with spaces replaced by "%20" so that it can be used in url)
%n is replaced by the lobby name of the AutoHost
%v is replaced by SPADS main version number
%h is replaced by the unsigned map hash
%a is replaced by the map link as specified by mapLink or ghostMapLink
%t is replaced by the time elapsed since last game start
%p is replaced by the currently active global preset
%P is replaced by the description of the currently active global preset
This is a special preset setting: it cannot be changed by using !set command.
Format / Allowed values<null> (no welcome message)
Any string
Default valueHi %u (%d), welcome to %n (SPADS %v, automated host).|!For help, say "!help". Map link: %a

welcomeMsgInGame (preset setting)
Explicit nameWelcome message when game is running
DescriptionMessage sent to battle lobby when a player joins the battle while game is running (lines are separated by character '|').
Lines prefixed with '!' are only sent to the user joining the battle (only supported by uberserver).
%u is replaced by the user joining the battle
%l is replaced by the user access level
%d is replaced by the description of the user access level
%m is replaced by the map name (with spaces replaced by "%20" so that it can be used in url)
%n is replaced by the lobby name of the AutoHost
%v is replaced by SPADS main version number
%h is replaced by the unsigned map hash
%a is replaced by the map link as specified by mapLink or ghostMapLink
%t is replaced by the duration of current game in progress
%p is replaced by the currently active global preset
%P is replaced by the description of the currently active global preset
This is a special preset setting: it cannot be changed by using !set command.
Format / Allowed values<null> (no welcome message)
Any string
Default valueHi %u (%d), welcome to %n (SPADS %v, automated host).|!A game is in progress since %t.|!Say "!status" for more information, and "!notify" to be notified when this game ends.

whois (command)
Syntax!whois <username>|#<accountId>|@<ipAddress> - prints detailed account information
Example(s)"!whois thatGuy" prints information concerning latest account bound to username "thatGuy"
"!whois #1234" prints information concerning account ID "1234"
"!whois @192.168.0.1" prints information concerning latest account bound to IP address "192.168.0.1"