Below, you'll find everything you ever needed to know about console commands for Quakeworld. All commands are in alphabetical order, and have all valid arguments listed. Please report any errors in documentation directly to qwc@stomped.com. 

[s] - designates a server command
[c] - designates a client command
Many thanks to John Carmack, who put up with an endless barrage of questions during beta testing to develop this document. -R.

_windowed_mouse <n> (0=off; 1=on) [c]

Turns mouse support in windowed modes off and on.
+showteamscores [c]
When used as a CLI argument, +showteamscores displays a team score summary at intermission and death screens. The [tab] key toggles between this display and the normal scoreboard when used in this fashion.

Usage:

qwcl +showteamscores
Binding this command to a key will allow you to view the team score summary when said key is pressed.

For example:

bind y +showteamscores
would bind the display of the screen to the [y] key.
addip <IP#> [s]
Adds an IP to the banlist. The ban will not be permanent unless a writeip is issued. Bans can be in the format x.x.x.x, or, to filter out a domain, specify the first 3 components of the IP number as x.x.x.

For example:

addip 192.246.40
would keep everyone from id software off your server.

Note: Bans can only be in IP format. you cannot ban, for example, *.some_isp.com.

see also: listip, removeip, status, writeip

allow_download (0=off; 1=on) [s]
Tells the server whether it should allow downloads or not. Setting the flag to 0 disables server downloads, whereas 1 allows them. The default setting is 1.
allow_download_skins (0=off; 1=on) [s]
Tells the server whether it should allow skin downloads or not. Setting the flag to 0 disables skin downloads, whereas 1 allows them. The default setting is 1. 

see also: allow_download_models, allow_download_sounds, allow_download_maps

allow_download_models (0=off; 1=on) [s]
Tells the server whether it should allow model downloads or not. Setting the flag to 0 disables model downloads, whereas 1 allows them. The default setting is 1. 

see also: allow_download_skins, allow_download_sounds, allow_download_maps

allow_download_sounds (0=off; 1=on) [s]
Tells the server whether it should allow sound downloads or not. Setting the flag to 0 disables sound downloads, whereas 1 allows them. The default setting is 1.

see also: allow_download_skins, allow_download_models, allow_download_maps

allow_download_maps (0=off; 1=on) [s]
Tells the server whether it should allow map downloads or not. Setting the flag to 0 disables map downloads, whereas 1 allows them. The default setting is 1.

see also: allow_download_skins, allow_download_models, allow_download_sounds

bottomcolor <#> [c]
Sets the players bottom color (see also color). Valid values are 0-15. 

see also: color, topcolor.

cl_hightrack (0=off, 1=on) [c]
Enables/disables "chasecam" view of the player with the highest frags while in spectator mode.

see also: spectator

cl_nodelta <n>(0=off; 1=on) [c]
Enables/disables player delta compression."0" allows compression, "1" disables it. If you have an isp with a poor connection, and are getting U_REMOVE warnings, set cl_nodelta to "1".
cl_predict_players (0=off; 1=on) [c]
Turns enemy player prediction on and off. Default is on.
cl_warncmd (0=off; 1=on) [c]
Turns warning message surpression on and off (essentially eliminating the "unknown command" messages seen in versions prior to 1.64.) The default setting is 0.
cmd msg <0, 1, 2, 3> [c]
Sets the message level that the server will transmit to the client. "0" is everything. "3" is nothing. "1" and "2" are degrees in between.
color <#> <#> [c]
Behaves like the original quake command, setting both topcolor and bottomcolor. Default color is 0,0 (white).
deathmatch <1, 2, 3> [s]
Selects the deathmatch options for the server.

Deathmatch 1 is normal deathmatch; all items, weapons, and powerups can be picked up and respawn. Ammo respawns after 30 seconds. Deathmatch 1 is the server default.

Deathmatch 2 leaves weapons on the map. You can only pick up a weapon once. Ammunition, artifacts and armor do not respawn.

Deathmatch 3 combines deathmatch 1 and deathmatch 2. You can pick up a weapon only once. Ammunition respawns every 15 seconds. All other items respawn normally.

edict <number> [s]
Dumps a single edict structure for debugging. 0 is the world, 1-32 are players, etc.
edictcount [s]
Returns counts of some entity classifications.
edicts [s]
Dumps everything in the world. 

WARNING: This command will dump a large amount of data to the console display. You will require a large scrollback buffer to view it all. For this reason, a logfile is recommended when using edicts.

see also: logfile

filterban (0=off; 1=on) [s]
If filterban is set to 0, then only addresses matching the list will be allowed. This lets you easily set up a private game, or a game that only allows players from your local network.

