Quake 3 Console Commands

Note: Not all of these have been tested so some may not work. I also don't know what everything here does.  So if you figure something else out fill it in and then send me a copy or just let me know what you found. There is info about changing how your name looks (color and text style) and getting a faster connection at the end of this file, check it out.

Feel free to send this around to others, but please leave this header, and be sure to get any new info to me so i can keep this up to date. Have Fun!

-Dominus (dominus32@hotmail.com)

Thanks go out to: [TLN]Gone, Calvrak, Combo, Mads, [SOD]Lightsaber, Vithar, & id Software (for making yet another kickass game!)

First off: set and seta can be used to set values in config files, i don't know the diff. Also, I've put the usable values in front of each command, unless the value can be an arbitrary number then I put in it's default value (i'm still in the process of doing this).

// Globals - Thanks to Vithar //////////////////////////////////////////////////

g_aimtest		                      // ???
g_gravity "800"                   // Defines how heavy you are; the higher the number, the heavier you feel; this results in less high jumps, etc. Negative numbers don't work the same as q1 & q2, it's very choppy.
g_inactivity "0"                  // Don't know for sure what it does. I think it has something to do with the 'idle time' of a player.
g_knockback "1000"                // The knockback from a weapon, higher number = greater knockback.
g_quadfactor "3"                  // How much damage you do when you have the Quad Damage, multiplies your normal damage with the number given.
g_speed "340"                     // How fast you move in Q3Test. The greater the number, the greater the velocity.
g_motd "X"	                      // Set Message of the Day to X (see "cl_motd" to display it)
g_forcerespawn "10"	              // Set the respawn time in seconds, 0 = don't forcerespawn
g_weaponrespawn "5"               // Set the time before a picked up weapon will respawn again, 0 = continuous respawn

// Client //////////////////////////////////////////////////////////////////////

cg_autoswitch 0/1                // Auto-switch Weapons (on pick-up)
cg_drawCrosshairNames 0/1        // show name of who you're pointing at
cg_drawCrosshair 0/1             // use crosshairs or not...
cg_drawKiller 0/1                // show name and pic of who killed you last, good for "talker killers".
cg_drawAmmoWarning 0/1           // show low ammo warning
cg_drawTimer 0/1                 // Time remaining, if timelimit is set
cg_drawStatus 0/1                // Draw the HUD or not (health, ammo, armour, etc)
cg_drawFPS 0/1                   // show Frames Per Second read-out
cg_gibs 0/1                      // Gore? oh yes! :)
cg_gun 0/1                       // show your gun
cg_lagometer 0/1                 // show Lag-O-Meter
cg_shadows 0/1/2/3               // Cast Shadows (0 = None, 1 = Basic Discs,2 =  3 = Stencil Buffered)
cg_marks 0/1                     // shaw Damage Markings (bullet holes, etc)
cg_simpleitems 0/1               // Makes some objects more "simple" (faster to render)

cg_thirdperson 0/1               // Third person (Tomb Raider style)
cg_thirdPersonRange "40"         // distance from view to model.
cg_thirdPersonAngle "0"          // view angle (180 changes view to the front of the model)

cl_run 0/1                       // Allways run
cl_debugMove                     // Don't Know
cl_mouseAccel                    // set mouse accelerationcl_showmouse
cl_showmouserate                 // show the mouse rate of movement
cl_timeout "125"                 // Seconds to wait before you are removed from the server when you lag out.
cl_motd 0/1                      // Display "Message of the day"
cl_noprint 0/1                   // Printout messages to your screen or to the console
cl_nodelta 0/1                   // will not update your ping, eg. You ping at 210  to 230, you hit cl_nodelta when you have 215 ping. Your ping will show as 215 and not change.  If you type it in console before you join, your ping should show as 0

cm_playerCurveClip 0/1           // Move through curved world geometry

crosshairhealth 0/1              // Show health by the cross hairs?
crosshairsize "24"               // Crosshair Size

