Gore Stand-Alone Server Configuaration.

I. Server configuration file.

The server config file controls the basic parameters for operation of a standalone server. The settings and their meanings are explained below:

adminpassword - sets the administrator password for remote administration. The administrator password provides access to game state settings like map, scorelimit, etc.
Example:
adminpassword abracadabra

devpassword - sets the developer password for remote administration.The developer password provides access to development settings such as the renderer controls.
Example:
devpassword IamGod

location - sets the game-spy location code.
Example:
location us

maxconnect - sets the maximum number of players.
Example:
maxconnect 16

publicise - controls whether or not the gore server will be visible to the game-spy master server. This is a boolean 1 or 0 value.
Example:
publicise 1

remoteadmin - controls whether or not remote-administration is allowed. Unless you want to mess with controlling gore remotely from a client keep this off. DO NOT use this unless you properly set the administrator and developer passwords to something other than the defaults. This is a boolean 1 or 0 value.
Example:
remoteadmin 0

servername - sets the server name. This is the name as it will appear on the browser lists.
Example:
servername Bob's Frag Zone

bandwidthin - setting for maximum incoming data rate. See detailed explanation of data-rate settings below.
Example:
bandwidthin 20000

bandwidthout - setting for maximum outdoing data rate. See detailed explanation of data-rate settings below.
Example:
bandwidthout 20000

rules - game to load. Currently only 'gore' is valid. In the future, user mods may require a different game dll.
Example:
rules gore

verbose - controls whether or not extra messages are displayed.
Example:
verbose 0

exitsave - controls whether or not gore will re-write this file on exit. If this is off, changes you make from the console while Gore is running will not be saved.
Example:
exitsave 1

host - controls the address and port that the server will listen on. See detailed discussion below.
Example:
host *

greeting1 - line 1 of server greeting.
greeting2 - line 2 of server greeting.
greeting3 - line 3 of server greeting.
greeting4 - line 4 of server greeting.

sfirewall - address of firewall. This directs gore to go to an alternate address for certain services such as game-spy query-reporting and cd-key validation. See detailed discussion below.

The following is an example server config-file

--------beginning of file------------
adminpassword
devpassword
location us
maxconnect 8
publicise 1
remoteadmin 0
servername Server1 - DM
bandwidthin 20000
bandwidthout 20000
rules gore
verbose 0
exitsave 1
host *
greeting1 Billy Bob's Frag House
greeting2
greeting3 www.billybobsservers.com
greeting4 Enjoy!
sfirewall
--------end of file------------

The default server config file is loading from settings/autoserver.cfg. Alternate files can be manually loaded using the --load command line parameter.

II. Game Mode Configuration File.

The game-mode configuration files are located in the gorerules/settings folder. They are:

dmrules.cfg - settings for dm play
tdmrules.cfg - settings for team-dm play
ctfrules.cfg - settings for ctf play
tactrules.cfg - settings for tactical play.

Currently, there is no way to direct Gore to load an alternate game-mode config file for a particular game-mode. This means that DM will also go to gorerules/settings/dmrules.cfg for the game settings. This also means that in general, only one server for each game mode can be run from a single installation of Gore. This is not strictly true, but if you want to run three DM servers from the same installation they will all have the same game rules (scorelimit, timelimit, etc).

III. Starting a Gore Stand-Alone Server.

The simplest possible command line to start a gore server is:
gore --server
This will use the default server config file (settings/autoserver.cfg) and will run the in last game-mode used.

To be safe and make sure that the proper game mode is loaded, the --gamemode command line parameter should be used. Valid values are (DM, TDM, CTF, TACT).
gore --server --gamemode DM

To direct gore to load an alternate server config file you should use the --load command line parameter. The cfg file will be looked for in the settings folder. This is required for multiple servers and is the most specific way to start a server
gore --server --gamemode CTF --load server1.cfg
will load settings/server1.cfg and then start a ctf server (usings rules from gorerules/settings/ctfrules.cfg)

IV. Bandwidth Settings.

The bandwidthin and bandwidthout settings are very important for proper operation. Basically, these settings should reflect how much bandwidth you want to allocate to Gore and should never exceed the actual physical bandwidth available to your computer. Also remember that in the case of multiple servers the bandwidth usage is additive. Basically, Gore evenly distributes bandwidth to the current players. For example, if I have my bandwidth settings at 10,000 and there are two players connected then 5,000 bytes per second will be available to each player. In the case that one or both players can't actually utilize that much bandwidth (say, if they have modems) then they will be given no more than they can use and some bandwidth may go unused by Gore.

