There are three ways how to configure GameBots server. First is to support additional arguments when running the server through command line. Second is to change the information in GameBots ini file and third way is to configure GameBots server online through control connection. This chapter will cover first two ways as the third way is covered by a list of all available commands in previous sections.
The syntax of command line parameters is as follows:
..\UT2004\System\ucc server Name_of_desired_map?game=GameBots_gametype?mutator=mutator1,mutator2,mutator3?variable1=value1?variable2=value2?variable3=value3
Some usefull variables that we can substitute for variable1, variable2, etc. Are below:
Mutator variable - we select here which mutators we want to run in our game. If we want to use multiple mutators at once, we will use "," as delimiter (eg. mutator=GameBots2004.GBHudMutator,GameBots2004.PathMarkerMutator).
TimeLimit – Here we set how long will the game last until the map will change in minutes. Map change cause the GameBots to be temporary disconnected. After the map change user can connect to GameBots again on a new map (the sequence of the maps may be specified by the server map list).
GoalScore – Sets the score threshold. When this threshold is reached, the map change will be triggered and the bot or player who reached this threshold will win the game. Usually you can increase your score by destroying other players (getting „frags“) or by fulfilling the game objectives that may differ for the various game types.
BotServerPort – The bot server will listen on the selected port for connections. Be carefull, if the port is taken by another process or another dedicated server instance, you will not be able to connect to your server instance. The port range allowed in GameBots is 2000 - 32000.
ControlServerPort – The same as above, except the port is used for control server connections. Always set the bot, the control and the observer server port to a different variable.
ObservingServerPort – The same as above, except the port is used for observer server connections. Always set the bot, the control and the observer server port to a different variable.
bRandomPorts variable - can be set to True or False (eg. bRandomPorts=True). If set to true random free ports for bot connection, control connection and observer connection will be picked up (nevertheless the other settings). These ports will be displayed in the server console window after the beginning of the game.
So, the command that would run GameBots deathmatch game type on the map DM-Flux2 with both GameBots mutators on looks as follows. It will also set time limit to 20 minutes and goal score to 20 frags. The server will listen on the port 3024 for bot connections and on the port 3025 for control connections. Result:
..\UT2004\System\ucc server DM-Flux2?game=GameBots2004.BotDeathMatch?mutator=GameBots2004.PathMarkerMutator,GameBots2004.GBHudMutator?TimeLimit=20?GoalScore=20?BotServerPort=3024?ControlServerPort=3025
Other command that would pick random ports looks like this:
..\UT2004\System\ucc server DM-Flux2?game=GameBots2004.BotDeathMatch?mutator=GameBots2004.PathMarkerMutator,GameBots2004.GBHudMutator?TimeLimit=20?GoalScore=20?bRandomPorts=True