Click for more information!

This document lists the startup parameters and runtime console commands specific to Windows, OpenGL, and QuakeWorld versions of Quake. The original DOS commands are very well documented and understood, and a great list of them may be found at Stomped.

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.

Windows Quake
Startup Commands

-heapsize [#] -heapsize 16384
Tells Quake how much memory to allocate. Normally 8-16 megs is allocated based on the amount of physical system RAM. Parameter is in Kbytes.
-dibonly -dibonly
ADVANCED OPTION: Forces Quake to not use any direct hardware access video modes, use as a last resort if you just can't get Quake's video to work properly.
-nowindirect -nowindirect
Disallows Quake to use VESA video support in favor or DirectX or DIB modes, helpful for working around a buggy VESA driver.
-nodirectdraw -nodirectdraw
Disallows Quake to use DirectX video support, but allows VESA or DIB only modes, helpful for working around a buggy DirectX driver.
-novbeaf -novbeaf
ADVANCED OPTION: Quake will not use VBE/AF 1.0 or later modes.
-startwindowed -startwindowed
ADVANCED OPTION: If for some reason you have problems, or don't with Quake to start in full screen mode, this parameter will have quake initialize in a windowed mode.
-noforcevga -noforcevga
ADVANCED OPTION: Quake normally will use VGA 0x13 to initialize 320x200 when it starts up, even if VESA or DirectX versions of this mode exist. This helps to ensure that Quake will not crash due to a buggy VESA or DirectX driver, this parameter doesn't force the VGA mode to be used on startup. (in game or .cfg mode switching isn't effected)
-noautostretch -noautostretch
ADVANCED OPTION: Don't stretch high resolution -startwindowed modes by pixel doubling.
-nofulldib -nofulldib
ADVANCED OPTION: Don't use full screen, borderless windows even if there are no VESA or DirectX video modes available.
-allow360 -allow360
ADVANCED OPTION: Allow listing of 360 pixel wide modes in the video list, these are normally filtered out to make sure the video list doesn't fill up, as these modes aren't normally used to play with.
-notriplebuf -notriplebuf
ADVANCED OPTION: Disallow triple buffering, only double buffering, used as a workaround for rare flicker or driver initialization problems, results in slightly slower performance.
-wavonly -wavonly
ADVANCED OPTION: Disallow Quake to use DirectSound if available, only WAV sound, WAV sound is a bit faster, but suffers latency problems.
-nosound -nosound
Disables initializing of the sound system and sound output in Quake.
-primarysound -primarysound
ADVANCED OPTION: Performance tweek, can speed up sound a bit, but causes glitches with many sound systems.
-snoforceformat -snoforceformat
ADVANCED OPTION: Causes Quake to not force the sound hardware into 11KHz, 16Bit mode. Can help if DirectSound fails for no reason, but may hurt output quality.
-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.
-dinput -dinput
By default, quake doesn't use DirectInput for mouse input, just the normal windows methods. It's recommended that you use this parameter if it functions correctly for you as it can provide better handling of mouse activity and fast movement.
-resetwinpos -resetwinpos
Quake remembers it's last window position when it's started, this will reset that position.

Console Commands

