Quake accepts 2 types of commands. First are startup parameters MUST be included on the command line and start with the '-' character. Second are console commands that may be typed at the console (use ~ to bring the console down), or they may be passed to Quake from the command line by adding a '+' character in front of them. They will be immediately executed after Quake starts.

In QuakeWorld, commands may be proceeded with a '/' character optionally. If you do not use the '/' to begin your commands, a mistyped command that QuakeWorld does not recognize will be echoed to everyone in the game like messagemode.

QuakeWorld
Startup Commands

-port [#]
DEFAULT: 27500
-port 27501
[SERVER ONLY] Sets the TCP port number the server opens for client connections, usefull for running multiple servers on the same system.
-cheats -cheats
[SERVER ONLY] Enables the cheats commands listed later on this page, designed for testing and development. When option is turned on, the *cheats key will show in the server info.

General Client Commands

bottomcolor [#]
DEFAULT: 0
bottomcolor 4
Sets your pants color (0-15).
cl_hightrack [0/1]
DEFAULT: 0
cl_hightrack 1
Toggles tracking of the player with the highest fragcount when spectating and autocam is on.
0 - Do not automatically switch to highest scorer.
1 - Automatically switch to the highest scorer.
cl_nodelta [0/1]
DEFAULT: 0
cl_nodelta 1
ADVANCED OPTION: Toggles delta compression on and off, related to the U_REMOVE warning.
0 - Allows delta compression to take place (prefered).
1 - Does not allow delta compression to take place (elimiates U_REMOVE warnings).
cl_nopred [0/1]
DEFAULT: 0
cl_nopred 1
ADVANCED OPTION: Toggles prediction of your movment.
0 - Enables prediction of your movment
1 - Disables prediction of your movment.
cl_predict_players [0/1]
DEFAULT: 1
cl_predict_players 0
ADVANCED OPTION: Toggles prediction of other players in the game.
0 - Disables prediction of other players.
1 - Enables prediction of other players.
cl_sbar [0/1]
DEFAULT: 0
cl_sbar 1
Toggles the style of the status display.
0 - New HUD style display.
1 - Old style status bar.
download [filename] download tokay.pcx
Downloads a file from the sever.
host_speeds [0/1]
DEFAULT: 0
host_speeds 1
ADVNACED OPTION: Toggles display of internal game timings for graphics and network activity.
0 - Turns off the display.
1 - Turns on the display.
name [yourname]
DEFAULT: "Player"
name FreeFrag
Sets the name that others in the game know you by.
msg[ 0-4]
DEFAULT: 0
msg 3
Limits what game messages the server will send to you; 0 prints everything, and 4 showing no messages. Reducing server messages can reduce bandwith requirements a small ammount, and reduce clutter in busy games.
noaim [0/1]
DEFAULT: 0
noaim 1
Toggles autoaiming help.
0 - Enables any autoaiming.
1 - Disables any autoaiming.
noskins [0/1/2]
DEFAULT: 0
noskins 1
Toggles download and displaying skins while playing.
0 - Enables the downloading and viewing of the non-default Quake Skin.
1 - Disables the downloading and viewing of the non-default Quake Skin.
2 - Disables the downloading of skins you don't have, but will display any skins you do have.
password [password]
DEFAULT: <none>
password serverpassword
Sets the password required to join a game on the server. If password is set to none a password will no longer be requried to join.
pushlatency [#]
DEFAULT: -50
pushlatency -200
Sets how many milliseconds the client should prediect what will happen in the game world from the last update. Play arround with differnt values to find your prefered settings, a good starting point is to set it to 1/2 of your ping. NOTE: Always use NEGATIVE values. Positive would increase lag :)
rate [0-10000]
DEFAULT: 2500
rate 5000
Sets a limit to how many bytes a second the server will send to you. The default of 2500 is generally good for modems. If your on a 64Kb ISDN 5000 is good. If you have a faster connect you can set it higher.
record <file> <address> record mydemo underworld.idsoftware.com
Records a client side demo, the first paramater is the file name to save the demo under, the second is the server to connect to.
rerecord <file> rerecord mydemo2
Reconnects to the server you were last on, and starts recording a new demo.
r_netgraph [0/1]
DEFAULT: 0
r_netgraph 1
ADVANCED OPTION: Toggles a graphical display of latency and packet loss. A good to debug and tweek modem settings.
0 - Turns the display off.
1 - Turns the display on.
setinfo [key] [value] setinfo MySystem Cray YMP3
Allows you to set arbitrary information about the client.
skin [skin_name]
DEFAULT: <none>
skin tokay
Sets what skin your player wears.
skins skins
This command will update/download the skins being worn by other players in the game.
spectator[0/1 | password]
DEFAULT: 0
spectator 1
Toggles spectator mode, must reconnect for option to take effect.
0 - Spectator mode is disabled.
1|<password> - Spectator mode is enabled. Use password if requried by the server.
team[teamname]
DEFAULT: <none>
team blue
Sets the team (up to 4 charactors) that you are on. Teamplay servers nolonger base team by pants color.
topcolor [#]
DEFAULT: 0
topcolor 4
Sets your shirt color (0-15).
user [username/uid] user "Joe E Fragger"
Shows you general information about a user, shirt/pant color, data rate, and more. Note the user name is case sensative.
users users
Displayes a list of everyone in the game, their user ID, and frag count.

General Server Commands

allow_download [0/1]
DEFAULT: 1
allow_download 0
Toggles in game downloading of required sounds, models, maps, etc when a client attches.
0 - Disallows all downloads.
1 - Allows downloads to occur.
floodprot [# # #]
DEFAULT: 4 8 10
floodprot 5 5 15
Controls how many messages players can broadcast to other players in a certain ammount of time until the server mutes them temporarly. The meaning of the numbers is <# of messages> <per # seconds> <causes them to be scilenced for # seconds>.
floodprotmsg floodprot "You have activated the flood protection and will be scilenced for 15 seconds"
Sets the message to send when flood protection has been activated.
fraglogfile fraglogfile
Toggles logging of frags to a textfile in the Quake directory.
gamedir [gamedirectory]
DEFAULT: <none>
gamedir ctf4.1
Sets the direcory containing the game (progs direcotry) that the server uses.
heartbeat heartbeat
Sends a heartbeat to all masters the server is registered on.
logfile logfile
Logs the console output to ./qw/qconsole.log, specifying the command again will turn logging off.
maxspectators [0-32]
DEFAULT: 8
maxspectators 16
Sets the maximum number of spectators that can join the server.
password [password]
DEFAULT: <none>
password myserverpassword
Sets the password clients must specifiy to connect to the server.
serverinfo [key] [value] serverinfo System Pentium 200
Sets a server key/value pair. Pairs that QuakeWorld actively uses are:
rj - Controls the kickinng power of a rocket splash when rocket jumping, clinets must reconnet for a change to have effect. Default is 0.
dr - Controls dropping of the ring artifact when the carrier is killed. Default is 0
dq - Controls dropping of the quad artifact when the carrier is killed. Default is 0
localinfo [key] [value] localinfo key value
Sets a key/value pair in the localinfo database. Generally used for QuakeC mods.
setmaster [master1...n]
DEFAULT: <masterless>
setmaster 123.123.123.123:27001 213.213.213.213 ...
Specifies the master servers that the QuakeWorld server will register with. Format is <address>:<port>, port does not need to be specified if you wish the default of 27000.
spectator_password [password]
DEFAULT: <none>
spectator_password myspectatorpassword
Sets the password required to spectate a game on the server. If password is set to none a password will no longer be requried to spectate.
status status
Displays general server and client information.
sv_gamedir [clientgamedir]
DEFAULT: <none>
sv_gamedir ctf
Controls the game directory on the clients will search.
sv_highchars [0/1]
DEFAULT: 1
sv_highchars 0
Toggles if players on a server can make use of the high-ascii characters in their names.
0 - Players may not use the high-ascii characters.
1 - Players may use the high-ascii characters.
user [uid] user 1234
Provides detailed information about the user specified by uid.
sv_spectalk [0/1]
DEFAULT: 1
sv_spectalk 0
Toggles the ability for spectator chat to be heard by non-spectator players.
0 - Players cannot hear spectator chatter.
1 - Players can hear spectator chatter.
allow_download_skins [0/1]
DEFAULT: 1
allow_download_skins 0
Toggles if skins can be downloaded from the server.
0 - Skins may not be downloaded by the clients.
1 - Skins may be downloaded by the clients.
allow_download_models [0/1]
DEFAULT: 1
allow_download_models 0
Toggles if models can be downloaded from the server.
0 - Models may not be downloaded by the clients.
1 - Models may be downloaded by the clients.
allow_download_sounds [0/1]
DEFAULT: 1
allow_download_sounds 0
Toggles if sounds can be downloaded from the server.
0 - Sounds may not be downloaded by the clients.
1 - Sounds may be downloaded by the clients.
allow_download_maps [0/1]
DEFAULT: 1
allow_download_maps 0
Toggles if maps can be downloaded from the server.
0 - Maps may not be downloaded by the clients.
1 - Maps may be downloaded by the clients. (Note that if a map resides in a .pak file, it will never be allowed to download. This is to prevent comerical addons from being downloaded.)

Remote Console Commands

QuakeWorld now allows server ops to administrate their server right from the client. Note that if the rcon_password console variable isn't specifed on the server, rcon is disabled.

rcon [password] [command] rcon serverpassword maxclients 32
Sends a remote command to the server that's is specified in rcon_address if not connected to a server, or the server you are connected to. [command] can be any valid quake console command to execute. Note that setting rcon_password allows you to not specify the password for every time.
rcon_address [address:port]
DEFAULT: <none>
rcon_address my.server.com:27500
Causes remote commands to directed to my.server.com:27500 if not connected to a server. Note that the port number is required.
rcon_password [password]
DEFAULT: <none>
rcon_password serverpassword
Sets the default password to send when remote commands are issued.

Server Control Commands

These commands control who is and isn't allowed to use the server. A normal public server would use these commands to prevent unruly and destructive users from playing there. However, a very private server for instance can reverse the meaning of the address list to allow only those in the list.
All addresses must be specified in the IP numerical format of XXX.XXX.XXX.XXX. However the entire address does not need to be given, specifying only the first 3 parts (123.123.123) would match anyone from the domain 123.123.123.X.

addip [IP address] addip 123.123.123.123
Adds the address (123.123.123.123) to the filter list.
filterban [0/1]
DEFAULT: 1
filterban 0
Toggles the mode of the filter list.
0 - A connecting user must have their IP in the list to join the server.
1 - Any connecting users whose address matches an entry in the list will be denied.
kick [uid] kick 1234
Kicks the user [uid], the user ids of everyone on the server can be found with the status command.
listip listip
Prints all entries in the filter list.
removeip [IP address] removeip 123.123.123.123
Removes an entry from the filter list.
writeip writeip
Saves the filter list to listip.cfg.

Cheat Commands

Note that these commands can only be used if the *cheats is enabled on the server! You will most likely not want to play on a server that has them enabled. :) It is intended for testing and development.

give [uid] [entity] give 1234 8
Gives the user specified by [uid] the entity in [entity]. give 1234 8 would give uid 1234 entity 8 (a lightening gun).
god [uid] god 1234
Gives the user specified by [uid] god mode.
noclip [uid] noclip 1234
Allows the user specified by [uid] to move around the world with no clipping.

Unix Ports
Startup Commands

-mem [#] -mem 16
Specifies the ammount of memory in mega bytes that Quake should allocate.
-ip [IP address] -ip 123.123.123.123
If you have a multi-honed network, i.e. more than 1 network device in your system (Dial up adapter AND Ethernet adapter both using an ip address) this will make quake send network packets from the device whose ip is specified.
-mdev [device]
DEFAULT: /dev/mouse
-mdev /dev/mouse
Sets the mouse device
-mrate [speed]
DEFAULT: 1200
-mrate 1200
Sets the mouse baud rate.
-cddev [device]
DEFAULT: /dev/cdrom
-cddev /dev/cdrom
Sets the CD device.
-mode [#] -mode 1
Use the specified video mode.
-nokdb -nokdb
Don't initialize the keyboard.
-sndbits [8/16]
DEFAULT: 16
-sndbits 8
Sets the sound bit sample size, default of 16 is only used if supported.
-sndspeed [#]
DEFAULT: 11025
-sndspeed 8000
Sets the sound speed.
-sndmono -sndmono
Forces mono sounds.
-sndstereo -sndstereo
Forces stereo sounds.