The two biggest things to consider when configuring your bandwidth are a) how much bandwidth you have or how much you want to give to gore and b) how many players you want to support and what the data-rate for each player will be when the server is full.

How much bandwidth you have is a feature of your connection. If you don't know what the data rates are you should contact your provider Remember, Gore works in bytes-per-second. If you are given a data rate in bits per second, divide that number by 10 to get an estimate of your rate in bytes per second. In general, the bandwidthin and bandwithout settings should be the same. However, some connections such as cable-modems have very different capabilities for incoming and outgoing transmission. Also, most of the bandwidth requirement is outgoing so Gore can be configured to use only a small portion of incoming bandwidth. This could be useful if the server machine was also used for browsing / downloading.

Bandwidth per player is an important consideration. If you have a server configured to use 10,000 bytes per second and there are 16 people connected that gives you a maximum avaliable bandwidth of 625 (10000/16) per player which is way to low for good play. In general, small games should provide at least 2500 bytes per second per player and full and large games (over 12 players) should provide more like 3000 to 3500 bytes per second per player when full. Probably the easiest way to configure it is to figure out your max bandwidth, divide that by 2500 and use the result to set the maxconnect setting. For incoming, a Gore server should provide at least 1500 bps/player when full. So, if you have a server configured to use 10,000 bytes per second then maxconnect should be set at four (4).

V. Host Setting.

The host setting controls what address and port the Gore server will listen on. The default setting:
host *
will cause Gore to listen on all incoming addresses on the default port of 27777.
host *:27787
will cause Gore to listen on all incoming addresses on port 27787
host 206.132.45.23
will cause Gore to listen on the incoming address 206.132.45.23 only. Specifying the listen address is necessary only on multi-home systems where a single machine is on mulitiple networks. In this case, the listen address should reflect the address of the adapter on the network (as shown by ipconfig).

VI. Firewall Settings and Port Usage.

The sfirewall settings directs gore to a alternate address for GameSpy services. If the server is behind a firewall the sfirewall setting should point to the firewall and the following ports should be mapped:
27900 => master.gamespy.com:27900 (bi-directional outgoing UDP)
29910 => key.gamespy.com:29910 (bi-directional outgoing UDP)

Also, the firewall should be configured to pass incoming data on the listen port. This defaults to 27777 unless specified otherwise.

VII. Example of Mulitiple Stand-Alone Servers

To run three simulatneous servers (one for each game mode) on the same machine:

Create three cfg files in the settings folder under gore (see files below, you can cut and paste the lines between File and End Of File to the files server1.cfg, server2.cfg, and server3.cfg).

start three instances of Gore using the following commands (creating three different batch files is probably a good idea)

start gore --server --load server1.cfg --gamemode dm
start gore --server --load server2.cfg --gamemode ctf
start gore --server --load server3.cfg --gamemode tact

This will create a dm, ctf, and tact server of 8 players each totalling 60,000 BW usage listenting on ports 27777, 27787, and 27797.

---File: server1.cfg---
adminpassword
devpassword
location us
maxconnect 8
publicise 1
remoteadmin 0
servername Server1 - DM
bandwidthin 20000
bandwidthout 20000
rules gore
verbose 0
exitsave 1
host *:27777
greeting1 Welcome
greeting2
greeting3
greeting4
sfirewall
---End Of File-----

---File: server2.cfg---
adminpassword
devpassword
location us
maxconnect 8
publicise 1
remoteadmin 0
servername Server2 - CTF
bandwidthin 20000
bandwidthout 20000
rules gore
verbose 0
exitsave 1
host *:27787
greeting1 Welcome
greeting2
greeting3
greeting4
sfirewall
---End Of File-----

---File: server3.cfg---
adminpassword
devpassword
location us
maxconnect 8
publicise 1
remoteadmin 0
servername Server3 - TACT
bandwidthin 20000
bandwidthout 20000
rules gore
verbose 0
exitsave 1
host *:27797
greeting1 Welcome
greeting2
greeting3
greeting4
sfirewall
---End Of File-----

CLOSE WINDOW