GameManager - Manual

This manual describes all the possibilities of the GameManager. Each section is fully illustrated based on an example from one of our servers. (See http://www.my-clan.nl ).




1. Menu

2. Game sheet

3. Log Box

4. HeartBeat dialog

5. E-Mail dialog

6. Messages dialog

7. Current Status dialog

8. Big Brother dialog

9. Gamer Statistics

10. HTML & FTP 

 

Appendix 1. Console commands
Appendix 2. Start up parameters
Appendix 3. Example of configuration file
Appendix 4. HTMLTemplate.txt
Appendix 5. Difference between the quake and the unreal engine with respect to the GameManager

Appendix 6. Color translation table


1. Menu
This section will explain all the menu items available within the GameManager.

1.1 File

1.1.1 File/New
A menu will show displaying the different games. Games are based on different engines. Currently the Quake and the Unreal engine are supported. However each game has its own implementation of the communication protocol. So selecting the appropriate game is necessary.

If you have a game which is not listed but based on one of the supported engines try it using one of the available games. 

1.1.2 File/New/MoHAA
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.3 File/New/MoHAA Spearhead
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.4 File/New/MoHAA Breakthrough
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.5 File/New/Quake 2
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.6 File/New/Quake 3
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.7 File/New/Wolfenstein Enemy Territory
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.8 File/New/Return to Castle Wolfenstein
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.9 File/New/Unreal Tournament 2003
A new sheet will open displaying the icon of the game. 
This game is based on the Unreal engine.

1.1.10 File/New/Unreal Tournament 2004
A new sheet will open displaying the icon of the game. 
This game is based on the Unreal engine.

1.1.11 File/New/Call of Duty
A new sheet will open displaying the icon of the game. 
This game is based on the Quake engine.

1.1.2 File/Open
Opens the configuration of a game and displays it in a new sheet.

1.1.3 File/Save
Saves the configuration of the current game to disk. The sheet stays open. 

1.1.4 File/Close
Closes the current visible game and the sheet.

1.1.5 File/Exit
Exits the GameManager program.

1.2 Game
Each opened sheet will be displayed here. Click on the desired game to switch to it. It's here for easy navigation.

1.3 Extra
This menu will support build in tools for game management.

1.4 Info
Displays information about the GameManager program.

1.4.1 Info/Help
Shows this help file.

1.4.2 Info/About
Will show you the information about the developer of the GameManager and the current version of the software.

Visit our website: http://www.boss-it.nl to check for updates and patches.

2. Game sheet
The Game sheet gives access to all configuration information for this game. In this section the possibilities of each item will be explained

2.1 The Label
The label displays the name of the selected game. If you have, for example, selected File/New/MoHAA the name 'MoHAA - 1' will be displayed. Whereas the 1 is the sequence number of sheets with equal names. So the next MoHAA sheet will be named 'MoHAA - 2'. Notice also that the name of the game is now available in the Game menu.

You can change the name by right clicking on it and selecting 'Rename' form the popup menu.

2.2 Application Box
The Application Box displays the vital information of the game. 
At the left site you will see the icon of the game. 

2.2.1 IP:
Enter the IP address of the game you whish to manage. It is also possible to enter a URL. But since this needs to be resolved an IP address will speed up the program.

Example 1:
MoHAA.My-Clan.nl
Example 2:
80.69.66.213

2.2.2 Port:
Enter the port which the game uses. This port will be used to determine the port which will be used to get the status info.

Example 1:
12203 (Default port for MoHAA.)

NOTE 1: For unreal games enter the port which is used by gamespy. It is determined in the configuration file used to start the server. Default is 7787. (Default port +10).

NOTE 2: Please read Appendix 5. Difference between the quake and the unreal engine with respect to the GameManager to understand how to configure your Unreal game for use with the GameManager.

2.2.3 Passw:
Enter the admin password here. 

2.2.4 Lightning button:
With this button you activate (start) the GameManager for the current game. The timers will run and at the specified intervals the commands will be send to the game and information will be gathered.

Once the GameManager is activated for this game it is not possible to change or add any command into the Commands Box.

Pressing it again wil halt (stop) the GameManager for the current game.

2.3 Commands Box:
This box will display all the scheduled commands for the game. These messages can be added and deleted from the list by using the appropriate buttons.

It will also allow you to enter the Messages dialog, the HeartBeat dialog, the Current Status dialog and the Gamer Statistics dialog. It will also allow you to open the logging screen. These dialogs are explained later in this document.

Since the commands are send to the game using the UDP protocol it is possible they will never arrive at the game. Of course there will also be no response from the game. If this is the case the command is tried three times. If still no response is received the command is assumed to have failed. A 'Game Down' message is generated (See the HeartBeat dialog for more info). The above is not true for games based at the Unreal engine; commands are send via the web-interface instead of using UDP messages. Also the 'Game Down' message is not generated for this engine.

When you select a command in the command list it's components are displayed in the 'At:' and 'Do:' fields for easy editing.

2.3.1 At:
Enter the exact time you would like the commando to be executed (hour:minutes:seconds). These setting use 24 hour clock; 00:00:00 is midnight.

Example 1: 20:00:00 (Eight o'clock in the evening)

2.3.2 Do:
Enter the commando to be issued at the specified time. Use the format as you would have typed in the console of the server.

Example 1: Say "Hello gamers!" 
This example will display the message 'Hello Gamers!' in the game.

Example 2: Exec ffa-public.cfg
(Will execute the ffa-public configuration file)

For more examples of commands see appendix 1. Console commands

2.3.3 + Button: 
Will add the command to the command list. The commands are sorted according to time.

2.3.4 - Button:
Will delete the selected command from the command list. It is also possible to select the command and press the 'delete' key.

2.3.5 Log Button: 
Pressing this button will open the log box. Pressing it again will close the log window. See the section Log Box form more information.

2.3.6 HeartBeat Button:
Pressing this button will open the HeartBeat dialog. See the section HeartBeat dialog for more information.

2.3.7 Messages Button:
Pressing this button will open the Messages dialog. See the section Messages dialog for more information.

2.3.8 Current Status Button:
Pressing this button will open the Current Status dialog. See the section Current Status dialog for more information.

2.3.9 Statistics Button:
Pressing this button will open the Statistics dialog. See the section Statistics dialog for more information.

3. Log Box
This box shows all logging information of all activated games. The logged information is displayed in the following format:



<GameName> > <date> <time> > <command>
<GameName> > <date> <time> > <Response or result>


The first line displays the exact command which is send to the game. (Except if special commands are used, see appendix 1). The second line displays the result or the response the game produced. If the game sends the data into more as one package a third and even a fourth line will be displayed with the same format as the second.

Since the log window does not scroll horizontally part of the commands and results are not visible. They can be viewed individually by selecting the desired line. The 'hint' box will popup showing you the full line.

By right clicking in the Log list a 'Select Log File' dialog will appear. Select the folder and name of the log file. 

NOTE 1: The selected name of the log file will be preceded by the year-month-day literals. (Format
YYMMDD).

Example 1: If you select
D:\LOGS\GameManager.LOG as the folder and name for the log file, files will be created with the following name: D:\LOGS\040302GameManager.LOG (This file would contain the logging info of the 2nd of March 2004.)

NOTE 2: Since the logging is for all activated games combined and not (yet) for a single game, each game should have the same filename for logging! Otherwise the last opened game will decide which log file will be used!

4. HeartBeat dialog
One of the features of the GameManager is checking if the game is still running and possible restart if necessary.

If the GameManager detects a game is not running anymore it will generate a 'Game Down' message. What happens next is decided by the settings in this dialog. 

 

 

 

A 'Game Down' message can be generated in three ways: 

  1. A command from the command list is tried three times and has failed.
  2. A Message from the Message dialog is tried three times and has failed.
  3. The heartbeat is sent three times and has failed three times.

The above is true for games based on the Quake engine. For games based on the Unreal engine there is no reliable way (yet) to test if the game is still running. See appendix 1 how to overcome this situation.

NOTE 1: the status requests generated by the Current Status dialog will not generate a 'Game Down' message.

NOTE 2: if you close the dialog by clicking the OK button the settings are preserved. Please do not forget to save the settings for this game to the Configuration File. If you close the dialog by clicking the cross box at the right top corner changes to the settings will not be preserved.

4.1 Test every ...:
Test every X minutes for response. If you, for example, set this value to 1, the GameManager will make sure a command is sent to the game every minute. If you have configured the GameManager to sent messages to the gamers every minute no special command will be sent. However if you have configured GameManager to sent messages to the gamers every other minute, a special hearbeat command will be sent in between. This command is:

Set GameManagerHeartBeat 1.

Games based on the quake engine will give a response. As long as the response is received the game is presumed to be alive.

Games based on the unreal engine will respond with an error. So for these games choose a very high number like 999 for this setting.

4.2 When down:
Tick this box if you would like the GameManager to start a new instance of the game when the 'Game Down' message is generated. If you do not want to start the game untick this box. 

4.3 Start:
Fill out the complete path to the application you would like to start when the 'Game Down' message is generated. The starting path will be the path to the application.

Example 1:
D:\GAMES\MoHAA\moh_server.exe

4.4 Open folder button:
Use this button to select the application you would like to start by using the 'Select application' dialog.

4.5 Params:
Fill out the starting parameters you whish to be sent to the application when it is started.

Example 1: 
set dedicated 1 +set net_ip 80.69.66.213 +set net_port 12203 +exec server.cfg

4.6 Run minimized:
Tick this box if you would like the application to be started minimized. If unticked the application will be started in normal (not maximized) mode.

4.7 Wait...:
Wait X minutes after start. If you tick the box the GameManager will wait X minutes after the start of the application to resume sending the scheduled commands. This setting is used to prevent the GameManager from detecting a game is down again solely because the restarted game is not fully started yet. So, if your server starts slowly enter a higher value here.

4.8 Send Mail:
The GameManager has a build in mail functionality a can send you a mail as soon as the 'Game Down' message is generated. 

4.9 Mail button:
By pressing this button the E-mail dialog will popup allowing you to enter the E-mail configuration. This mail will be sent as soon as the 'Game Down' message is generated and you have ticked the box before 'Send Mail'. for further information see the E-Mail dialog.

5. E-Mail dialog
This dialog contains the settings of the E-mail and 
server used to sent it. When the mail is sent the 
GameManager is paused until the sending is completed.

5.1 Server:
Enter the IP address or URL of the SMTP server which is used to sent the mail.

Example:
smtp.myisp.com

5.2 Port:
Standard port used for SMTP servers is 25. If your SMTP server uses a different port enter it here.

5.3 To:
Enter the e-mail address to which you would like the mail to be sent. Multiple addresses can be supplied. Separate them using the semi colon (;).

Example:
GameAdministrator@boss-it.nl

5.4 From:
Enter the e-mail address used as a from address. Only a single address can be filled out.

Example:
GameServer1@boss-it.nl

NOTE: the GameManager is not capable of receiving mails.

5.5 CC:
Enter the e-mail address of the one you would like to receive a carbon copy of the mail. Multiple addresses can be supplied. Separate them using the semi colon (;). 

5.6 BCC:
Enter the e-mail address of the one you would like to receive a blind carbon copy of the mail. Multiple addresses can be supplied. Separate them using the semi colon (;). 

5.7 Subject:
Enter the subject of the mail.

Example:
MoHAA Server is down!

5.8 Body:
Enter the body of the mail.

Example:
Restart of MoHAA Server occured.

5.9 T button:
Use the Test button to test the mail functionality. Once you hit this button a mail will be sent using the settings from the dialog. 

 

6. Messages dialog
With this dialog it is possible to configure In-Game messages which will be displayed at the defined interval in sequential or random order. It is even possible to use variables to display actual status information. The Message List will display all configured messages. 

NOTE: if you close the dialog by clicking the OK button the settings are preserved. Please do not forget to save the settings for this game to the Configuration File. If you close the dialog by clicking the cross box at the right top corner changes to the settings will not be preserved.

6.1 Message:
Enter the message you would like to be sent to the gamers. It is not necessary to use '
Say'. It is added automatically by the GameManager. 

The following variables can be used in the messages. The order of appearance and the count of the variables in the message do not matter.

%E - Ping scan threshold in # ms.
%S - # of successive scans for the ping scan.
%B - # of banned players.
%G - # of gamers who visited the server.
%F - # of total frags recorded on the server.

When a message is selected in the message list it will be filled out in the edit box below 'Message:'.

Example 1: maximum ping is %Ems in %S successive scans.

Example 2: Welcome! Have fun and behave!

6.2 Add button:
Use this button to add the message entered behind 'message:' to the message list.

6.3 Edit button:
Use this button to replace the selected message in the message list with the message entered below 'message:'

6.4 Delete button:
Use this button to delete the selected message in the message list.

6.5 Up button:
Use this button to move the selected message in the message list one position to the top.

6.6 Down button:
Use this button to move the selected message in the message list one position to the bottom.

6.7 Display:
Fill out how often you want a message from the message list to be displayed to the gamers. Remember it can be annoying to the gamers to receive to much information to quick! 

6.8 Displayed/Random order:
Please select whether you would like the message to be displayed in sequence or randomly chosen from the message list.

 

7. Current Status dialog
This dialog will display the current status of the game. An icon will display the current map in the game or a gray box if the picture is not available.

The images used are located in the GameManager\Images folder. You can add images here yourself. Please read the instructions contained in the images.ini file.
See also the Download section here you can download the latest image packs.

NOTE: if you close the dialog by clicking the OK button the settings are preserved. Please do not forget to save the settings for this game to the Configuration File. If you close the dialog by clicking the cross box at the right top corner changes to the settings will not be preserved.

7.1 Get Status...:
Check this box to allow the GameManager to request the status of the game at the defined intervals. The GameManager will start the status request as soon as the game is activated.

Fill out the interval at which you would like the GameManager to request the status. If you specify the interval to short strange things may happen! The GameManager will wait maximum of 2 seconds for a response on a status request. So if you specify this value to low you are bombarding your server with requests it maybe can not handle thus generating a DOS attack :-(.

The status received is parsed and displayed in the list. It is possible certain columns stay empty. This is the case as some games do not provide as much detail as other games do. 

7.2 BB button:
The Big Brother button will open the Big Brother dialog which enables the GameManager to take actions based on the status information received.

 

8. Big Brother dialog
With this dialog you can enable GameManager to kick gamers off the server if either their ping is to high, or they do not use proper language in their names, or their IP addresses are unwanted at your server. The Gamer Statistics will count the amount of times a gamer is kicked.

NOTE: if you close the dialog by clicking the OK button the settings are preserved. Please do not forget to save the settings for this game to the Configuration File. If you close the dialog by clicking the cross box at the right top corner changes to the settings will not be preserved.

8.1 Kick for High ping:
Tick this box if you want GameManager to check the pings of the gamers and kick them if the ping is to high for a certain amount of successive scans. 

8.2 Ping>:
Fill out the maximum ping here. (You can display this value in the messages by using %E).

Also fill out the successive scans. The gamer is kicked once their ping is to high for each scan in a row. (You can display this value in the messages by using %S)

If you have configured the GameManager to scan every X seconds in the Current Status dialog the gamer will be kicked if his ping is to high for X times the amount of successive scans.

Example: Ping > 250 in 5 successive scans, Get status every 15 seconds.

In this example the gamer is kicked is if ping is 5 times higher as 250ms thus allowing the gamer to have a high ping for a maximum of 75 seconds.

Remember during a map change pings of gamers will generally be high! So if you set these values to tight you may end up losing your gamers during a map change.

8.3 Message:
Fill out the message you want to be displayed when the gamer is kicked. You can use %P as a variable for the gamers name.

8.4 Kick for bad word...:
Tick this box if you want GameManager to check for bad words in the names of the gamers. The GameManager will look for the phrases displayed in the list. Be careful! When you want a gamer to be kicked because he is, for example, using the name GOD you would add GOD to the list. But this will also kick the gamer with the name Godfried (which is/can be a common name for a person).

The 'UnnamedSoldier' and 'Player' are mostly added to this list. These are the default names in certain multiplayer games. If the gamer doesn't have the decency to come up with a nickname then why not kick him/her?

You can delete a word from the list by selecting it and pressing the delete key on your keyboard.

8.5 Message:
Fill out the message you want to be displayed when the gamer is kicked. You can use %P as a variable for the gamers name.

8.6 Kick for unwanted IP:
Tick this box if you want GameManager to check for unwanted IP addresses of gamers. Until today some people have difficulty behaving themselves on servers. If they have cable or DSL or another fixed IP address you can add them to this list thus preventing them from playing on your server even if they change their nickname.

You can delete an IP from the list by selecting it and pressing the delete key on your keyboard.

8.7 Message:
Fill out the message you want to be displayed when the gamer is kicked. You can use %P as a variable for the gamers name.

9. Gamer Statistics Dialog
This dialog allows you to save statistics of the game managed by the GameManager. You can also export these stats to a .CSV file, generate a HTML file and FTP it to a (web) server.

 

 

 

 

 

 

The following statistics are collected:
Name:   - Name of the gamer
Frags:  - Total frags counted for this gamer*
Date:   - Last visit date of the gamer
Time:   - Last visit time of the gamer
Kicked: - # of times the gamer was kicked
Banned: - Whether a gamer is banned or not
Why:    - Reason of banning (will be implemented)
Ping:   - Amount of successive pings which are to high
IP:     - Last recorded IP address

*Frags: This count is not 100% accurate. Since the status of the game is collected each X seconds (as defined in the Current Status dialog) a map change may happen between two scans. Frags made just between the scans and before the map change are lost. Also some games will give each gamer the same frag count when a cooperative game type is chosen. Thus rising the amount of counted frags!

NOTE: if you close the dialog by clicking the OK button the settings are preserved. Please do not forget to save the settings for this game to the Configuration File. If you close the dialog by clicking the cross box at the right top corner changes to the settings will not be preserved.

9.1 File name:
Enter the full pathname and the filename of the GameManager Data File in which the Gamer statistics will be stored.

Use the Open Folder button to select it using the Select GameManager Data File dialog.

Use the Save button to save the current statistics to this file.

9.2 Export to CSV button:
With this button the current displayed statistics will be saved as a .CSV (Comma separated file) which you can import into Excel for further processing. The format of this file is fixed.

9.3 Export to HTML button:
With this button the current displayed statistics will be saved to a .HTML file. The format of this can be changed. See the section HTML & FTP Settings dialog for further details. During export GamerName codes will be translated into the appropriate colors. The color translation table used is listed in Appendix 6.

NOTE: The special command 'ExportToHTML' does the same as pressing this button manually.

9.4 FTP to Server button:
With this file the last generated .HTML file will be FTP'ed to the server. The settings for this action can be set with the HTML & FTP Settings dialog.

NOTE: The special command 'FTPToServer' does the same as pressing this button manually.

9.5 HTM & FTP Settings button:
This button will display the HTML & FTP Settings dialog which allows you to specify the settings for the .HTML export and the FTP settings for the server.

9.6 Live box:
When this box is ticked the statistics displayed will be refreshed each time a status request is done. The interval is specified in the Current Status dialog. Remember to press the OK button if you would like this setting to be preserved. Otherwise the box will automatically untick after a refresh. 

9.7 Statistics:
If you want to delete the statistics of a gamer, select the gamer and press the delete-key. Statistics are automatically saved to file each minute.

In the upper right corner of the statistics box you can view the amount of gamers who visited this server.

 

10. HTML & FTP Settings dialog
This dialog allows you to specify the settings for the .HTML export and the FTP settings.

10.1 Template File:
This input box allows you to specify the template file which will be used by the .HTML export.

The default template file is named: HTMLTemplate.txt

 

The template file uses the following variables:

<*GameType*> - Full Game Name.
<*GameIP*>   - IP address as listed on the main sheet.
<*GamePort*> - Port as listed on the main sheet.
<*GameName*> - Game Name as listed on the main sheet.
<*NOWDATE*>  - Date the export is performed.
<*NOWTIME*>  - Time the export is performed.

<*REPEATGAMER*> - The export routine will check for this statement and the 
                  closing statement. Everything in between will be repeated
                  for as many gamers in the statistics file.
    <*GamerNo*>     - Ranking of gamer, ordered by amount of frags.
    <*GamerName*>   - Name of gamer.
    <*GamerFrags*>  - Total frags counted for this gamer*.
    <*GamerDate*>   - Last visit date of the gamer. 
    <*GamerTime*>   - Last visit time of the gamer.
    <*GamerKicked*> - # of times the gamer was kicked.
    <*GamerBanned*> - Whether a gamer is banned or not.
<*/REPEATGAMER*> - closing statement.

*Frags: This count is not 100% accurate. Since the status of the game is collected each X seconds a map change may happen between two scans. Frags made just between the scans and before the map change are lost. Also some games will give each gamer the same frag count when a cooperative game type is chosen. Thus rising the amount of counted frags!

10.2 View template button:
With this button you can view the template file. If the file can not be found nothing will happen.

10.3 Server:
Enter the IP address of the (web)server you would like the file to be sent to. A url will also work.

10.4 Username:
Enter the username necessary to login to the (web)server.

10.5 Password:
Enter the password necessary to login to the (web)server.

10.6 Destination File:
Enter the path and the file name where you would like the file to be put on the server. 

 

Appendix 1. Console Commands
Games are based on different engines. Each engine has it's own console commands. So please read the manual of your game to find out the proper console commands. In this section we will address some issues we encountered and the special commands we have implemented to solve these issues.

Use of the CopyFile special command:
For the Quake 2 engine console commands are preceded by:
RCON <PASSWORD>
This is done by the GameManager (hence the passw. box on the main sheet). So if you want the GameManager to execute a certain configuration you would ordinary type into the console of the game: RCON <PASSWORD> EXEC FFA-PUBLIC.CFG 
(Where FFA-PUBLIC.CFG is the configuration file). Since the GameManager adds the RCON bit itself now you only have to enter: EXEC FFA-PUBLIC.CFG into the Commands section of the GameManager

The Unreal doesn't use Exec to change the configuration. It uses this command to run a script. Therefore we have implemented a special command: CopyFile
The syntax of this command is:
CopyFile <FromFile> <ToFile>
I
f spaces are used in the <FromFile> or <ToFile> put it in between quotes (")

We have started our Unreal2003 server with the following batch file:

@echo off
:10
ucc server DM-Plunge?game=XGame.XDeathmatch port=7777 multihome=80.69.X.X ini=BOSS-server.ini log=D:\LOGS\Games\ut2003-1.log
Copy D:\LOGS\Games\ut2003-1.log D:\LOGS\Games\ut2003-1-crash.log
GoTo 10

This batch file makes sure Unreal2003 is restarted after a crash. (We don't use the GameManager for this function here since there is no reliable way to check if the game is running, so no 'Game Down' message can be generated).

In the command section of the GameManager we have entered the following 2 commands:

19:59:00 CopyFile D:\UT2003\System\Public.ini D:\UT2003\System\BOSS-server.ini
19:59:15 Exit

The first command copies a new server configuration file using the special command: CopyFile.
The second command is a console command of UT2003 which tells the game to stop. The batch file will now automatically restart the game with the new configuration!

Use of the ExportToHTML and FTPToServer special commands:
These commands help you to export the statistical information to your website. Thus allowing the gamers to look at their results on the internet.

The syntax of the commands is:
ExportToHTML
FTPToServer

(Note the capitals)
When the ExportToHTML command is issued the .HTML page is generated using the defined template. (See the HTML & FTP Settings dialog).
When the FTPToServer command is issued the .HTML page is uploaded to the server using the settings of the HTML & FTP Settings dialog

An example of such a statistic page can be found here: Http://www.my-clan.nl/mohaas.html  

We have therefore entered the following commands section of the GameManager:

03:00:00 ExportToHTML
03:00:30 FTPToServer

So, the statistics are update every night at 3 am. Of course more often is also possible. However generating the statistics does use some processor capacity. Be careful not to generate all statistics for all games at the same time since this may consume a lot of CPU time! (depending on your system of course).

 

Appendix 2. Start up parameters
The GameManager can be started using startup parameters. This enables you to start the GameManager and let the GameManager start the games for you. The parameters you can use are:

/f: followed by the Configuration file you wish to load.
/s  behind a Configuration file tells the GameManager to start it.
/m as last parameter tells GameManager to minimize itself after startup.

Example:
GameManager.exe /f:"d:\gamemanager\MoHAA.gtf" /s /f:"d:\gamemanager\Q2.gtf" /s /m

This example will load and start 2 configuration files.

 

Appendix 3. Example of configuration file
In this appendix a sample configuration file is displayed. This configuration file can be edited by hand. However, we recommend you use the GameManager to create and populate the file.

[Application]
GameName=<<BOSS>> MoHAA
DefaultName=0
Game=0
IP=80.69.66.213
Port=12203
Passw=unknown
Log=D:\LOGS\GameManager\GameManager.log

[Messages]
Random=1
Interval=3
Message_1=<<B.O.S.S.>> maximum ping is %Ems in %S successive scans
Message_2=<<B.O.S.S.>> Total frags on this server: %F
Message_3=<<B.O.S.S.>> %B players have been banned.
Message_4=<<B.O.S.S.>> %G gamers have visited this server since 18 feb. 2004
Message_5=<<B.O.S.S.>> This server is hosted by B.O.S.S. (www.boss-it.nl)
Message_6=<<B.O.S.S.>> Server admin is _zer0_@my-clan.nl
Message_7=<<B.O.S.S.>> Welcome! Have fun and behave!
Message_8=<<B.O.S.S.>> This server is open for public from 20:00 till 24:00 !
Message_9=<<B.O.S.S.>> You are being watched!

[Heartbeat]
Filename=D:\GAMES\MoHAA\moh_server.exe
Start=1
Mail=1
Wait=1
Interval=1
TimeOut=1
Params=+set dedicated 1 +set net_ip 80.69.66.213 +set net_port 12203 +exec ffa-private.cfg
Minimized=1

[Stats]
DatabaseName=D:\LOGS\GameManager\MoHAA.gdf
GetStatus=1
Interval=15
LiveUpdate=0

[BigBrother]
KickForHighPing=1
KickForBadName=1
KickForBadIP=0
MaxPing=250
PingScans=5
BadPingMessage=Kicking %P for bad ping.
BadNameMessage=Kicking %P for bad name.
BadIPMessage=Kicking %P for unwanted IP.
BadName_1=UnnamedSoldier

[HTML]
HTMLTemplateFile=D:\GAMES\GameManager\html\htmltemplate.txt
FTPHost=www.boss-it.nl
FTPUser=username
FTPPassword=password
FTPFileName=www/mohaa.html

[Timers]
Time_1=00:00:00
Comm_1=set password unknown2
Time_2=00:00:01
Comm_2=say <<B.O.S.S.>> you will be disconnected after this map !
Time_3=01:59:45
Comm_3=say <<B.O.S.S.>> server will shutdown in 15 seconds !!!
Time_4=01:59:50
Comm_4=say <<B.O.S.S.>> server will shutdown in 10 seconds !!!
Time_5=01:59:55
Comm_5=say <<B.O.S.S.>> server will shutdown in 5 seconds !!!
Time_6=01:59:56
Comm_6=say <<B.O.S.S.>> server will shutdown in 4 seconds !!!
Time_7=01:59:57
Comm_7=say <<B.O.S.S.>> server will shutdown in 3 seconds !!!
Time_8=01:59:58
Comm_8=say <<B.O.S.S.>> server will shutdown in 2 seconds !!!
Time_9=01:59:59
Comm_9=say <<B.O.S.S.>> server will shutdown in 1 second !!!
Time_10=02:00:00
Comm_10=exec ffa-private.cfg
Time_11=03:01:00
Comm_11=ExportToHTML
Time_12=03:01:30
Comm_12=FTPToServer
Time_13=20:00:00
Comm_13=exec ffa-public.cfg

[E-Mail]
Server=smtp.boss-it.nl
Port=25
To=GameAdministrator@boss-it.nl
From=GameServer1@boss-it.nl
CC=_zer0_@my-clan.nl
BCC=
Subject=MoHAA server down!
Body_1=MoHAA server is down.
Body_2=Restart has been initiated.
Body_3=

 

Appendix 4. HTMLTemplate.txt
In this appendix we will give you an example of the HTMLTemplate.txt file.


<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

  <title>
Game Statistics: <*GameType*> (<*GameIP*>:<*GamePort*>)
  </title>
</head>

<body style="font-family: Verdana; font-size: 10 pt; color: #FFFFFF" background="images/background.gif" link="#0000FF" vlink="#800080" bgproperties="fixed">

<table style="font-family: Verdana; font-size: 10 pt; color: #FFFFFF">
  <tr>
    <td><b>
      <font color="#FF0000">Game:</font></b> </td><td><*GameName*>
        </td>
  </tr>
  <tr>
    <td><b>
      <font color="#FF0000">Type:</font></b> </td><td><*GameType*>
    </td>
  </tr>
  <tr>
    <td><b>
      <font color="#FF0000">Ip/Port:</font></b></td><td><*GameIP*>:<*GamePort*>
    </td>
  </tr>
  <tr>
    <td><b>
      <font color="#FF0000">Report:</font></b> </td><td><*NOWDATE*> <*NOWTIME*>
    </td>
   </tr>
</table> 
<P>
</P>


<Table style="font-family: Verdana; font-size: 10 pt; color: #FFFFFF" border="1" cellpadding="4" cellspacing="0">

<tr style="font-family: Verdana; font-size: 10 pt; color: #FF0000"
    align="right">
  <td><b>#</b></td>
  <td><b>Name:</b></td>
  <td><b>Frags:</b></td>
  <td><b>Last Visit:</b></td>
  <td><b>kicked #:</b></td>
  <td><b>Banned?:</b></td>
</tr>

<*REPEATGAMER*>
  <tr align="right">
    <td><*GamerNo*>.</td>
    <td><*GamerName*></td>
    <td><*GamerFrags*></td>
    <td><*GamerDate*> <*GamerTime*></td>
    <td><*GamerKicked*></td>
    <td><*GamerBanned*></td>
  </tr>
<*/REPEATGAMER*>

</table>

</body>
</html>

 

The Part between <*REPEATGAMER*> and <*/REPEATGAMER*> will be repeated for each gamer in the database. Just above this you see the table heading. The order of the variables is not important. However you cannot use the <GameXXX> variables in the repeated part. They will not be substituted.

 

Appendix 5. Difference between the quake and the unreal engine with respect to the GameManager
The GameManager uses different techniques to issue the console commands to the different engines. For the quake engine the basic syntax: '
RCON <Password> <Command>' is used. This is sent to the IP/PORT combination which you entered on the main sheet of the game. The Unreal engine however is not so simple to address. Here we use the build in web administration interface! (If available) As you may, or may not, know the Unreal 2003 game has a web administration interface. Which should be run at port 9000. The IP address should be the same as where the game runs on. (A future enhancement will be a possibility to enter this ip/port into the GameManager) The entry in the .INI file of the ut2003 game is like this:

[UWeb.WebServer]
Applications[0]=xWebAdmin.UTServerAdmin
ApplicationPaths[0]=/ServerAdmin
Applications[1]=xWebAdmin.UTImageServer
ApplicationPaths[1]=/images
DefaultApplication=0
bEnabled=True
ServerName=80.69.x.x
ListenPort=9000


Now you have enabled the service. The GameManager will try to login to this service with the default username: Admin. The password will be the password you entered in the GameManager at the main sheet of the game.

The build in HTTP engine of the GameManager will send the commands using the Server Console entry of the web administration interface.  Of course you will not notice the difference.

The status
The status of a game is gathered by the GameManager by sending a special crafted UDP packet to a certain IP/Port combination. Again for the Quake engine this is the IP/Port combination the game runs on. For the Unreal engine this is not true. The Unreal engine needs to get this packet on the GameSpy port, by default the gameport+10.
The entry in the .INI file of the ut2003 game is like this:

[IpDrv.UdpGamespyQuery]
MinNetVer=0
OldQueryPortNumber=7787
bRestartServerOnPortSwap=True

So to prepare your UT2003 (and UT2004) for use with the GameManager take the following steps:

1. Enable the Web Administration Interface at port 9000 on the IP address of the game
2. Make sure the default user Admin exists in the Web Administration Interface
3. Make sure the correct password is know to the GameManager.
4. Find the GameSpy port in the .INI file and enter it into the GameManager on the main sheet.

That's all folks.

Appendix 6. Color translation table
This appendix lists the color translation table used in the GameManager. During export to the .HTML file the color codes in the Gamer's Names are translated.
Code RGB Color Color Name
^1 #FF0000  red
^2 #808000  olivegreen
^3 #FFFF00  yellow
^4 #191970  midnightblue
^5 #00FFFF  cyan
^6 #FFC0CB  pink
^7 #FFFFFF  white
^8 #000000  black
^9 #FF0000  red
^0 #000000  black
^a #00CED1  darkturquoise
^b #FFA500  orange
^c #FF4500  orangered
^d #1E90FF  dodgerblue
^e #FF1493  deeppink
^f #87CEEB  skyblue
^g #32CD32  limegreen
^h #9370D8  redpurple = mediumpurple?
^i #4682B4  steelblue
^j #90EE90  lightgreen
^k #FFE4B5  moccasin
^l #ADD8E6  lightblue
^m #FF00FF  magenta
^n #228B22  forestgreen
^o #FFB6C1  lightpink
^p #00FF7F  springgreen
^q #FFE4E1  whitepink = mistyrose?
^r #FFB6C1  lightpink
^s #800080  purple
^t #FF69B4  redpink = hotpink?
^u #800080  purple
^v #008000  green
^w #000000  black
^x #00008B  darkblue
^y #ADD8E6  lightblue
^z #FF8C00  darkorange
^- #A9A9A9  darkgray
^= #008B8B  darkcyan
^[ #008B8B  darkcyan
^] #008B8B  darkcyan
^; #000000  black
^' #FFFF00  yellow
^\ #FF1493  darkpink = deeppink?
^/ #000000  black
^, #808080  gray
^. #800080  purple

This is our best guess in color translation using the official HTML color codes You can see we needed to guess a few colors. If you have any additions or improvements please mail us at: GameManager@Boss-IT.nl

 

End of Manual