fov "90"                         // Field of View/Vision (better than +zoom)
freelook 0/1                     // mouselook
handicap "100"                   // Because some ppl spend way to much time playing.
lookspring 0/1                   // "spring" back to center when mouse look is turned off.

name "Player"                   // your Handle/ScreenName/Nick/whatever you call it.

m_side "0.8"                     // I would think i would affect the amount of "sway"
m_forward "1"                    // when you walk/run... but it doesn't seem to.
m_yaw "0.022"                    // controls x-axis speed
m_pitch "0.022"                  // controls y-axis speed

sensitivity "5"                  // mouse sesitivity
snd "visor"                      // Change the sounds used for the character? wierd.
model "visor/red"                // like skin in q2, it changes your model and skin if you know the names of what you want.
team "team free"                 // "s" for spectator & "team free" to join the game again.

zoomfov "22.5"                   // +zoom, the fov zoomed to

// Controller //////////////////////////////////////////////////////////////////

in_dgamouse "1"                  // Didn't work
in_joystick "0"                  // Use Joystick or not ?
in_mididevice "0"
in_midichannel "1"
in_midiport "1"
in_midi "0"
in_mouse "1"
in_nomouseaccel "1"              // Didn't work

// Audio ///////////////////////////////////////////////////////////////////////

snd_restart                      // re-intailize sound

cg_stereoSeparation "0.4"        // The amount of Stereo Seperation
s_khz "22"                       // Sound Quality
s_loadas8bit "0"                 // Load sounds in 8bit (instead of 16?)
s_mixahead "0.2"                 // Pre-Mix Sounds? - Didn't make a diff
s_musicvolume "1"                // Music Volume
s_primary "0"                    // Didn't work
s_volume "0.7"                   // Sound (efx) Volume

// These next ones seem redundant, and also look linux specific... i'm not really sure though. Either way they didn't work on my win32 version... drop me a line if you know.

snddevice "/dev/dsp"
sndchannels "2" sndbits)
sndspeed "0"
sndbits "16"

// System //////////////////////////////////////////////////////////////////////

condump "x"                       // write the console text to a file where "x" is the name of that file
con_notifytime                    // defines how long messages (from players or the system) are on the screen
scr_conspeed                      // How fast the console goes up and down

bindlist                          // gives a listing of what's bound to what
unbind                            // unbinds a key
bind                              // binds a key
win_noalttab 0/1									// Disable alt-tab in windows
game                              // Set the game
version                           // Show the current Version.
disconnect                        // disconnets you from server (local included)
cinematic                         // plays the q3a movie...
demo                              // play demo
record                            // record demo

userinfo                          // lists user settings
viewsize                          // changes view port size
password                          // sets password
configstrings                     // lists the current arena's config string

rconAddress ""                    // rcon?
rcon_password ""                  // password for rcon

// Visuals /////////////////////////////////////////////////////////////////////

r_allowExtentions 0/1             // Use all of the pen gl extentions your card is capable of
r_colorbits "0"
r_customaspect 0/1                // ?Use Custom Aspect Ratio?
r_customheight "480"              // ?y - Custom Resolution?
r_customwidth "856"               // ?x - Custom Resolution?
r_depthbits "0"                   // Depth Buffer Size
r_detailtextures 0/1
r_drawentities 0/1
r_drawSun 0/1                     // ?Use the Sun Light Source?
r_dynamiclight 0/1                // Dynamic Lighting
r_ext_texture_env_add "1"
r_ext_compiled_vertex_array "1"
r_ext_multitexture "1"
r_ext_gamma_control "1"
r_ext_texenv_add "1"
r_ext_swapinterval "1"
r_ext_compress_textures "1"
r_facePlaneCull "1"               // Cull Triangle Faces (for planes? not sure what's diff from reg. culling)
r_fastsky 0/1                     // Quick 'n Dirty Skies
r_fakeFullscreen 0/1              // ???
r_finish 0/1                      // ???
r_flares 0/1                      // Render Flares
r_fullscreen 0/1                  // Full Screen (vs. Windowed)
r_gamma 0/1                       // Gamma Correction
r_glDriver "opengl32"             // Used "x" openGL Driver
r_ignoreGLErrors 0/1              // Ingnores openGL errors that occur
r_ignorehwgamma 0/1               // Same as r_nohwgamma?
r_lastValidRenderer               // "RIVA 128/RIVA 128 ZX (AGP)" / "Intel740"
r_lightningSegmentLength "32"
r_lodbias "0"                     // change the Level Of Detail (0 - 2)
r_lockpvs "0"                     // pvs?
r_mode "3"                        // Rendering Mode
r_nocurves 0/1                    // Don't use curved geometry ( disabled because of cheating possibility )
r_nohwgamma "1"
r_overBrightBits "1"
r_portalonly      0/1             // turns off stencil buffering for portals, this alows you to see the entire portal before it's clipped, i.e. more of the room, to get a better feel for who's in there before you jump in.
r_preloadTextures 0/1
r_roundImagesDown 0/1

