Server Administration/Setup
A dedicated server is useful for servers that will be run
on the internet or LAN for extended periods of time
and/or will experience a high number of attached clients.
The following lists the most commonly used settings for a
dedicated server.
Starting the Server
To start a server that does not report to the master
server, use the following command line convention:
quake3.exe +set dedicated 1 +set fs_game generations
To start a server that notifies the master server of its
presence, use the following command line convention:
quake3.exe +set dedicated 2 +set fs_game generations
Server Admin Concerns:
Due to memory requirements within Quake 3, server
performance will degrade over time unless the server is
periodically restarted. Symptoms will include
non-animating shaders, choppy item movement, and jerky
animation. This is something internal to Quake 3, we've
consulted with several server admins and even standard
Quake 3 FFA games do this over time. Owing to Gen's
larger memory requirements it tends to just happen
sooner. It is a good idea to use an automated script such
as Cron for linux or BSD, or the Task Scheduler for
Windows based machines to facilitate an automatic restart
of a dedicated server. For cleanest gameplay, once a day
is recommended, preferably at a time when server activity
would be at an absolute minimum. If you need assistance
with this kind of setup please contact the Wirehead team
and we'll be more than happy to help.
Server admins running punkbuster should be aware that we
have hardcoded the r_znear cvar to be set to
"1". This is mandatory for the client to render
certain things properly. Please DO NOT try to force
clients to set the r_znear cvar to any value higher than
1 or your server will be unplayable. Forcing the value to
be within a range of one to any number greater than one
is fine.
Map rotation has been improved upon. There are now four
files that control rotation:
gen_ffa.cfg
gen_tourney.cfg
gen_teamdm.cfg
gen_ctf.cfg
Any time the g_gametype variable changes the appropriate
rotation will execute at the next map load. In this way
if a player wishes to change the game type the server
will not lose map rotation after the gametype changes.
Later, toward our 1.0 version we intend to incorporate a
list-style map rotation without the need of vstr
arguments, as well as a rotation randomizer cvar so
servers can have a bit more variety in what order the
maps cycle. We may even release a patch sometime
following .99e's release just for this purpose.
Command Line Options
Command line options must be set on the command line and
will not work if executed in a config file.
com_hunkmegs
com_hunkmegs - allocates a certain amount of memory for
map and item loading. The default of 92 is required for
the client but is overkill for a dedicated server, and
thus wasting precious server memory. For general use free
for all, tournament maps, and team deathmatch, a
com_hunkmegs setting of 32 is usually sufficient. Using
the included tournament maps only, a com_hunkmegs setting
of 24 may be used to conserve more memory. Servers may
benefit from higher com_hunkmegs settings if using all 3
mappacks, but 56 should be more than sufficient in
extreme cases.
NOTE: If you receive an ERROR: Hunk_Alloc failed then try
increasing the com_hunkmegs setting in increments of 2
until the map successfully loads.
Usage: +set com_hunkmegs
<##>
Sample: quake3.exe +set dedicated 1 +set fs_game
generations +set com_hunkmegs 32
net_ip
If you are on a multi-homed server and the default IP is
not what you want to use for your Quake 3 server, the
net_ip command will need to be used. This must be set on
the command line in the following form.
Usage: +set net_ip
Sample: quake3.exe +set dedicated 1 +set fs_game
generations +set net_ip 192.168.0.0
net_port
Changing the default server port requires the net_port
command be run on the command line. It is useful for
running multiple servers on the same computer or making
the server somewhat more private. The default port is
27960 and is incremented automatically by 1 if another
server is started without a specified port.
Usage: +set net_port
Sample: quake3.exe +set dedicated 1 +set fs_game
generations +set net_port 27961
Configuration Files
To simplify setting up a dedicated server, several
configs files are used to handle map rotation. You may
run these config files from the console at server start,
assuming com_hunkmegs is sufficient for each game type.
Use the following console command convention to run
configs. Please bear in mind the com_hunkmegs setting
provided is ONLY for a dedicated server. Clients should
use the recommended 128 or higher.
The following are sample command lines to get you quickly
up and running for each game type.
Free For All
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 0 +exec gen_ffa.cfg
Tournament
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 1 +exec gen_tourney.cfg
Team Deathmatch
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 3 +exec gen_teamdm.cfg
Capture The Flag
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 4 +exec gen_ctf.cfg
Fully-Loaded Insanity Free For All
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 0 +set dmflags 80 +exec
gen_ffa.cfg
Fully-Loaded Insanity Tournament
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 1 +set dmflags 80 +exec
gen_tourney.cfg
Fully-Loaded Insanity Teamplay
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 3 +set dmflags 80 +exec
gen_teamdm.cfg
Fully-Loaded Insanity CTF
quake3.exe +set dedicated 2 +set fs_game generations +set
com_hunkmegs 56 +set g_gametype 4 +set dmflags 80 +exec
gen_ctf.cfg
Map Packs
If you have installed either the Generations .99e FFA
or CTF map packs the map rotation files included with the
mod itself will be replaced with new ones that accompany
the map pack. Feel free to edit these four rotation files
to include any maps in any order you desire.
Server Only Settings
Server settings are only used only on the server and may
be used at the console or command line. Command line
usage requires a +set before each command.
For example: +set sv_maxclients 16
sv_maxclients
sv_maxclients - sets the maximum amount of clients that
can connect to the server. The default setting is 8.
Setting should be increased for large free for all, team
deathmatch, or CTF maps.
Usage: sv_maxclients
<##>
sv_privatePassword
sv_privatePassword - sets a password on the server so
only clients that know the password can connect to the
server. Clients use the \password command. The default is
for no password required. Set to "" for no
password.
Usage: sv_privatePassword "
"
sv_hostname
sv_hostname - sets the server name that will show up in
the master server list. The name must be enclosed in
quotes if a space is in the name.
Usage: sv_hostname "
"
sv_master1
sv_master1 - sets the primary master server to which your
server reports. The default is master3.idsoftware.com and
it is not recommended that this be changed. Additional
master servers can be added with the sv_master2 through 5
command. The maximum number of masters that can be
reported to is 5.
Usage: sv_master2
sv_maxRate
sv_maxRate - sets the maximum allowable rate a client may
have set when connected to the server. The default is 0,
which is no limit. A suggested setting is 8000 or 10000
so server bandwidth is not used up by high speed clients,
thus allowing modem players to have a smoother game.
Usage: sv_maxRate
<#####>
sv_pure
sv_pure - controls crc/zip check of client pk3 files to
make sure the pk3 file has not been modified for cheating
or other purposes. Client pk3 files must match that of
the server to connect. The default is set to 1, or on.
Set to 0 to turn off check.
Usage: sv_pure 1
sv_floodprotect - This command is normally used in
Quake3 to prevent players from flooding the server,
usually with chat messages. However, it must be disabled
in Generations in order for players to use the +/-
system. Server admins may leave it enabled, however, if
they feel such aliases should not be allowed; however,
players will not be able to use the +hook config (see
Console Commands) to utilize the offhand hook
effectively. The default in Generations Arena is to
enable sv_floodprotect for multiplayer servers unless the
offhand hook is being used.
Server Console Commands
Server console commands are used from the server console
or the remote console.
status
status - shows the client number (num), score, ping,
player name (name), client IP address (address), and port
connected through (qport). Client number is used in
conjunction with the kick command.
Usage: status
kick
kick - removes a player from the server. Particularly
useful for removing disruptive players. To kick a player,
first find the number (num) associated with the player
name via the status command.
Usage: kick
capturelimit
capturelimit - sets the number of flag captures that must
be reached before the level ends and the next level
starts in CTF. Setting capturelimit only has an effect if
the server is in CTF mode.
Usage: capturelimit <##>
fraglimit
fraglimit - sets the amount of frags that much be reached
before the level ends and the next level starts. Setting
fraglimit to 0 results in no fraglimit.
Usage: fraglimit
<##>
matchlimit
matchlimit - sets the number of matches needed to win in
order to advance to the next level. This value is only
relevant for Tournament gameplay. Setting matchlimit to 0
results in no matchlimit.
Usage: matchlimit
<##>
timelimit
timelimit - sets the number of minutes that must be
reached before the level ends and the next level starts.
Setting timelimit to 0 results in no fraglimit.
Usage: timelimit
<#min>
rconpassword
rconpassword - sets remote console password so clients
may change server settings without direct access to the
server console. The default is set to none. Client can
control the server by entering commands on the console
with the format of \rconpassword mypass and then adding
server commands after the \rcon command.
Usage: rconpassword
killserver
killserver - will stop all server services from running
but leaves the Quake III Arena executable running on the
server.
Usage: killserver
Game Commands
Generally, all game commands must be entered after the
level loads either in the config file or on the command
line/console. Exceptions include the g_gametype and
g_motd command. The following are the most useful game
commands for a dedicated server.
g_spawnprotect
g_spawnprotect - sets the amount of time in seconds
that players will be protected from harm after
respawning. Spawnprotection will disappear if a weapon is
fired by the player. Default is disabled. Recommended
settings are between 3-5 seconds (long enough to get a
gun).
Usage: g_spawnprotect
<#seconds>
g_warmup
g_warmup - sets the amount of time in seconds that
players may practice before the actual tournament match
starts. The default is 20 seconds.
Usage: g_warmup
<#seconds>
g_friendlyFire
g_friendlyFire - determines if players can damage their
own teammates. Set to 1 to allow players to damage their
own teammates. Set to 0 so players can not damage their
own teammates. Setting has no effect for free-for-all or
tournament modes.
Usage: g_friendlyFire 1
g_gametype
g_gametype - controls the type of gameplay (free for all,
tournament, team deathmatch, CTF). The default is 0,
which is for free for all. Set to 1 for tournament 1 on 1
mode. Set to 3 for team deathmatch mode. Set to 4 for CTF
mode.
Usage: g_gametype
<#>
g_motd
g_motd - sets the message that clients will see when they
first connect to your server. Please review the motd.cfg
file as well. You can modify the motd file for custom
messages to display to connecting clients.
Usage: g_motd "message of the day"
g_log
g_log - sets the name of the server log file. The default
is games.log and does not need to be modified unless
running multiple dedicated servers on the same computer.
Usage: g_log
g_quadfactor
g_quadfactor - used to set multiples of damage caused by
the quad damage powerup. The default is 4 times damage,
with 1 being equal to no quad damage powerup. Decimals
may be used (e.g. 0.25).
Usage: g_quadfactor
<#>
g_syncronousclients
g_syncronousclients - syncs all clients up to allow demo
recording. The default is the more desired 0 which allows
smoother net play. Set to 1 to allow client demo
recording. Generations Arena does support asynchronous
demo recording, so this is best used for LAN play.
Usage: g_syncronousclients 0
g_weaponsrespawn
g_weaponsrespawn - used to set the number of seconds
between the time a weapon is picked up and the time it
respawns. The default is 5 seconds in free for all and
should only be modified if a free for all server has a
large number of players on it, in which case lower it
slightly. It is not recommend that it be set to 0 or
modified for other game types.
Usage: g_weaponrespawn
<#seconds>
g_allowvote
g_allowvote - enable players connected to the server to
call for and vote on changes including: map, map restart,
kick, and g_gametype. The default is 1, which is on. Set
to 0 to turn off voting.
Usage: g_allowvote 1
g_hookthrow
g_hookthrow - controls speed of grappling hook launch.
Values can vary, but here's some examples of common
speeds.
650 - default speed.
700 - Doom rocket speed.
1000 - Slipgate rocket speed. (insanely fast!)
g_hookpull
g_hookpull - controls speed in which a player is reeled
in once the hook latches. Speeds are same as above.
g_redteam, g_blueteam
g_redteam, g_blueteam - controls what class is assigned
to a team if Genflags 64 is used during teamplay(see
below).
Usage: g_redteam doom, g_redteam earth, g_redteam strogg,
g_redteam earth, g_redteam arena, g_blueteam strogg, etc.
DMFLAGS and GENFLAGS
Generations Arena has expanded the original DMFLAGS
variable to encompass much greater functionality than was
originally present in Quake3. In addition, the GENFLAGS
variable can be used to restrict the classes in game.
DMFLAGS
dmflags - used to set numerous gameplay settings. Each
setting has a value. Add together the values of the
desired settings to get the present value for DMFLAGS.
Dmflags are "latched" and any changes will not
take effect until the map cycles or a warmup completes.
Example: PowerUps Drop (64) + Force Respawn (128)
= 192
1 No health
2 No powerups
4 No armor
8 No falling damage
16 Fully Loaded
32 Infinite Ammo
64 PowerUps Drop
128 Spawn Farthest
256 Force Respawn
512 Fixed FOV
1024 Enable old Q3 BFG
2048 Enable CTF techs
4096 Allow Grapple to sky
8192 Allow Grapple
16384 Offhand Grapple
32768 No Footsteps Sound
NOTES
"Weapon Grapple" and "Offhand
Grapple" are mutually exclusive. If both are
enabled, only the Offhand Grapple will work.
/callvote dmflags # will allow voting on the server if
g_allowvote is enabled
GENflags - used to restrict certain classes. If a
player attempts to choose a restricted class, they will
be unable to. Default value is 0. Genflags are
"latched" and any changes will not take effect
until the map cycles or a warmup completes. If genflags
are changed and your class is no longer allowed you will
be put back into spectator mode and allowed to choose a
new class. If random class is required on a server you
will automatically randomize after a map change. Setting
63 (everything banned) has a failsafe and will force back
to the default 0.
0 - standard, all classes allowed
1 - No Earth
2 - No Doom
4 - No Slipgate
8 - No Strogg
16 - No Arena
32 - No Random
64 - Enable Class-based Teams
Single-class server setup
62/30 - Earth Only
61/29 - Doom Only
59/27 - Slipgate Only
55/23 - Strogg Only
47/15 - Arena Only
31 - Random Only
You can set up a server to only allow one specific class,
like only Doom Warriors or only Earth Soldiers. Instead
of figuring the values all out by hand, we've done that
for you. Either of the two values listed will work as
Random Class is automatically disabled when only a single
class is permitted. While Arena-only may seem kind of
pointless (after all, why not just play Q3?) remember
that you still have access to Gen's other nifty features,
like the CTF techs and the Lost Soul of Vengeance.
Setting 31 enables all 5 classes and forces randomized
class, for some REALLY chaotic action!
If you set the server for class-based teams then teams
will be restricted to a single class based on the
g_redteam and g_blueteam cvars. Please be sure that you
do not enable any other Genflags if class-based teams are
enabled as they will override g_redteam and g_blueteam if
they conflict.
/callvote Genflags # will allow voting on the server if
g_allowvote is enabled.
|
|