_snd_mixahead [#]
DEFAULT: 0.1
_snd_mixahead .2
ADVANCED OPTION: Tells Quake to mix the sound that much time ahead (in seconds), generally a sign of very low framerate if your sound breaks up.
vid_minimize vid_minimize
Causes Windows versions of Quake to minimize, a key could be bound for easy access.
vid_windowed vid_windowed
Changes the video mode to the mode specified by vid_windowed_mode.
vid_fullscreen vid_fullscreen
Changes the video mode to the mode specified by vid_fullscreen_mode.
vid_window_x [#]
DEFAULT: 0
vid_window_x 100
Sets the positon of the left side of the Quake window when in windowed mode.
vid_window_y [#]
DEFAULT: 0
vid_window_y 100
Sets the positon of the top side of the Quake window when in windowed mode.
block_switch [#]
DEFAULT: 0
block_swtich 1
???
vid_windowed_mode [#]
DEFAULT: 0
vid_windowed_mode 1
Sets the video mode that is put to use when vid_windowed is invoked.
vid_fullscreen_mode [#]
DEFAULT: 3
vid_fullscreen_mode 4
Sets the video mode that is put to use when vid_fullscreen is invoked.
_windowed_mouse [0/1]
DEFAULT: 0
_windowed_mouse 1
Toggles mouse control when the game is running in a window.
0 - Mouse does not control Quake when windowed.
1- Mouse does control Quake when windowed.
vid_stretch_by_2 [0/1]
DEFAULT: 1
vid_stretch_by_2 0
Toggles if high resolution windowed modes are drawn with doubled pixels.
0 - Draw the screen with the true resolution
1 - Draw the screen with doubled pixels.
vid_config_x [#]
DEFAULT: 800
vid_config_x
vid_mode 2 (the third windowed mode) can be user configured, this sets the width.
vid_config_y [#]
DEFAULT: 600
vid_windowed
vid_mode 2 (the third windowed mode) can be user configured, this sets the height
_vid_default_mode_win [#]
DEFAULT: 3
vid_default_mode_win 5
Just like the DOS Quake vid_defualt_mode you can set the defualt video mode for Windows versions.

OpenGL Quake
Startup Commands

-window
-window
Starts GLQuake in window mode, does not work witht he original 3Dfx voodoo cards.
-width [x] -height [y]
DEFAULT: 640x480
-width 640 -height -480
Starts GLQuake with the resuolution specified by hight and width, you may use vid_describemodes in the console to see available modes. Note that you cannot change video modes in GL Quake.
-bbp [#]
DEFAULT: 16
-bbp 16
ADVANCED OPTION: Sets the pixel depth mode the video adapter should swich into, note setting it to 24 or 32 won't actaully increase the visual quality of the game, ususually just slow it down, but usefull for getting certain GL cards to function with GLQuake.

Console Commands

gl_texturemode [mode]
DEFUALT: GL_LINEAR_MIPMAP
gl_texturemode GL_LINEAR_MIPMAP
ADVANCED OPTION: Sets the texture mapping mode, avilable options are; GL_NEAREST, GL_LINEAR_MIPMAP, and GL_LINEAR_MIPMAP_LINEAR.
gl_finish [0/1]
DEFAULT: 1
gl_finish 1
ADVANCED OPTION: Toggles GLQuake's issue of a glFinish() call after each frame.
0 - Do not issue a glFinish() call after each frame, this may optimize speed for non 3Dfx based systems.
1 - Issue a glFinish() call after each frame.
gl_flashblend [0/1]
DEFAULT: 1
gl_flashblend 1
Toggles how GLQuake handles dynamic lighting.
0 - Makes dynamic lights look as they do in software Quake, and is slightly slower.
1 - Use the new dynamic light drawing technique.
gl_ztrick [0/1]
DEFAULT: 1
gl_ztrick 1
ADVANCED OPTION: Toggles if GL Quake clears the Z-buffer after each frame. If the status bar or console flashes, set the variable to 0.
0 - GL Quake does not clear the Z-buffer.
1 - GL Quake does clear the Z-buffer.
gl_keeptjunctions [0/1]
DEFAULT: 1
gl_keeptjunctions 1
ADVANCED OPTION: Toggles if j-junctions are kept.
0 - Does not save t-juncts, will speed up the game, but will leave a few artifact pixels.
1 - Save t-juncts.
gl_rounddown [0/1]
DEFAULT: 1
gl_rounddown 1
ADVANCED OPTION: Toggles how GL Quake handles texutres whose dimentions are not a power of 2.
0 - The texture will be scaled up to the next power of 2 size.
1 - The texture will be scaled down to the next power of 2 size.
gl_picmip [0-4]
DEFAULT: 0
gl_picmip 1
ADVANCED OPTION: This option controls the texture detail of the map, each value greater than 0 cuts the size of textures used in the map by half. This helps reduce memory requirements resulting in smoother frame rate in complex scenes. The down side is this will make things a bit more blurry.
gl_playermip [0-4]
DEFAULT: 0
gl_playermip 1
ADVANCED OPTION: This option controls the texture detail of models in the game, each value greater than 0 cuts the size of textures used in the map by half. This helps reduce memory requirements resulting in smoother frame rate in complex scenes. The down side is this will make things a bit more blurry.
r_shadows [0/1]
DEFAULT: 0
r_shadows 0
Toggles if GLQuake displays shadows.
0 - GLQuake does not display shadows.
1 - GLQuake does display shadows.
r_wateralpha [0-1]
DEFAULT: 1
r_wateralpha .7
Allows for semi-transparent water when set to a decimal value greater than 0. You will also need to use the novis 1 option to not use visible information list, the drawback is massive engine slow down associated with the novis 1 option.
r_mirroralpha [0-1]
DEFAULT: 1
r_mirroralpha .3
Causes a stained glass texture (like the window at the 'easy' hall in the start map) to reflect when set to a decimal value less than 1.
gl_polyblend [0/1]
DEFAULT: 1
gl_polyblend 0
Toggles the effects from getting hit, quad, pentagram of protection, and under water clarity.
0 - Poly blending is disabled.
1 - Poly blending is enabled.

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.