If filterban is set to 1 (the default), then ip addresses matching the current list will be prohibited from entering the game. This is the default setting.

fraglogfile [s]
Turns on or off the logging of kills to a logfile and reporting to external frag polling programs.
gamedir <gamedir> [c] [s]
Changes the qw addon, or "game", directory. 

A new level should be started after setting gamedir for the changes to take effect. For example, if you want to change the server from normal quake into a Threewave Capture the Flag server, you should execute the following commands at the console: 

gamedir ctf 
map ctf1
see also: map
give <userid> <entity> [s]
Gives the specified <entity> to the user specified by the <userid>.

The give command will only be valid if the server was launched with the -cheats command line parameter. A cheating enabled quake server will have "*cheats on" in its serverinfo for everyone to see.

An example would be:

give 57 6
This would give user 57 a grenade launcher.
god <userid> [s]
Gives the player specified by the <userid> god mode.

The god command will only be valid if the server was launched with the -cheats command line parameter. A cheating enabled quake server will have "*cheats on" in its serverinfo for everyone to see.

heartbeat [s]
Forces a heartbeat message to be sent to all listed masters. Mostly used for debugging.
hostname <name> [s]
Sets the name of the server that appears within the qPlug and QWFE interfaces.
kick <userid> [s]
Kicks the specified user off the server. A valid <userid> must be used for the kick to work. The <userid> can be obtained using the status (server) or users (client) commands.

see also: status, users

listip [s]
Lists the current banlist to the console display.

see also: addip, removeip, status, writeip

logfile [c]
This turns on or off the logging of console text to the file qconsole.log in the current game directory.
map <mapname> [s]
Changes the map the server is running to the mapname specified, taking all connected clients along.
maxclients <#> [s]
Sets the maximum number of clients that can join a server.

see also: maxspectators

maxspectators <#> [s]
Sets the maximum number of clients that can join as spectators. The maxpectators variable cannot exceed the value of the maxclients variable.

see also: maxclients

messagemode2 [c]
Sents a message to teammates only (see "team", "teammode"). It has a distinct "say_team:" prompt. This command is not bound to a key by default. You can do so by adding a line to your autoexec.cfg or config.cfg :
bind <key> "messagemode2"
where <key> is the key you wish to assign the chat prompt to.
name <name> [c]
Assigns the player a name. Default is "unnamed"
noaim (0=off; 1=on) [c]
Turns on/off aiming assistance. "0" allows autoaim. "1" diasbles it.
noclip <userid> [s]
Allows the player specified by the <userid> to walk through walls.

The noclip command will only be valid if the server was launched with the -cheats command line parameter. A cheating enabled quake server will have "*cheats on" in its serverinfo for everyone to see.

noskins (0=off; 1=on) [c]
Turns on/off dynamic skin downloading. "0" allows downloads. "1" prevents downloads.
password <password> [c] [s]
client: Assigns a specified password to the password variable. This variable must be set prior to joining a password protected server or you will not be admitted into the game.

server: Assigns a password to a server. Clients attempting to join must have a valid matching password variable set to connect.

playdemo <file> [c]
Plays back a previously recorded demo file. (v 1.64)

see also: record

pushlatency -<time in milliseconds> [c]
Sets the amount of reverse prediction (in milliseconds) you wish to use with QWCL. Simply stated, the Quakeworld client will make educated guesses as to condition changes in the gaming world in the moments it loses contact with the server between game packets. The result of this is smoother gameplay on the client end. Always set pushlatency to negative values.
quit [c] [s]
client: Disconnects the client from the server and terminates QWCL.

server: Kicks all connected clients off the server and terminates QWSV.

rate <#> [c]
Sets the datastreaming rate to your client from the server. 2500 is the default setting, and should be sufficient for most modem/ppp users. ISDN or better connections should set rate to 5000.
rcon_password <password> [c] [s]
client: Sends the specified password to the server requesting access to server console commands.

server: Sets the rcon_password to the specified string. This variable must be set from the console of the server if you wish to allow remote sysadmin functions from connected clients.

reconnect [c]
Disconnects and reconnects you to the current/last server to which QWCL was connected.
record <file> <server> [c]
Starts a demo recording to the specified file (no extension needed), and connects the client to the specified server. (v 1.64)

Note: The .qwd demo files recorded by the QW client are not compatible with the demo files recorded by DOS/Win/GLQuake.

Note: Autodownloads are disabled during demo recording sessions.

see also: playdemo

removeip [s]
Removes a mask from the banlist. The ban to be removed must be in the same format it was issued in with the addip command.

see also: addip, listip status, writeip

