[...] - optional parameter

---------------------------------------------------------------------
Moderator commands:

/ingame <username>
  returns user's in-game time.
/kick <username> [{reason}]
/topic <channel> {new topic}
/chanmsg <channel> {message}
  will display a message in the channel.
/ring <username>
  plays a "ring" sound on user's client program.
/ip <username>
  returns user's IP address.
/mute <channel> <username> [minutes] [ip]
  will mute user for specified time or for indefinite time if "minutes" are not specified.
  Use "ip" (literal keyword, not the IP address) to make mute persistent, that is if user
  will rename his account or register a new one, mute will still affect him (based on his IP)
/unmute <channel> <username>
/mutelist <channel>
  this command is available to normal users as well.
/lastlogin <username>
  will return user's last login date/time
/findip <ipaddress>
  will return a list of clients that are currently using this IP or were recently using it.
  You can use '*' for each field as well, e.g. "192.168.*.*" to search for any IPs that
  start with "192.168...".
/lastip <username>
  will return last IP address used by the user (or current one if still online)
 
---------------------------------------------------------------------
Administrator commands:

(these commands must be put in $local window WITHOUT "/" prefix)

removeaccount <username>
stopserver
  stops the server gracefully (but first saves accounts info to disk).
forcestopserver
  stops the server by calling closeServerAndExit() method, which calls System.exit().
saveaccounts 
  saves accounts info to disk. No need to call this manually - accounts are saved automatically
  on fixed time intervals.
changeaccountpass <username> <new password>
  changes password to "new password". Note that TASClient encodes password with md5 and sends
  base64 representation of md5 hash rather than raw password.
getaccountaccess <username>
  gets the access code. See Account.java and server documentation for more info on this one.
changeaccountaccess <username> <new access code>
  changes access code. See Account.java and server documentation for more info on this one. 
  Misuse of this command may reset user's in-game time!
redirect <IP>
  will make server to enter "redirection mode". New users will be redirected to specified IP and
  immediately disconnected from server. Old users (those who were logged to server before this
  command took effect) won't be disconnected.
broadcast <message>
  will send message from server to all users.
broadcastex <message>
  will popup a message box with <message> text on all users (should be used with care - message 
  boxes poping up might be annoying).
adminbroadcast <message>
  will send a message (as a broadcast) to all administrators currently logged on.
redirectoff
  will disable "redirection mode". Also see "redirect" command.
getaccountcount
  will return number of accounts registered on this server.
getaccountinfo <username>
  will return full account info.
forgemsg <username> <msg>
  forces server to send message <msg> to user. This command is used for debugging purposes only!
forgereversemsg <username> <msg>
  forces server to process message <msg> as if it were sent by the user <username>. This command is used for debugging purposes only!
forceclosebattle <battle_id>
  closes the battle.
ip2country <IP>
  will return country where IP is registered.
reinitip2country <filename>
  will reinit ip2country database from the disk (from file filename).
changecharset <charset>
  will change server's charset. Note: Although charset may change successfully, it might not have
  any effect if it is not installed on the system.
getlobbyversion <username>
  will return player's lobby name and version.
channelmessage <channel> <message>
updatestatistics
  will save current statistics to disk. This command is used for debugging purposes only!
longtimetodate <time>
  will convert long time to human readable date format (long time is time in milliseconds
  since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT).
  Used for debugging purposes.
setchannelkey <channel> <key>
  will lock the channel with key or unlock it if key is "*". This command is available
  to moderators as well.
updatemotd <filename>
  will reload MOTD ("message of the day") from a file <filename>.
launchprocess <process name + parameters>
  used for debugging purposes only! This command will launch the specified process.
  Note though that you can't execute system commands this way (like "dir" on Windows).
  Warning: any process you lunch must terminate immediately or at least before server
  stops, or else server process won't terminate properly (it will remain ghosted until
  all of its child processes are terminated).
getsendbuffersize <username>
  will return socket's send buffer size of the specified user. 
  This command is used for debugging purposes only!
memoryavailable
  will return Runtime.getRuntime().freeMemory().
  This command is used for debugging purposes only!
callgarbagecollector
  will invoke garbage collector. 
  This command is used for debugging purposes only!
  Note that any invocation of this command is unnecessary since garbage collector
  frees memory automatically on-the-fly (when needed). Also, invoking this command 
  will block main server thread until System.gc() call returns, which may impact 
  server performance considerably.
updateip2country
  will update local IP2Country database from the internet in a background thread.
setlatestspringversion <latestSpringVersion>
  will set "latest spring version" field to the specified one. This will force all clients
  who are not using this spring version to request an update from the server. If server
  can not provide a link to the updated installer, it will simply point them to official
  Spring web site and ask them to download the latest Spring version.
reloadupdateproperties
  will reload "update properties" from the file (updates.xml, for example)
setbotmode username mode
  will set username's bot mode to 'mode', where 'mode' must be 0 or 1.
getregistrationdate username
  will retrieve user's registration date
setlatestspringversion version
  will update latest spring version info
reloadupdateproperties
  will reload updates.xml file from the disk
getuserid username
  will retrieve last userID of user <username>
killall [reason]
  will disconnect all clients from the server
retrievelatestbanlist
  forces server to retrieve latest ban list from the database
retrievelatestbanlist
  forces server to update ban entries from the database. Note: you never
  need to call this command manually, it is automatically called by the web
  interface once a ban entry is added.
generateuserid username
  will send ACQUIREUSERID command to <username>. No need to ever call this
  command manually as it is called automatically by the web interface when
  trying to generate user ID.
outputdbdriverstatus
  prints some debug info about database driver to console. Used only for debugging.
