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!"

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

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

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

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

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

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)

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

endVote (command)
Syntax!endVote - cancels current vote

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

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)

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

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

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

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

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

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

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

lock (command)
Syntax!lock - locks battle lobby

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

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

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

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

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

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

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"

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

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

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"

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

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

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

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
Example(s)"!sendLobby SAYBATTLE Hi there!" sends "SAYBATTLE Hi there!" to lobby server

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

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"

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

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

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

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

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

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)

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

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

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

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"