// Railgun
color 1/2/3/4/5/6/7               // Rail Color Bule/Green/Cyan/Red/Magenta/Yellow/White
cg_railTrailTime "400"            // How long the railgun's trails last
r_railCoreWidth "16"              // Size of the rail trail's core
r_railSegmentLength "64"          // distance between rail "sun bursts"
r_railWidth "128"                 // Width of the rail trail
r_railRotation "30"               // Didn't work, but it sounds cool.
r_railRotationSpeed "0"           // Same as above.

r_speeds 0/1                      // Show the rendering info e.g. how many triangles are drawn
r_showtris 01                     // Show Triangles, pretty cool looking...
r_stencilbits "8"                 // Stencil Buffer Size
r_stereo "0"                      // Stereo Split (for 3D glasses)?
r_subdivisions "4"
r_simpleMipMaps "1"
r_texturebits "0"
r_vertexLight "0"
r_znear "4"

vid_restart                       // re-intailize video
vid_ypos "30"                     // y position when windowed
vid_xpos "30"                     // x position when windowed
viewsize "100"                    // Should be obvious...

// OpenGL Sepcific /////////////////////////////////////////////////////////////

gl_ext_clip_volume "1"
gl_ext_pointparameters "1"
gl_ext_compiled_vertex_array "1"
gl_ext_multitexture "0"
gl_ext_palettedtexture "1"
gl_ext_gamma "1"
gl_ext_swapinterval "1"
gl_ext_s3tc "1"
gl_ignore_errors "1"
gl_driver "opengl32"
gl_finish "1"
gl_swapinterval "1"

// MultiPlayer / Server /////////////////////////////////////////////////////////

// Set these to setup a teams match //
teamflags "3"
dmflags "1"
// End Set //

sv_maxclients "8"                 // Set Max Clients
sv_hostname "noname"              // Set server name
sv_killserver                     // kills the server

dmflags 0/1/.../4/...
fraglimit "20"
timelimit "0"
privateclients 1/0
password ""
rate "25000"											// 2500 for 28.8, 3000 for 33, and 3500 for 56k... Connecting at 50000 bps, should try a rate of 5000, etc.

cl_packetdup                      // Something about packet duplicates
cl_maxpackets                     // Will restrict the maximum number of outgoing packets to prevent client to server rate problems. This does not limit the client framerate. This defaults to 20, which might actually be a bit low. You might try experimenting with raising this to 40. - johnc
cl_maxfps                         // still exists, but it will never need to be used for networking reasons. - johnc
cg_timenudge                      // adjusts the local timing which effectively adds local lag to try to make sure you interpolate instead of extrapolate. If you really want to play on a server that is dropping a ton of packets, a timenudge of 100 or so might make the game smoother. - johnc
snaps                             // ask for a different number of snapshots, but there isn't a lot of benefit to that. Dedicated servers run at 40hz, so stick to divisors of that: 40, 20 (default), 10. A snaps of 40 will usually just cause you to hit your rate limit a lot faster. It may be usefull for tuning rate, if nothing else. - johnc

// Firewalls & Proxies (from John Cash's .plan) ////////////////////////////////

