Here is the original page.

  1. General
  2. General Q3 Options
  3. Match-related parameters
  4. Teamplay
  5. Voting
  6. Hook
  7. Maps settings

Here is the recommended dedicated server command-line.

quake3 +set dedicated 2 +set fs_game cpma +set vm_game 2 +exec <config>

mode_start <string> 

Specify the game type to start the server with.

  • 1v1 - Duel / "Classic" Deathmatch
  • FFA - Free For All
  • TDM - Team Deathmatch
  • CTF - Capture The Flag
  • NTF - Not Team Fortress (Class based CTF)
  • CA - Clan Arena
  • FTAG - FreezeTag (European rules)
  • CTFS - Capture Strike
  • HM - Hoony Mode (ala Tennis's Matchpoint)
  • Or a custom mode: see docs/Modes.txt (in your CPMA folder) for details.

mode_idletime <minutes> 

how long before idle servers reset to default mode+map (default: 10).

server_gameplay <CPM|PMC|CQ3|VQ3> 

Sets the level (speed and strategic depth) of gameplay to use.

  • CPM - Challenge ProMode II (Modern CPM, 2004+)
  • PMC - ProMode Classic (2000-2003)
  • CQ3 - Challenge Quake3
  • VQ3 - Vanilla Quake3 (OSP)

server_maxpacketsmin <value> 

Specifies the minimum client cl_maxpackets setting (Default = 30, 0 = no lower limit on client cl_maxpackets).

server_maxpacketsmax <value> 

Specifies the maximum client cl_maxpackets setting (Default = 125, 0 = no upper limit on client cl_maxpackets).

server_motdfile <filename>

Defines an external file to read the 'Message Of The Day' text, which is displayed to clients. This file will override any server_motdX variable setting (defined below).
(Default = "none" - No MOTD file defined).

server_motdX <string> (X = 1 through 8) 

Sets the server 'Message Of The Day'. Each var is used to display a line in the MOTD. The message is terminated when the first NULL ("") line is encountered.

server_optimiseBW <0|1> (default

Force the optimiseBW algorithm on for all clients, which greatly reduces the amount of unnecessary data sent between server and client. Regrettably, this also makes you unable to see players through portals, thanks to a bug in the Q3 engine. Regardless, this really should NEVER be set to 0 except when on LAN - the difference is just staggering.

  1. Waste huge amounts of bandwidth for no good reason.
  2. Don't. :)

server_timenudgemin <value> 

Specifies the minimum client cl_timenudge setting (Default = 0, no lower limit on client cl_timenudge).

server_timenudgemax <value>

Specifies the maximum client cl_timenudge setting (Default = 0, no upper limit on client cl_timenudge).

server_ratemin <value> 

Specifies the minimum client rate setting (Default = 0, no lower limit on client rate).

server_record <value> 

  1. record demos
  2. take screenshots
  3. add server name to demo/screenshot filenames
  4. add server time when game starts to filenames

server_availmodes <string> 

Restrict the server to a subset of supported game types
(Default: "" - all modes available)

server_chatfloodprotect <value> 

Controls the maximum number of messages per second (Default = 0). e.g. server_chatfloodprotect 2 means you can talk every 500ms

ref_password <string> 

Sets the password for in-game "referee" (admin) access.
Setting this password to "none" disables the referee feature
(default = "none").

General Q3 Options
bot_autoload <string>

Specify the names of bots to add after the server has loaded.
Bot names are delimited by spaces. This variable allows the server admin to automatically load bots on map start as if the admin issued "addbot" commands. ANY name can be used for the bots.

bot_checktime <value> 

Specifies the number of seconds between bots joining/leaving a server based on bot_minplayers setting (default = 10).

g_inactivity <seconds> 

Specifies how long a player can be idle before being kicked from the server. A value of "0" disables this feature
(default = 0).

g_log <logfilename> 

Specifies the name of the file to save all in-game information. Setting this to "" disables logging (default = "games.log").
It's worth pointing out that logfiles can get very large, and for public servers there's really not much point in using them. Anything truly important will be written to the admin log instead, which is a separate file.

Match-related parameters
match_mutespecs <0|1> 

Enables/disables spectator chat being displayed to active players in the game when a match is in progress (default = 0).

match_readypercent <percentage from 1-100> 

Specifies the percentage of in-game players who must be "ready" to start a match. This can also be used to get a match going on an otherwise long "warmup" period (default = 51).

match_maxsuicides <value> 

Players who suicide (via the /kill command) more than this many times will be auto-banned. Stops them screwing up TDM games and forcing draws in DA (default = 0).

match_WinDelayDA (in milliseconds, default 2000) 

Controls how long after the kill a winner is actually declared; So if you rail someone but then their rocket takes you out, the round is ruled a draw

match_winDelayCA (in milliseconds, default 4000) 

Same as match_WinDelayDA, but for Clan Arena games

team_allcaptain <0|1> 

  1. Traditional captaincy assignments (1 per team).
  2. All players on a team have the ability to invite spectators or to call a time-out. There is still a single "true" captain.

g_teamAutoJoin <0|1> 

  1. Places connecting players in spectator mode once they have fully connected to the game.
  2. Automatically places a player on the team with the lowest number of players (or score if equal player counts) after fully connecting to the game.

g_teamForceBalance <0|1>

  1. Allow players to join any team, regardless of player counts.
  2. Force players to join the team that has fewer players, and if equal then the team with the lower score.

g_allowVote <0|1>

  1. Disable all client voting on the server.
  2. Allow clients to vote on server settings.

vote_limit <value> 

Maximum number of votes allowed during a map for a non-referee
(default = 5).

vote_percent <1-100> 

Specifies the percentage of accepting clients needed for a vote to pass. Note that a player who does not vote is assumed to be opposed to the change. This saves players being forced to break off actual play simply to "defend" against an unwanted vote.


All but a few votes have a corresponding vote_allow_<setting> cvar, which enables fine control of players' ability to call votes. Note that a referee may change ANY votable setting, regardless of its vote_allow control, so you should use vote_allow_referee 0 as well if you choose to strictly disable any votes.

  1. Disable a particular vote item.
  2. Allow clients to vote on the item.

vote_allow_gameplay <string> 

vote_allow_gameplay "" or "CPM PMC CQ3 VQ3" allows to vote all gameplay

allcaptain <0|1> 

See team_allcaptain.

armor <0-200> 

Specify the amount of armour to give players on spawn.

armorsystem <0-3> 

Allows different ProMode armor systems to be used.

  1. Standard (S:5 GA:50 YA:100 RA:150)
  2. Obsolete (S:5 GA:50 YA:100 RA:200)
  3. Quake1-ish (S:2 GA:100 YA:150 RA:200)
  4. Quake2-ish (S:2 GA:25 YA:50 RA:100)

dropitems <0-3> 

Ability to drop weapons/ammo/flags

  1. None
  2. Weapons and ammo
  3. Flags
  4. All

fallingdamage <0|1> 

Enables/disables falling damage.

fastrail <0|1> 

ProMode only
Changes the rail switch time

flood <value> 

Sets maximum number of chat messages per client per second
Clients can use this vote to loosen or disable (0) flood control, usually in teamplay games where free communication is crucial.

footsteps <0|1> 

CQ3 only
Enables/disables footstep sounds.

hook <0|1|2> 

Sets hook availability and type

  1. Disabled
  2. Offhand (the "newbie" grapple, or "crutch")
  3. Onhand (the "skill" grapple)

instagib <0|1> 

Enables/disables Instagib gameplay.

items +/-<item> 

MG Machine Gun SG Shotgun GL Grenade Launcher
RL Rocket Launcher LG Lightning Gun RG Railgun
PG Plasma Gun BFG Big Effin Gun AMMO Ammunition
5H Health Sphere 25H Yellow Health 50H Gold Health
MH Megahealth 5A Armor Shard GA Green Armor
YA Yellow Armor RA Red Armor
QUAD Quad Damage SUIT Battle Suit HASTE Haste
INVIS Invisibility REGEN Regeneration FLIGHT Flight
MEDKIT Medkit TELE Personal Tele

kick <player_id> 

Forces a player to disconnect from the server.

map <mapid|mapname|mapc> 

Changes to a new map and/or itemset.

maxdamage <value> 

Sets the maximum damage shots can do to "friendly" players (yourself and your teammates)
0 = no limit: use selfdamage and teamdamage to disable completely

maxpackets_max / maxpackets_min <value> 

Both controlled by vote_allow_maxpackets
See server_maxpacketsmin / server_maxpacketsmax

mode <mode_name> 

Loads a standard server configuration.
Normally used to change game types.
Note that there is no vote_allow_mode cvar: server_availmodes is used instead to give admins more control

mutespecs <0|1> 

See match_mutespecs.

overtime <0|1|2>

Sets overtime behaviour

  1. Sudden Death (first score decides)
  2. Timed Periods (2 or 5 minutes each)
  3. No Overtime (matches can end in a tie)

pmove <0|1> 

See pmove_fixed.

poweruprespawn <30-120> 

Sets power respawn delay in seconds .

promode <0|1> 

See server_promode.

prosound <0|1>  

CQ3 only
Enables/disables ProMode's enhanced sound system.

random <value> 

Picks a number from 1 to <value>

referee <player_id> 

Gives a player additional admin abilities.
These can be removed by an unreferee vote.

reload <value> 

Sets RG reload time for Instagib games (in ms, normally 1500).

scorelimit / limit <value> 

Changes the fraglimit/caplimit/roundlimit/pointlimit.

selfdamage <0-3> 

Controls your ability to hurt yourself.

  1. None
  2. Health only
  3. Armor only
  4. Health and armor

simplemega <0|1> 

Controlled by vote_allow_mhstyle .
Toggles wearoff/periodic MH respawn behaviour.

startrespawn <0|1> 

For CA/DA, toggles players respawning on round start.
For Freeze Tag, toggles winning team thawing on round start.

startweapon <value> 

Sets players initial armament on respawn.
Add values together to give multiple weapons.

MG 4, SG 8, GL 16, RL 32, LG 64, RG 128, PG 256, BFG 512

teamdamage <0-3> 

Controls your ability to hurt teammates.
Values are as for selfdamage.

thawauto <30-300> 

Controlled by vote_allow_thaw.
Sets how long players stay frozen if not defrosted by a teammate.

thawtime <1-10> 

Controlled by vote_allow_thaw.
Sets how long it takes to defrost teammates (in seconds).

thrufloors <0|1> 

Toggles splash damage transferring through thin surfaces.

timelimit <value> 

Changes the game's timelimit (minutes).

timenudge_max / timenudge_min <value> 

Both controlled by vote_allow_timenudge .
See server_timenudgemin / server_timenudgemax.

warmup <value> 

Sets the duration of the pre-match warmup.

weaponrespawn <value> 

Sets weapon respawn delay in seconds (0 means weaponstay).

hook_delaytime <milliseconds> 

Specifies the minimum number of MILLISECONDS that a player can redeploy a hook after use (default = 750).

hook_holdtime <seconds> 

Specifies the maximum number of seconds that a player's hook will remain attached (default = 3).

hook_range <units> 

Specifies the maximum length of the hook cable (default = 1800).

hook_sky <0|1> 

  1. Players cannot hook the "sky" surface.
  2. Players can hook onto any surface (except other players).

hook_speed <value> 

The speed at which the hook leaves from the player's position and makes contact with a surface on the map (default = 1200).

hook_speedpull <value> 

The speed at which a player is pulled along the hook's path after it has landed on a valid map surface (default = 700).

Map Settings
map_cfgdir <value> 

sets where the maplists etc are read from (default: "cfg-maps").

map_delay <value> 

no map voting allowed for this long after a map change unless everyone's loaded the new map and is ready to play stops one lamer with a fast machine forcing changes to a map by voting it in before anyone else has managed to reconnect (default: 30)

map_rotate <0|1> 

if non-zero and a MODE is enabled, server will rotate to the next map in the list for that mode when fl/tl/cl/rl is hit map_rotate is ignored if the server is in 1v1 mode or is running a multiarena mapnd of each match (default: 0)

set map_cfgdir "cfg-maps"
set map_delay 30
set map_rotate 0
map cpm1a