r_netgraph (0=off; 1=on) [c]
Shows a graphical display of the datastream between the client and the server. Yellow lines are intentionally dropped packets due to rate. Red lines are packets dropped by network errors. Blue lines indicate bad delta compression offsets. If you see a lot of blue lines, you may need a new ISP.
samelevel (0=off; 1=on) [s]
Tells the server to repeat the map if exited by a player. The default is samelevel 0.

samelevel 0 allows player to change levels via teleporter

samelevel 1 repeats the level

samelevel 2 is the same as noexit 1-- it kills a player attempting to exit the level.

samelevel 3 is the same as noexit 2-- it kills a player attempting to leave the level unless the level is start.bsp.

say <text> [c] [s]
client: Sends a chat message to any connected clients.

server: Sends a chat message from console to any connected clients.

see also: messagemode2

serverinfo <key> <value> [s]
With no parameters, dumps all the the serverinfo key/value pairs. "serverinfo <key> <value>" will set an arbitrary value. To remove a key/value pair, do serverinfo <key> "". 

An example of this would be 

serverinfo admin qwc@stomped.com 
This would display the key/value pair "admin: qwc@stomped.com" to anyone using the qPlug or qspy interfaces in the serverinfo window.

One of the new serverinfo key/pairs in 1.50 is rj. This serverside variable controls a multiplier variable that will modify the "splash kick" used for rocket jumping in Quakeworld. "1" is the default value. Increasing the value adds kick, decreasing it cuts it back. For example:

serverinfo rj 6
would make a rocketjumper fly 6 times higher than in normal QW! Of course, the splash would also slam you into walls and off precipices more often as well.
setinfo <key> <value> [c]
With no parameters, dumps all the the setinfo key/value pairs. "setinfo <key> <value>" will set an arbitrary value. To remove a key/value pair, do setinfo <key> "". 

An example of this would be 

setinfo e-mail qwc@stomped.com 
This would display the key/value pair "e-mail: qwc@stomped.com" to anyone using the qspy interface in the player info window.
skin <skin_filename> [c]
Assigns a skin model to the the player. The default skin is always base.pcx.
setmaster <masteraddress 1> <masteraddress 2> <masteraddress 3>... [s]
Tells the server to report it's status to the specified master(s). A server can report when it is up or down to up to eight seperate master server lists.
spectator <1 or password> [c]
To join a server as an observer, set this variable to "1". If the server has a password on observer mode, set this variable to match the server's spectator_password. 

Spectators can fly and walk through walls, however, they cannot interact with other players or the environment.

This variable must be set prior to joining the server.

see also: spectator_password.

spectator_password <password> [s]
Assigns a spectator password to the server. Clients wishing to connect the server as an observer must have the spectator flag enabled as well as provide the correct spectator_password.

see also: spectator

status [s]
Returns information about system load and detailed information on connected users, including IPs (used for banlists), and aversage ping response times. 

Note: If the system load exceeds 90%, the maxclients variable should be lowered.

see also: addip, listip, maxclients, removeip, writeip

sv_gamedir [s]
allows servers to report a gametype to a client, which can then use the appropriate local game directory. 

An example would be:

gamedir teamfort
sv_gamedir tf
the first command, tells the server to use the physical directory "teamfort", and the sv_gamedir command tells the server to pass the variable "tf" to the the client, which will then use the appropriate gamedir on their local drive. 

see also: gamedir

sv_spectalk (0=off, 1=on) [s]
Controls spectator chatting capablity. If off, spectators messages are echoed to all players, if on, spectators can only talk to other spectators. Default is 1.
team <teamname> [c]
Assigns a 4 character string as the players team on teammode 1, teammode 2 and teammode 3 servers. 'Team' is now used to assign a player to a team instead of bottomcolor. Valid team names would be "id", "red" or "u8it"
teamplay <0, 1, 2, 3> [s]
Selects the teamplay options for the server.

Teamplay 0 is straight Deathmatch, your shots hurt everyone-- including yourself.

Teamplay 1 allows you only to hurt players on a team other than your own. You cannot hurt yourself or your teammates.

Teamplay 2 allows you to hurt anyone. If you kill yourself or a teammate, you lose a frag.

Teamplay 3 is a combination of teamplay 1 and 2. You cannot hurt your teammates, but you can hurt yourself. This option is usually used on Threewave Capture the Flag servers.

topcolor <#> [c]
Sets the players top color. Valid values are 0-15. 

see also: color, bottomcolor

user <userid> [s]
Dumps the userinfo data for a specific player to the console display. A valid <userid> must be specified. Userids can be obtained using the status command.

see also: status

windows [c]
Swaps a client in full screen mode to windows.
writeip <ip> [s]
Dumps the active banlist to listip.cfg so it can be execed at a later date. You must execute this command to save any bans you wish to be permanent.

see also: addip, listip, removeip, status