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.
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 56 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 sufficient. Using the included tournament maps only, a com_hunkmegs setting of 24 may be used to conserve more memory. Capture The Flag servers may benefit from a com_hunkmegs setting of 56.
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, a several server configurations file have been created for different game types. You can modify each configuration file to your liking if the default settings are not sufficient. If you wish, you may run these config files from the console, assuming com_hunkmegs is sufficient for each game type. Use the following console command convention to run configs.
exec [gametype.config]
The following are sample command lines to get you quickly up and running for each game type.
Free For All
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 24 +exec genffa.cfg
Tournament
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 24 +exec gentourney.config
Team Deathmatch
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 32 +exec genteam.config
Capture The Flag
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 56 +exec genctf.config
ThreeWave-Style Capture The Flag (weapon grapple hook)
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 56 +exec gen3wctf.config
Lithium-Style Modes (offhand grapple hook)
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 24 +exec lithffa.config
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 24 +exec lithteam.config
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 32 +exec lithtourney.config
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 56 +exec lithctf.config
Rocket Arena-Style Tournament
quake3.exe +set dedicated 1 +set fs_game generations +set com_hunkmegs 24 +exec genratourney.config
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 <##>
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_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. A setting of 1 is suggested for team deathmatch, while a setting of 0 is suggested for Capture The Flag.
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.
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.
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
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.
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 No spectator
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.
"No Spectator" has been disabled and will probably be changed to a different function later.
/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
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!
/callvote Genflags # will allow voting on the server if g_allowvote is enabled.

Introduction - Intro - Overview - Features - Story Info/About - Game Modes - Console Commands - Server Setup - Coming Soon The Classes - Earth Soldiers - Doom Warriors - Slipgaters - Strogg Troopers - Arena Gladiators Credits/Thanks - The Team - Special Thanks

Site Design and Artwork by Darrin "Nirrad" Michelson.
Site Content by Lee "Lee'Mon" Montgomery.
The Quake series and all related properties are owned by id Software, Inc.
Site Copyright (c)2001 by WireHead Studios.
All Rights Reserved.