// Q3ATEST has support for SOCKS5 (RFC-1928 will soon have RFC-1929). Well, at least the wintel version does...  
There are three cvars that control it. They are only settable from the at init time (from the command line).

+set net_socksEnabled 1
+set net_socksServer              // Address (name or IP number) of the SOCKS server (firewall machine), NOT a Q3ATEST server.
+set net_socksPort "1080"         // You should not need to change this.

// Interpreting the lagometer //////////////////////////////////////////////////

April 26, 1999 (From John Carmack's .plan)

Interpreting the lagometer (the graph in the lower right corner):

The upper graph (blue/yellow) slides one pixel for every rendered frame. 
Blue lines below the baseline mean that the frame is interpolating between two valid snapshots. 
Yellow lines above the baseline mean the frame is extrapolating beyond the latest valid time. 
The length of the line is proportional to the time.

The lower graph (green/yellow/red) slides one pixel for every received snapshot. 
By default, snapshots come 20 times a second, so if you are running >20 fps, the top graph will move faster, and vice versa. 
A red bar means the snapshot was dropped by the network. 
Green and yellow bars are properly received snapshots, with the height of the bar proportional to the ping. 
A yellow bar indicates that the previous snapshot was intentionally
supressed to stay under the rate limit.

The upper graph indicates the consistancy of your connection. 
Ideally, you should always have blue bars of only a pixel or two in height. 
If you are commonly getting big triangles of yellow on the graph, your connection is inconsistant.

In a heavy firefight, it is normal for modem players to see yellow bars in the bottom graph, which should return to green when the action quiets down. 
If you are getting several red bars visible, you may want to look for a server that drops less packets.

// Unknown /////////////////////////////////////////////////////////////////////

msg "1"
com_hunkMegs "20"

// + and - /////////////////////////////////////////////////////////////////////

+mlook                                // Mouse Look
+attack                               // Fire Weapon
+speed                                // Toggle Run
+moveright                            // Strafe Right
+moveleft                             // Strafe Left
+strafe                               // Toggle Strafe with movement keys / mouse / js
+lookdown                             // Look Down
+lookup                               // Look Up
+back                                 // Move Backwards
+forward                              // Move Forwards
+right                                // Turn Right
+left                                 // Turn Left
+movedown                             // Crouch / Swim down
+moveup                               // Jump / Swim up

+button0                              // Fire Weapon
+button1                              // Stops all movement but mouse look, wierd
+button2                              // Use Item
+button3                              // Taunt "I'm the man!"
+button4                              // Unknown
+button5                              // Unknown
+button6                              // Unknown

// Flips ///////////////////////////////////////////////////////////////////////

Doing Flips, do can do them *any* time you're in the air. just hit your backup key... 
however remeber that you can control your movement in the air and this action
will decelerate your forward momentum 
(but it looks cool if make cg_thirdPerson = 1 ;) ).

// Colored Names - Thanks to [TLN]Gone /////////////////////////////////////////

Quake3 has embedded support for color codes, you can pu these in you're q3config.cfg, autoexec.cfg, 
or where ever you want then execute it (from the console type "exec filename.cfg")

 0  black
 1  red
 2  green
 3  yellow
 4  blue
 5  cyan
 6  magenta
 7  white

For example: My name with a yellow "D" and the rest red would be "3D1ominus7". 
The 7 is at the end so the rest of the line wont be red too, try it with and with out if you don't get what i mean.

// Different Text Styles ///////////////////////////////////////////////////////

Diff Alphabets in Q3A...

"??????????????????????????" // Block Style Alphabet
"??????????????????????????" // Militry Style Alphabet
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" // If this doesn't does line up use DOS edit.

// For example: "4[TLN]7???????" is Blue [TLN] and DOMINUS in military style text.  
I only tried very quickly but it seems that only the standard alphabet can change color :(

// Cheats //////////////////////////////////////////////////////////////////////

// Cheats are disabled in the test, goto http://hotwire.quake3nation.com/ to get some software to enable them :)

cheats "1"
give ammo