About/News  ReadMe  Download  Screenshots  Tech Notes  Email  icculus Valid XHTML 1.0! Valid CSS! Wikipedia Affiliate Button

DarkPlaces engine readme : updated 20070707

About the DarkPlaces glquake engine

DarkPlaces engine was started because I was unsatisfied with the other engines available soon after the quake source release (which did little more than add some flashy effects), and craved modding features for my DarkPlaces mod, and wanted some real enhancements to the online gaming experience as well.

DarkPlaces engine is the result, I hope everyone likes it.

I am not very good at writing documentation, so this readme is organized as a feature list, with information on each feature, I hope it is still adequate documentation.

If you have any suggestions for features to document in detail in the readme or any other questions/comments/bugreports/suggestions/etc, send me an email with the address lordhavoc ghdigital com (add @ and . characters as appropriate)


Input Tips

If mouse movement is jerky but framerate is high, try typing "gl_finish 1" (without quotes) into the console (makes cpu wait for gpu before ending frame, which gives lousy input drivers a chance to catch up).

Graphics Tips

Visit the Color Control submenu of Options, it's near the top, fiddle with gamma (or grey level if using the color levels mode) until the grey box surrounding the white/black dither pattern matches up with the grey you see while looking at the dither from a distance, this will calibrate quake to look approximately as id Software intended, and ensure everyone sees it the same. Note: Different resolutions may be different intensities depending on monitor. Note2: ATI Radeon Catalyst 3.10 drivers seem to have a weird gamma limiting 'feature' which rejects gamma settings it doesn't like, feel free to complain to ATI about this if it gets in your way (it probably will).

Visit the Effects Options submenu of Options, and check out the options.

Networking tips

Visit the Player Setup submenu of the Multiplayer menu to configure your network speed (as well as the usual settings from quake like name and colors).

To host a server behind a router/firewall, simply set up a port forward on the UDP port you are running the server on (default is 26000), to forward incoming UDP packets on that port to the server, then people can connect.

To make your server show up on the server browser (in the Join Game menu), either set sv_public 1 in the console, or use the multiplayer new game menu and check the Public server checkbox.

Supported games

These games are considered officially supported, if any problems are seen, please make sure you are running the latest version of the game and engine, if you are, please report the problem.

Graphics features

Sound features

Client features

Server features

Modding features

Replacing Content

Formats supported: tga (recommended), png (loads very slowly), jpg (loads slowly), pcx, wal, lmp

Usually you want to put replacement content in either id1/ or another directory such as pretty/ inside your quake directory, in DarkPlaces you can run multiple -game options at once (such as -game ctf -game pretty -game dpmod to have texture overrides from pretty, maps from ctf, and gameplay from dpmod) or multiple gamedirs specified with the gamedir console command (gamedir ctf pretty dpmod).

All texture layers are optional except diffuse (the others are NOT loaded without it)

Replacing skins

Replacing textures in specific maps

Replacing textures in all maps

Replacing hud and menu pictures

Replacing models

same as in Quake, you can replace a model with exactly the same file name (including file extension), so for example an md3 player model has to be renamed progs/player.mdl, and a small box of shells in md3 format has to be renamed maps/b_shell0.bsp

How to make .skin files for multiple skins on a Quake3 (md3) or DarkPlacesModel (dpm) model

These files use the same format as the ones in Quake3 (except being named modelname_0.skin, modelname_1.skin, and so on), they specify what texture to use on each part of the md3 (or zym or dpm or psk) model, their contents look like the following...

torso,progs/player_default.tgasays that the model part named "torso" should use the image progs/player_default.tga
gun,progs/player_default.tgasays that the model part named "gun" should use the image progs/player_default.tga
muzzleflash,progs/player_default_muzzleflash.tgasays that the model part named "muzzleflash" should use the image progs/player_default_muzzleflash.tga - this is useful for transparent skin areas which should be kept separate from opaque skins
tag_head,says that the first tag is named "tag_head" - this is only useful for QuakeC mods using segmented player models so that they can look up/down without their legs rotating, don't worry about it as a user
tag_torso,second tag name
tag_weapon,third tag name

How to install a soundtrack in ogg format

These files must be in ogg or wav format, and numbers begin at 002 if you wish to replace (or install) the Quake cd music - since track 001 was the Quake data track.

quake/id1/sound/cdtracks/track002.oggreplacement track for "cd loop 2"
quake/id1/sound/cdtracks/track003.oggreplacement track for "cd loop 3"

Example list of filenames

quake/id1/progs/player.mdlreplaces the player model)
quake/id1/progs/player.mdl_0.skintext file that specifies textures to use on an md3 model)
quake/id1/progs/player_default.tgatexture referenced by the .skin, make sure that any special parts of this are black, like pants should be black here otherwise you get pink pants when you use a red color ingame)
quake/id1/progs/player_default_pants.tgawhite pants area of the skin, this is colored by the engine according to your color settings, additive blended (which is called "Screen" mode in Photoshop if you wish to preview the layers))
quake/id1/progs/player_default_shirt.tgawhite shirt area of the skin, similar to pants described above)
quake/id1/progs/player_default_norm.tganormalmap texture for player_default, alpha channel can contain a heightmap for offsetmapping (r_glsl_offsetmapping 1 in console) to use, alternatively you can use _bump.tga instead of this which is only a heightmap and the engine will generate the normalmap for you)
quake/id1/progs/player_default_gloss.tgaglossmap (shiny areas) for player_default)
quake/id1/progs/player_default_glow.tgaglowmap (glowing stuff) for player_default, this is fullbrights and such, be sure the corresponding pixels are black in the player_default.tga, because just like pants/shirt this is additive blended)
quake/id1/textures/quake.tgareplaces the quake logo on the arch in start.bsp)
quake/id1/textures/quake_norm.tgasame as for a player)
quake/id1/textures/quake_gloss.tgasame as for a player)
quake/id1/textures/#water1.tgareplaces *water1 texture in the maps, # is used instead of * in filenames)
quake/id1/gfx/conchars.tgareplacement font image, this was in gfx.wad in quake)
quake/id1/gfx/conback.tgareplacement console background, just like in quake)
quake/id1/gfx/mainmenu.tgareplacement main menu image, just like in quake)
quake/id1/maps/b_bh25.bspreplacement for normal health pack, for example this could be an md3 model instead)
quake/id1/sound/cdtracks/track002.oggreplacement track for "cd loop 2"
quake/id1/sound/cdtracks/track003.oggreplacement track for "cd loop 3"

Commandline options as of 2007-03-11

Full Console Variable List as of 2007-03-11

_cl_color0internal storage cvar for current player colors (changed by color command)
_cl_nameplayerinternal storage cvar for current player name (changed by name command)
_cl_playermodelinternal storage cvar for current player model in Nexuiz (changed by playermodel command)
_cl_playerskininternal storage cvar for current player skin in Nexuiz (changed by playerskin command)
_cl_pmodel0internal storage cvar for current player model number in nehahra (changed by pmodel command)
_cl_rate10000internal storage cvar for current rate (changed by rate command)
_snd_mixahead0.1how much sound to mix ahead of time
ambient_fade100rate of volume fading when moving from one environment to another
ambient_level0.3volume of environment noises (water and wind)
bgmvolume1volume of background music (such as CD music or replacement files such as id1/sound/cdtracks/track002.ogg)
cdaudioinitialized0indicates if CD Audio system is active
chase_active0enables chase cam
chase_back48chase cam distance from the player
chase_stevie0chase cam view from above (used only by GoodVsBad2)
chase_up24chase cam distance from the player
cl_anglespeedkey1.5how much +speed multiplies keyboard turning speed
cl_autodemo0records every game played, using the date/time and map name to name the demo file
cl_autodemo_nameformat%Y-%m-%d_%H-%MThe format of the cl_autodemo filename, followed by the map name
cl_backspeed400backward movement speed
cl_beams_instantaimhack1makes your lightning gun aiming update instantly
cl_beams_lightatend0make a light at the end of the beam
cl_beams_polygons1use beam polygons instead of models
cl_beams_quakepositionhack1makes your lightning gun appear to fire from your waist (as in Quake and QuakeWorld)
cl_bob0.02view bobbing amount
cl_bobcycle0.6view bobbing speed
cl_bobmodel1enables gun bobbing
cl_bobmodel_side0.05gun bobbing sideways sway amount
cl_bobmodel_speed7gun bobbing speed
cl_bobmodel_up0.02gun bobbing upward movement amount
cl_bobup0.5view bobbing adjustment that makes the up or down swing of the bob last longer
cl_capturevideo0enables saving of video to a .avi file using uncompressed I420 colorspace and PCM audio, note that scr_screenshot_gammaboost affects the brightness of the output)
cl_capturevideo_fps30how many frames per second to save (29.97 for NTSC, 30 for typical PC video, 15 can be useful)
cl_capturevideo_number1number to append to video filename, incremented each time a capture begins
cl_capturevideo_realtime0causes video saving to operate in realtime (mostly useful while playing, not while capturing demos), this can produce a much lower quality video due to poor sound/video sync and will abort saving if your machine stalls for over 1 second
cl_curl_enabled0whether client's download support is enabled
cl_curl_maxdownloads1maximum number of concurrent HTTP/FTP downloads
cl_curl_maxspeed100maximum download speed (KiB/s)
cl_deathnoviewmodel1hides gun model when dead
cl_deathscoreboard1shows scoreboard (+showscores) while dead
cl_decals0enables decals (bullet holes, blood, etc)
cl_decals_fadetime20how long decals take to fade away
cl_decals_time0how long before decals start to fade away
cl_dlights_decaybrightness1reduces brightness of light flashes over time
cl_dlights_decayradius1reduces size of light flashes over time
cl_explosions_alpha_end0end alpha of an explosion shell (just before it disappears)
cl_explosions_alpha_start1.5starting alpha of an explosion shell
cl_explosions_lifetime0.5how long an explosion shell lasts
cl_explosions_size_end128ending alpha of an explosion shell (just before it disappears)
cl_explosions_size_start16starting size of an explosion shell
cl_forwardspeed400forward movement speed
cl_gravity800how much gravity to apply in client physics (should match sv_gravity)
cl_itembobheight0how much items bob up and down (try 8)
cl_itembobspeed0.5how frequently items bob up and down
cl_joinbeforedownloadsfinish1if non-zero the game will begin after the map is loaded before other downloads finish
cl_maxfps1000maximum fps cap, if game is running faster than this it will wait before running another frame (useful to make cpu time available to other programs)
cl_movement0enables clientside prediction of your player movement
cl_movement_accelerate10how fast you accelerate (should match sv_accelerate)
cl_movement_airaccel_qw1ratio of QW-style air control as opposed to simple acceleration (should match sv_airaccel_qw)
cl_movement_airaccel_sideways_friction0anti-sideways movement stabilization (should match sv_airaccel_sideways_friction)
cl_movement_airaccelerate-1how fast you accelerate while in the air (should match sv_airaccelerate), if less than 0 the cl_movement_accelerate variable is used instead
cl_movement_edgefriction2how much to slow down when you may be about to fall off a ledge (should match edgefriction)
cl_movement_friction4how fast you slow down (should match sv_friction)
cl_movement_jumpvelocity270how fast you move upward when you begin a jump (should match the quakec code)
cl_movement_latency0compensates for this much latency (ping time) on quake servers which do not really support prediction, no effect on darkplaces7 protocol servers or quakeworld servers
cl_movement_maxairspeed30how fast you can move while in the air (should match sv_maxairspeed)
cl_movement_maxspeed320how fast you can move (should match sv_maxspeed)
cl_movement_stepheight18how tall a step you can step in one instant (should match sv_stepheight)
cl_movement_stopspeed100speed below which you will be slowed rapidly to a stop rather than sliding endlessly (should match sv_stopspeed)
cl_movement_wateraccelerate-1how fast you accelerate while in the air (should match sv_airaccelerate), if less than 0 the cl_movement_accelerate variable is used instead
cl_movement_waterfriction-1how fast you slow down (should match sv_friction), if less than 0 the cl_movement_friction variable is used instead
cl_movespeedkey2.0how much +speed multiplies keyboard movement speed
cl_netinputpacketlosstolerance4how many packets in a row can be lost without movement issues when using cl_movement (technically how many input messages to repeat in each packet that have not yet been acknowledged by the server)
cl_netinputpacketspersecond50how many input packets to send to server each second
cl_netlocalping0lags local loopback connection by this much ping time (useful to play more fairly on your own server with people with higher pings)
cl_netpacketloss0drops this percentage of packets (incoming and outgoing), useful for testing network protocol robustness (effects failing to start, sounds failing to play, etc)
cl_nettimesyncmode2selects method of time synchronization in client with regard to server packets, values are: 0 = no sync, 1 = exact sync (reset timing each packet), 2 = loose sync (reset timing only if it is out of bounds), 3 = tight sync and bounding
cl_nodelta0disables delta compression of non-player entities in QW network protocol
cl_nolerp0network update smoothing
cl_noplayershadow0hide player shadow
cl_particles1enables particle effects
cl_particles_blood1enables blood effects
cl_particles_blood_alpha0.5opacity of blood
cl_particles_blood_bloodhack1make certain quake particle() calls create blood effects instead
cl_particles_bubbles1enables bubbles (used by multiple effects)
cl_particles_bulletimpacts1enables bulletimpact effects
cl_particles_explosions_shell0enables polygonal shell from explosions
cl_particles_explosions_smokes0enables smoke from explosions
cl_particles_explosions_sparks1enables sparks from explosions
cl_particles_quake0makes particle effects look mostly like the ones in Quake
cl_particles_quality1multiplies number of particles and reduces their alpha
cl_particles_size1multiplies particle size
cl_particles_smoke1enables smoke (used by multiple effects)
cl_particles_smoke_alpha0.5smoke brightness
cl_particles_smoke_alphafade0.55brightness fade per second
cl_particles_sparks1enables sparks (used by multiple effects)
cl_pitchspeed150keyboard pitch turning speed
cl_port0forces client to use chosen port number if not 0
cl_prydoncursor0enables a mouse pointer which is able to click on entities in the world, useful for point and click mods, see PRYDON_CLIENTCURSOR extension in dpextensions.qc
cl_rollangle2.0how much to tilt the view when strafing
cl_rollspeed200how much strafing is necessary to tilt the view
cl_serverextension_download0indicates whether the server supports the download command
cl_shownet01 = print packet size, 2 = print packet message list
cl_sidespeed350strafe movement speed
cl_slowmo1speed of game time (should match slowmo)
cl_sound_hknighthithknight/hit.wavsound to play during TE_KNIGHTSPIKE (empty cvar disables sound)
cl_sound_r_exp3weapons/r_exp3.wavsound to play during TE_EXPLOSION and related effects (empty cvar disables sound)
cl_sound_ric1weapons/ric1.wavsound to play with 5% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
cl_sound_ric2weapons/ric2.wavsound to play with 5% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
cl_sound_ric3weapons/ric3.wavsound to play with 10% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
cl_sound_tink1weapons/tink1.wavsound to play with 80% chance during TE_SPIKE/TE_SUPERSPIKE (empty cvar disables sound)
cl_sound_wizardhitwizard/hit.wavsound to play during TE_WIZSPIKE (empty cvar disables sound)
cl_stainmaps1stains lightmaps, much faster than decals but blurred
cl_stainmaps_clearonload1clear stainmaps on map restart
cl_stairsmoothspeed160how fast your view moves upward/downward when running up/down stairs
cl_upspeed400vertical movement speed (while swimming or flying)
cl_viewmodel_scale0.3changes size of gun model, lower values prevent poking into walls but cause strange artifacts on lighting and especially r_stereo/vid_stereobuffer options where the size of the gun becomes visible
cl_yawspeed140keyboard yaw turning speed
cmdline0contains commandline the engine was launched with
collision_endnudge0how much to bias collision trace end
collision_enternudge0how much to bias collision entry fraction
collision_impactnudge0.03125how much to back off from the impact
collision_leavenudge0how much to bias collision exit fraction
collision_prefernudgedfraction1whether to sort collision events by nudged fraction (1) or real fraction (0)
collision_startnudge0how much to bias collision trace start
con_closeontoggleconsole1allows toggleconsole binds to close the console as well
con_notify4how many notify lines to show (0-32)
con_notifytime3how long notify lines last, in seconds
con_textsize8console text size in virtual 2D pixels
coop0coop mode, 0 = no coop, 1 = coop mode, multiple players playing through the singleplayer game (coop mode also shuts off deathmatch)
crosshair0selects crosshair to use (0 is none)
crosshair_color_alpha1how opaque the crosshair should be
crosshair_color_blue0customizable crosshair color
crosshair_color_green0customizable crosshair color
crosshair_color_red1customizable crosshair color
crosshair_size1adjusts size of the crosshair on the screen
csqc_progcrc-1CRC of csprogs.dat file to load (-1 is none), only used during level changes and then reset to -1
csqc_prognamecsprogs.datname of csprogs.dat file to load
csqc_progsize-1file size of csprogs.dat file to load (-1 is none), only used during level changes and then reset to -1
cutscene1enables cutscenes in nehahra, can be used by other mods
deathmatch0deathmatch mode, values depend on mod but typically 0 = no deathmatch, 1 = normal deathmatch with respawning weapons, 2 = weapons stay (players can only pick up new weapons)
demo_nehahra0reads all quake demos as nehahra movie protocol
developer0prints additional debugging messages and information (recommended for modders and level designers)
developer_entityparsing0prints detailed network entities information each time a packet is received
developer_memory0prints debugging information about memory allocations
developer_memorydebug0enables memory corruption checks (very slow)
developer_networkentities0prints received entities, value is 0-4 (higher for more info)
developer_networking0prints all received and sent packets (recommended only for debugging)
developer_texturelogging0produces a textures.log file containing names of skins and map textures the engine tried to load
edgefriction2how much you slow down when nearing a ledge you might fall off
forceqmenu0enables the quake menu instead of the quakec menu.dat (if present)
fov90field of vision, 1-170 degrees, default 90, some players use 110-130
fraglimit0ends level if this many frags is reached by any player
freelook1mouse controls pitch instead of forward/back
gamecfg0unused cvar in quake, can be used by mods
gameversion0version of game data (mod-specific), when client and server gameversion mismatch in the server browser the server is shown as incompatible
gl_combine1faster rendering by using GL_ARB_texture_env_combine extension (part of OpenGL 1.3 and above)
gl_dither1enables OpenGL dithering (16bit looks bad with this off)
gl_ext_separatetencil1make use of OpenGL 2.0 glStencilOpSeparate or GL_ATI_separate_stencil extension
gl_ext_stenciltwoside1make use of GL_EXT_stenciltwoside extension (NVIDIA only)
gl_finish0make the cpu wait for the graphics processor at the end of each rendered frame (can help with strange input or video lag problems on some machines)
gl_flashblend0render bright coronas for dynamic lights instead of actual lighting, fast but ugly
gl_fogblue0.3nehahra fog color blue value (for Nehahra compatibility only)
gl_fogdensity0.25nehahra fog density (recommend values below 0.1) (for Nehahra compatibility only)
gl_fogenable0nehahra fog enable (for Nehahra compatibility only)
gl_fogend0nehahra fog end distance (for Nehahra compatibility only)
gl_foggreen0.3nehahra fog color green value (for Nehahra compatibility only)
gl_fogred0.3nehahra fog color red value (for Nehahra compatibility only)
gl_fogstart0nehahra fog start distance (for Nehahra compatibility only)
gl_lightmaps0draws only lightmaps, no texture (for level designers)
gl_lockarrays0enables use of glLockArraysEXT, may cause glitches with some broken drivers, and may be slower than normal
gl_lockarrays_minimumvertices1minimum number of vertices required for use of glLockArraysEXT, setting this too low may reduce performance
gl_max_size2048maximum allowed texture size, can be used to reduce video memory usage, note: this is automatically reduced to match video card capabilities (such as 256 on 3Dfx cards before Voodoo4/5)
gl_mesh_drawrangeelements1use glDrawRangeElements function if available instead of glDrawElements (for performance comparisons or bug testing)
gl_mesh_testarrayelement0use glBegin(GL_TRIANGLES);glArrayElement();glEnd(); primitives instead of glDrawElements (useful to test for driver bugs with glDrawElements)
gl_mesh_testmanualfeeding0use glBegin(GL_TRIANGLES);glTexCoord2f();glVertex3f();glEnd(); primitives instead of glDrawElements (useful to test for driver bugs with glDrawElements)
gl_paranoid0enables OpenGL error checking and other tests
gl_picmip0reduces resolution of textures by powers of 2, for example 1 will halve width/height, reducing texture memory usage by 75%
gl_polyblend1tints view while underwater, hurt, etc
gl_printcheckerror0prints all OpenGL error checks, useful to identify location of driver crashes
gl_texture_anisotropy1anisotropic filtering quality (if supported by hardware), 1 sample (no anisotropy) and 8 sample (8 tap anisotropy) are recommended values
halflifebsp0indicates the current map is hlbsp format (useful to know because of different bounding box sizes)
host_framerate0locks frame timing to this value in seconds, 0.05 is 20fps for example, note that this can easily run too fast, use cl_maxfps if you want to limit your framerate instead, or sys_ticrate to limit server speed
host_speeds0reports how much time is used in server/graphics/sound
hostnameUNNAMEDserver message to show in server browser
in_pitch_max90how far upward you can aim (quake used 80
in_pitch_min-90how far downward you can aim (quake used -70
joy_axisforward1which joystick axis to query for forward/backward movement
joy_axispitch3which joystick axis to query for looking up/down
joy_axisroll-1which joystick axis to query for tilting head right/left
joy_axisside0which joystick axis to query for right/left movement
joy_axisup-1which joystick axis to query for up/down movement
joy_axisyaw2which joystick axis to query for looking right/left
joy_deadzoneforward0deadzone tolerance, suggested values are in the range 0 to 0.01
joy_deadzonepitch0deadzone tolerance, suggested values are in the range 0 to 0.01
joy_deadzoneroll0deadzone tolerance, suggested values are in the range 0 to 0.01
joy_deadzoneside0deadzone tolerance, suggested values are in the range 0 to 0.01
joy_deadzoneup0deadzone tolerance, suggested values are in the range 0 to 0.01
joy_deadzoneyaw0deadzone tolerance, suggested values are in the range 0 to 0.01
joy_detected0number of joysticks detected by engine
joy_enable1enables joystick support
joy_index0selects which joystick to use if you have multiple
joy_sensitivityforward-1movement multiplier
joy_sensitivitypitch1movement multiplier
joy_sensitivityroll1movement multiplier
joy_sensitivityside1movement multiplier
joy_sensitivityup1movement multiplier
joy_sensitivityyaw-1movement multiplier
joyadvanced0use more than 2 axis joysticks (configuring this is very technical)
joyadvaxisr0axis mapping for joyadvanced 1 mode
joyadvaxisu0axis mapping for joyadvanced 1 mode
joyadvaxisv0axis mapping for joyadvanced 1 mode
joyadvaxisx0axis mapping for joyadvanced 1 mode
joyadvaxisy0axis mapping for joyadvanced 1 mode
joyadvaxisz0axis mapping for joyadvanced 1 mode
joyforwardsensitivity-1.0how fast the joystick moves forward
joyforwardthreshold0.15minimum joystick movement necessary to move forward
joynamejoystickname of joystick to use (informational only, used only by joyadvanced 1 mode)
joypitchsensitivity1.0how fast the joystick looks up/down
joypitchthreshold0.15minimum joystick movement necessary to look up/down
joysidesensitivity-1.0how fast the joystick moves sideways (strafing)
joysidethreshold0.15minimum joystick movement necessary to move sideways (strafing)
joystick0enables joysticks
joywwhack10.0special hack for wingman warrior
joywwhack20.0special hack for wingman warrior
joyyawsensitivity-1.0how fast the joystick turns left/right
joyyawthreshold0.15minimum joystick movement necessary to turn left/right
locs_enable1enables replacement of certain % codes in chat messages: %l (location), %d (last death location), %h (health), %a (armor), %x (rockets), %c (cells), %r (rocket launcher status), %p (powerup status), %w (weapon status), %t (current time in level)
locs_show0shows defined locations for editing purposes
log_filefilename to log messages to
lookspring0returns pitch to level with the floor when no longer holding a pitch key
lookstrafe0move instead of turning
m_filter0smoothes mouse movement, less responsive but smoother aiming
m_forward1mouse forward speed multiplier
m_pitch0.022mouse pitch speed multiplier
m_side0.8mouse side speed multiplier
m_yaw0.022mouse yaw speed multiplier
mcbsp0indicates the current map is mcbsp format (useful to know because of different bounding box sizes)
menu_options_colorcontrol_correctionvalue0.5intensity value that matches up to white/black dither pattern, should be 0.5 for linear color
mod_q3bsp_curves_collisions1enables collisions with curves (SLOW)
mod_q3bsp_debugtracebrush0selects different tracebrush bsp recursion algorithms (for debugging purposes only)
mod_q3bsp_lightmapmergepower4merges the quake3 128x128 lightmap textures into larger lightmap group textures to speed up rendering, 1 = 256x256, 2 = 512x512, 3 = 1024x1024, 4 = 2048x2048, 5 = 4096x4096, ...
mod_q3bsp_optimizedtraceline1whether to use optimized traceline code for line traces (as opposed to tracebox code)
nehx000nehahra data storage cvar (used in singleplayer)
nehx010nehahra data storage cvar (used in singleplayer)
nehx020nehahra data storage cvar (used in singleplayer)
nehx030nehahra data storage cvar (used in singleplayer)
nehx040nehahra data storage cvar (used in singleplayer)
nehx050nehahra data storage cvar (used in singleplayer)
nehx060nehahra data storage cvar (used in singleplayer)
nehx070nehahra data storage cvar (used in singleplayer)
nehx080nehahra data storage cvar (used in singleplayer)
nehx090nehahra data storage cvar (used in singleplayer)
nehx100nehahra data storage cvar (used in singleplayer)
nehx110nehahra data storage cvar (used in singleplayer)
nehx120nehahra data storage cvar (used in singleplayer)
nehx130nehahra data storage cvar (used in singleplayer)
nehx140nehahra data storage cvar (used in singleplayer)
nehx150nehahra data storage cvar (used in singleplayer)
nehx160nehahra data storage cvar (used in singleplayer)
nehx170nehahra data storage cvar (used in singleplayer)
nehx180nehahra data storage cvar (used in singleplayer)
nehx190nehahra data storage cvar (used in singleplayer)
net_address0.0.0.0network address to open ports on
net_address_ipv6[0:0:0:0:0:0:0:0]network address to open ipv6 ports on
net_connectfloodblockingtimeout5when a connection packet is received, it will block all future connect packets from that IP address for this many seconds (cuts down on connect floods)
net_connecttimeout10after requesting a connection, the client must reply within this many seconds or be dropped (cuts down on connect floods)
net_messagetimeout300drops players who have not sent any packets for this many seconds
net_slist_maxtries3how many times to ask the same server for information (more times gives better ping reports but takes longer)
net_slist_queriesperframe4maximum number of server information requests to send each rendered frame (guards against low framerates causing problems)
net_slist_queriespersecond20how many server information requests to send per second
net_slist_timeout4how long to listen for a server information response before giving up
noaim1QW option to disable vertical autoaim
noexit0kills anyone attempting to use an exit
nomonsters0unused cvar in quake, can be used by mods
nosound0disables sound
pausable1allow players to pause or not
port26000server port for players to connect to
pr_checkextension1indicates to QuakeC that the standard quakec extensions system is available (if 0, quakec should not attempt to use extensions)
prvm_boundscheck1enables detection of out of bounds memory access in the QuakeC code being run (in other words, prevents really exceedingly bad QuakeC code from doing nasty things to your computer)
prvm_statementprofiling0counts how many times each QuakeC statement has been executed, these counts are displayed in prvm_printfunction output (if enabled)
prvm_traceqc0prints every QuakeC statement as it is executed (only for really thorough debugging!)
qport0identification key for playing on qw servers (allows you to maintain a connection to a quakeworld server even if your port changes)
r_ambient0brighter world cheat (not allowed in multiplayer), value is 0-128
r_batchmode1selects method of rendering multiple surfaces with one driver call (values are 0, 1, 2, etc...)
r_bloom0enables bloom effect (makes bright pixels affect neighboring pixels)
r_bloom_blur4how large the glow is
r_bloom_brighten2how bright the glow is, after subtract/power
r_bloom_colorexponent1how exagerated the glow is
r_bloom_colorscale1how bright the glow is
r_bloom_colorsubtract0.125reduces bloom colors by a certain amount
r_bloom_resolution320what resolution to perform the bloom effect at (independent of screen resolution)
r_coronas1brightness of corona flare effects around certain lights, 0 disables corona effects
r_cullentities_trace1probabistically cull invisible entities
r_cullentities_trace_delay1number of seconds until the entity gets actually culled
r_cullentities_trace_enlarge0box enlargement for entity culling
r_cullentities_trace_samples2number of samples to test for entity culling
r_draweffects1renders temporary sprite effects
r_drawentities1draw entities (doors, players, projectiles, etc)
r_drawexplosions1enables rendering of explosion shells (see also cl_particles_explosions_shell)
r_drawparticles1enables drawing of particles
r_drawportals0shows portals (separating polygons) in world interior in quake1 maps
r_drawviewmodel1draw your weapon model
r_dynamic1enables dynamic lights (rocket glow and such)
r_editlights0enables .rtlights file editing mode
r_editlights_cursordistance1024maximum distance of cursor from eye
r_editlights_cursorgrid4snaps cursor to this grid size
r_editlights_cursorpushback0how far to pull the cursor back toward the eye
r_editlights_cursorpushoff4how far to push the cursor off the impacted surface
r_editlights_quakelightsizescale1changes size of light entities loaded from a map
r_explosionclip1enables collision detection for explosion shell (so that it flattens against walls and floors)
r_fullbright0make everything bright cheat (not allowed in multiplayer)
r_fullbrights1enables glowing pixels in quake textures (changes need r_restart to take effect)
r_glsl1enables use of OpenGL 2.0 pixel shaders for lighting
r_glsl_deluxemapping1use per pixel lighting on deluxemap-compiled q3bsp maps (or a value of 2 forces deluxemap shading even without deluxemaps)
r_glsl_offsetmapping0offset mapping effect (also known as parallax mapping or virtual displacement mapping)
r_glsl_offsetmapping_reliefmapping0relief mapping effect (higher quality)
r_glsl_offsetmapping_scale0.04how deep the offset mapping effect is
r_hdr0enables High Dynamic Range bloom effect (higher quality version of r_bloom)
r_hdr_glowintensity1how bright light emitting textures should appear
r_hdr_range4how much dynamic range to render bloom with (equivilant to multiplying r_bloom_brighten by this value and dividing r_bloom_colorscale by this value)
r_hdr_scenebrightness1global rendering brightness
r_lerpimages1bilinear filters images when scaling them up to power of 2 size (mode 1), looks better than glquake (mode 0)
r_lerpmodels1enables animation smoothing on models
r_lerpsprites1enables animation smoothing on sprites (requires r_lerpmodels 1)
r_letterbox0reduces vertical height of view to simulate a letterboxed movie effect (can be used by mods for cutscenes)
r_lightmaprgba1whether to use RGBA (32bit) or RGB (24bit) lightmaps
r_lightningbeam_color_blue1color of the lightning beam effect
r_lightningbeam_color_green1color of the lightning beam effect
r_lightningbeam_color_red1color of the lightning beam effect
r_lightningbeam_qmbtexture0load the qmb textures/particles/lightning.pcx texture instead of generating one, can look better
r_lightningbeam_repeatdistance128how far to stretch the texture along the lightning beam effect
r_lightningbeam_scroll5speed of texture scrolling on the lightning beam effect
r_lightningbeam_thickness4thickness of the lightning beam effect
r_lockpvs0disables pvs switching, allows you to walk around and inspect what is visible from a given location in the map (anything not visible from your current location will not be drawn)
r_lockvisibility0disables visibility updates, allows you to walk around and inspect what is visible from a given viewpoint in the map (anything offscreen at the moment this is enabled will not be drawn)
r_mipskins0mipmaps skins (so they become blurrier in the distance), disabled by default because it tends to blur with strange border colors from the skin
r_mipsprites1mipmaps skins (so they become blurrier in the distance), unlike skins the sprites do not have strange border colors
r_nearclip1distance from camera of nearclip plane
r_nosurftextures0pretends there was no texture lump found in the q1bsp/hlbsp loading (useful for debugging this rare case)
r_novis0draws whole level, see also sv_cullentities_pvs 0
r_precachetextures10 = never upload textures until used, 1 = upload most textures before use (exceptions: rarely used skin colormap layers), 2 = upload all textures before use (can increase texture memory usage significantly)
r_q3bsp_renderskydepth0draws sky depth masking in q3 maps (as in q1 maps), this means for example that sky polygons can hide other things
r_qb1sp_skymasking1allows sky polygons in quake1 maps to obscure other geometry
r_render1enables rendering calls (you want this on!)
r_shadow_bumpscale_basetexture0generate fake bumpmaps from diffuse textures at this bumpyness, try 4 to match tenebrae, higher values increase depth, requires r_restart to take effect
r_shadow_bumpscale_bumpmap4what magnitude to interpret _bump.tga textures as, higher values increase depth, requires r_restart to take effect
r_shadow_culltriangles1performs more expensive tests to remove unnecessary triangles of lit surfaces
r_shadow_debuglight-1renders only one light, for level design purposes or debugging
r_shadow_frontsidecasting1whether to cast shadows from illuminated triangles (front side of model) or unlit triangles (back side of model)
r_shadow_gloss2intensity0.125how bright the forced flat gloss should look if r_shadow_gloss is 2
r_shadow_gloss10 disables gloss (specularity) rendering, 1 uses gloss if textures are found, 2 forces a flat metallic specular effect on everything without textures (similar to tenebrae)
r_shadow_glossexponent32how 'sharp' the gloss should appear (specular power)
r_shadow_glossintensity1how bright textured glossmaps should look if r_shadow_gloss is 1 or 2
r_shadow_lightattenuationpower0.5changes attenuation texture generation (does not affect r_glsl lighting)
r_shadow_lightattenuationscale1changes attenuation texture generation (does not affect r_glsl lighting)
r_shadow_lightintensityscale1renders all world lights brighter or darker
r_shadow_lightradiusscale1renders all world lights larger or smaller
r_shadow_portallight1use portal culling to exactly determine lit triangles when compiling world lights
r_shadow_projectdistance1000000how far to cast shadows
r_shadow_realtime_dlight1enables rendering of dynamic lights such as explosions and rocket light
r_shadow_realtime_dlight_portalculling0enables portal optimization on dynamic lights (slow!)
r_shadow_realtime_dlight_shadows1enables rendering of shadows from dynamic lights
r_shadow_realtime_dlight_svbspculling0enables svbsp optimization on dynamic lights (very slow!)
r_shadow_realtime_world0enables rendering of full world lighting (whether loaded from the map, or a .rtlights file, or a .ent file, or a .lights file produced by hlight)
r_shadow_realtime_world_compile1enables compilation of world lights for higher performance rendering
r_shadow_realtime_world_compileportalculling1enables portal-based culling optimization during compilation
r_shadow_realtime_world_compileshadow1enables compilation of shadows from world lights for higher performance rendering
r_shadow_realtime_world_compilesvbsp1enables svbsp optimization during compilation
r_shadow_realtime_world_dlightshadows1enables shadows from dynamic lights when using full world lighting
r_shadow_realtime_world_lightmaps0brightness to render lightmaps when using full world lighting, try 0.5 for a tenebrae-like appearance
r_shadow_realtime_world_shadows1enables rendering of shadows from world lights
r_shadow_scissor1use scissor optimization of light rendering (restricts rendering to the portion of the screen affected by the light)
r_shadow_shadow_polygonfactor0how much to enlarge shadow volume polygons when rendering (should be 0!)
r_shadow_shadow_polygonoffset1how much to push shadow volumes into the distance when rendering, to reduce chances of zfighting artifacts (should not be less than 0)
r_shadow_texture3d1use 3D voxel textures for spherical attenuation rather than cylindrical (does not affect r_glsl lighting)
r_shadows0casts fake stencil shadows from models onto the world (rtlights are unaffected by this)
r_shadows_throwdistance500how far to cast shadows from models
r_showcollisionbrushes0draws collision brushes in quake3 maps (mode 1), mode 2 disables rendering of world (trippy!)
r_showcollisionbrushes_polygonfactor-1expands outward the brush polygons a little bit, used to make collision brushes appear infront of walls
r_showcollisionbrushes_polygonoffset0nudges brush polygon depth in hardware depth units, used to make collision brushes appear infront of walls
r_showdisabledepthtest0disables depth testing on r_show* cvars, allowing you to see what hidden geometry the graphics card is processing
r_showlighting0shows areas lit by lights, useful for finding out why some areas of a map render slowly (bright orange = lots of passes = slow), a value of 2 disables depth testing which can be interesting but not very useful
r_shownormals0shows per-vertex surface normals and tangent vectors for bumpmapped lighting
r_showshadowvolumes0shows areas shadowed by lights, useful for finding out why some areas of a map render slowly (bright blue = lots of passes = slow), a value of 2 disables depth testing which can be interesting but not very useful
r_showsurfaces01 shows surfaces as different colors, or a value of 2 shows triangle draw order (for analyzing whether meshes are optimized for vertex cache)
r_showtris0shows triangle outlines, value controls brightness (can be above 1)
r_skeletal_debugbone-1development cvar for testing skeletal model code
r_skeletal_debugbonecomponent3development cvar for testing skeletal model code
r_skeletal_debugbonevalue100development cvar for testing skeletal model code
r_skeletal_debugtranslatex1development cvar for testing skeletal model code
r_skeletal_debugtranslatey1development cvar for testing skeletal model code
r_skeletal_debugtranslatez1development cvar for testing skeletal model code
r_sky1enables sky rendering (black otherwise)
r_skyscroll11speed at which upper clouds layer scrolls in quake sky
r_skyscroll22speed at which lower clouds layer scrolls in quake sky
r_smoothnormals_areaweighting1uses significantly faster (and supposedly higher quality) area-weighted vertex normals and tangent vectors rather than summing normalized triangle normals and tangents
r_speeds0displays rendering statistics and per-subsystem timings
r_stereo_redblue0red/blue anaglyph stereo glasses (note: most of these glasses are actually red/cyan, try that one too)
r_stereo_redcyan0red/cyan anaglyph stereo glasses, the kind given away at drive-in movies like Creature From The Black Lagoon In 3D
r_stereo_redgreen0red/green anaglyph stereo glasses (for those who don't mind yellow)
r_stereo_separation4separation of eyes in the world (try negative values too)
r_stereo_sidebyside0side by side views (for those who can't afford glasses but can afford eye strain)
r_subdivide_size128how large water polygons should be (smaller values produce more polygons which give better warping effects)
r_subdivisions_collision_maxtess1024maximum number of subdivisions (prevents curves beyond a certain detail level, limits smoothing)
r_subdivisions_collision_maxvertices4225maximum vertices allowed per subdivided curve
r_subdivisions_collision_mintess1minimum number of subdivisions (values above 1 will smooth curves that don't need it)
r_subdivisions_collision_tolerance15maximum error tolerance on curve subdivision for collision purposes (usually a larger error tolerance than for rendering)
r_subdivisions_maxtess1024maximum number of subdivisions (prevents curves beyond a certain detail level, limits smoothing)
r_subdivisions_maxvertices65536maximum vertices allowed per subdivided curve
r_subdivisions_mintess1minimum number of subdivisions (values above 1 will smooth curves that don't need it)
r_subdivisions_tolerance4maximum error tolerance on curve subdivision for rendering purposes (in other words, the curves will be given as many polygons as necessary to represent curves at this quality)
r_test0internal development use only, leave it alone (usually does nothing anyway)
r_textshadow0draws a shadow on all text to improve readability
r_textureunits32number of hardware texture units reported by driver (note: setting this to 1 turns off gl_combine)
r_useportalculling1use advanced portal culling visibility method to improve performance over just Potentially Visible Set, provides an even more significant speed improvement in unvised maps
r_wateralpha1opacity of water polygons
r_waterscroll1makes water scroll around, value controls how much
r_waterwarp1warp view while underwater
rcon_addressserver address to send rcon commands to (when not connected to a server)
rcon_passwordpassword to authenticate rcon commands
registered0indicates if this is running registered quake (whether gfx/pop.lmp was found)
samelevel0repeats same level if level ends (due to timelimit or someone hitting an exit)
saved10unused cvar in quake that is saved to config.cfg on exit, can be used by mods
saved20unused cvar in quake that is saved to config.cfg on exit, can be used by mods
saved30unused cvar in quake that is saved to config.cfg on exit, can be used by mods
saved40unused cvar in quake that is saved to config.cfg on exit, can be used by mods
savedgamecfg0unused cvar in quake that is saved to config.cfg on exit, can be used by mods
sbar_alpha_bg0.4opacity value of the statusbar background image
sbar_alpha_fg1opacity value of the statusbar weapon/item icons and numbers
scr_centertime2how long centerprint messages show
scr_conalpha1opacity of console background
scr_conbrightness1brightness of console background (0 = black, 1 = image)
scr_conforcewhiledisconnected1forces fullscreen console while disconnected
scr_menuforcewhiledisconnected0forces menu while disconnected
scr_printspeed8speed of intermission printing (episode end texts)
scr_refresh1allows you to completely shut off rendering for benchmarking purposes
scr_screenshot_gammaboost1gamma correction on saved screenshots and videos, 1.0 saves unmodified images
scr_screenshot_jpeg1save jpeg instead of targa
scr_screenshot_jpeg_quality0.9image quality of saved jpeg
scr_screenshot_namedpprefix name for saved screenshots (changes based on -game commandline, as well as which game mode is running)
scr_stipple0interlacing-like stippling of the display
scr_zoomwindow0displays a zoomed in overlay window
scr_zoomwindow_fov20fov of zoom window
scr_zoomwindow_viewsizex20horizontal viewsize of zoom window
scr_zoomwindow_viewsizey20vertical viewsize of zoom window
scratch10unused cvar in quake, can be used by mods
scratch20unused cvar in quake, can be used by mods
scratch30unused cvar in quake, can be used by mods
scratch40unused cvar in quake, can be used by mods
sensitivity3mouse speed multiplier
showbrand0shows gfx/brand.tga in a corner of the screen (different values select different positions, including centered)
showdate0shows current date (useful on screenshots)
showdate_format%Y-%m-%dformat string for date
showfps0shows your rendered fps (frames per second)
showpause1show pause icon when game is paused
showram1show ram icon if low on surface cache memory (not used)
showtime0shows current time of day (useful on screenshots)
showtime_format%H:%M:%Sformat string for time of day
showturtle0show turtle icon when framerate is too low (not used)
skill1difficulty level of game, affects monster layouts in levels, 0 = easy, 1 = normal, 2 = hard, 3 = nightmare (same layout as hard but monsters fire twice)
skinQW player skin name (example: base)
slowmo1.0controls game speed, 0.5 is half speed, 2 is double speed
snd_channellayout0channel layout. Can be 0 (auto - snd_restart needed), 1 (standard layout), or 2 (ALSA layout)
snd_channels2number of channels for the sound ouput (2 for stereo; up to 8 supported for 3D sound)
snd_initialized0indicates the sound subsystem is active
snd_noextraupdate0disables extra sound mixer calls that are meant to reduce the chance of sound breakup at very low framerates
snd_precache1loads sounds before they are used
snd_show0shows some statistics about sound mixing
snd_soundradius1000radius of weapon sounds and other standard sound effects (monster idle noises are half this radius and flickering light noises are one third of this radius)
snd_speed48000sound output frequency, in hertz
snd_staticvolume1volume of ambient sound effects (such as swampy sounds at the start of e1m2)
snd_streaming1enables keeping compressed ogg sound files compressed, decompressing them only as needed, otherwise they will be decompressed completely at load (may use a lot of memory)
snd_swapstereo0swaps left/right speakers for old ISA soundblaster cards
snd_width2sound output precision, in bytes (1 and 2 supported)
sv_accelerate10rate at which a player accelerates to sv_maxspeed
sv_adminnicknick name to use for admin messages instead of host name
sv_aim2maximum cosine angle for quake's vertical autoaim, a value above 1 completely disables the autoaim, quake used 0.93
sv_airaccelerate-1rate at which a player accelerates to sv_maxairspeed while in the air, if less than 0 the sv_accelerate variable is used instead
sv_allowdownloads1whether to allow clients to download files from the server (does not affect http downloads)
sv_allowdownloads_archive0whether to allow downloads of archives (pak/pk3)
sv_allowdownloads_config0whether to allow downloads of config files (cfg)
sv_allowdownloads_dlcache0whether to allow downloads of dlcache files (dlcache/)
sv_allowdownloads_inarchive0whether to allow downloads from archives (pak/pk3)
sv_areagrid_mingridsize64minimum areagrid cell size, smaller values work better for lots of small objects, higher values for large objects
sv_cheats0enables cheat commands in any game, and cheat impulses in dpmod
sv_clmovement_enable1whether to allow clients to use cl_movement prediction, which can cause choppy movement on the server which may annoy other players
sv_clmovement_minping0if client ping is below this time in milliseconds, then their ability to use cl_movement prediction is disabled for a while (as they don't need it)
sv_clmovement_minping_disabletime1000when client falls below minping, disable their prediction for this many milliseconds (should be at least 1000 or else their prediction may turn on/off frequently)
sv_clmovement_waitforinput16when a client does not send input for this many frames, force them to move anyway (unlike QuakeWorld)
sv_cullentities_nevercullbmodels0if enabled the clients are always notified of moving doors and lifts and other submodels of world (warning: eats a lot of network bandwidth on some levels!)
sv_cullentities_pvs1fast but loose culling of hidden entities
sv_cullentities_stats0displays stats on network entities culled by various methods for each client
sv_cullentities_trace0somewhat slow but very tight culling of hidden entities, minimizes network traffic and makes wallhack cheats useless
sv_cullentities_trace_delay1number of seconds until the entity gets actually culled
sv_cullentities_trace_enlarge0box enlargement for entity culling
sv_cullentities_trace_prediction1also trace from the predicted player position
sv_cullentities_trace_samples1number of samples to test for entity culling
sv_cullentities_trace_samples_extra2number of samples to test for entity culling when the entity affects its surroundings by e.g. dlight
sv_curl_defaulturldefault autodownload source URL
sv_curl_serverpackageslist of required files for the clients, separated by spaces
sv_debugmove0disables collision detection optimizations for debugging purposes
sv_echobprint1prints gamecode bprint() calls to server console
sv_entpatch1enables loading of .ent files to override entities in the bsp (for example Threewave CTF server pack contains .ent patch files enabling play of CTF on id1 maps)
sv_fixedframeratesingleplayer0allows you to use server-style timing system in singleplayer (don't run faster than sys_ticrate)
sv_freezenonclients0freezes time, except for players, allowing you to walk around and take screenshots of explosions
sv_friction4how fast you slow down
sv_gameplayfix_blowupfallenzombies1causes findradius to detect SOLID_NOT entities such as zombies and corpses on the floor, allowing splash damage to apply to them
sv_gameplayfix_droptofloorstartsolid1prevents items and monsters that start in a solid area from falling out of the level (makes droptofloor treat trace_startsolid as an acceptable outcome)
sv_gameplayfix_findradiusdistancetobox1causes findradius to check the distance to the corner of a box rather than the center of the box, makes findradius detect bmodels such as very large doors that would otherwise be unaffected by splash damage
sv_gameplayfix_grenadebouncedownslopes1prevents MOVETYPE_BOUNCE (grenades) from getting stuck when fired down a downward sloping surface
sv_gameplayfix_noairborncorpse1causes entities (corpses) sitting ontop of moving entities (players) to fall when the moving entity (player) is no longer supporting them
sv_gameplayfix_qwplayerphysics1changes water jumping to make it easier to get out of water, and prevents friction on landing when bunnyhopping
sv_gameplayfix_setmodelrealbox1fixes a bug in Quake that made setmodel always set the entity box to ('-16 -16 -16', '16 16 16') rather than properly checking the model box, breaks some poorly coded mods
sv_gameplayfix_stepdown0attempts to step down stairs, not just up them (prevents the familiar thud..thud..thud.. when running down stairs and slopes)
sv_gameplayfix_stepwhilejumping1applies step-up onto a ledge even while airborn, useful if you would otherwise just-miss the floor when running across small areas with gaps (for instance running across the moving platforms in dm2, or jumping to the megahealth and red armor in dm2 rather than using the bridge)
sv_gameplayfix_swiminbmodels1causes pointcontents (used to determine if you are in a liquid) to check bmodel entities as well as the world model, so you can swim around in (possibly moving) water bmodel entities
sv_gameplayfix_upwardvelocityclearsongroundflag1prevents monsters, items, and most other objects from being stuck to the floor when pushed around by damage, and other situations in mods
sv_gravity800how fast you fall (512 = roughly earth gravity)
sv_heartbeatperiod120how often to send heartbeat in seconds (only used if sv_public is 1)
sv_idealpitchscale0.8how much to look up/down slopes and stairs when not using freelook
sv_jumpstep0whether you can step up while jumping (sv_gameplayfix_stepwhilejumping must also be 1)
sv_master1user-chosen master server 1
sv_master2user-chosen master server 2
sv_master3user-chosen master server 3
sv_master4user-chosen master server 4
sv_maxairspeed30maximum speed a player can accelerate to when airborn (note that it is possible to completely stop by moving the opposite direction)
sv_maxrate10000upper limit on client rate cvar, should reflect your network connection quality
sv_maxspeed320maximum speed a player can accelerate to when on ground (can be exceeded by tricks)
sv_maxvelocity2000universal speed limit on all entities
sv_newflymove0enables simpler/buggier player physics (not recommended)
sv_nostep0prevents MOVETYPE_STEP entities (monsters) from moving
sv_playerphysicsqc1enables QuakeC function to override player physics
sv_progsprogs.datselects which quakec progs.dat file to run
sv_protocolnameDP7selects network protocol to host for (values include QUAKE, QUAKEDP, NEHAHRAMOVIE, DP1 and up)
sv_public01: advertises this server on the master server (so that players can find it in the server browser); 0: allow direct queries only; -1: do not respond to direct queries; -2: do not allow anyone to connect
sv_qwmaster1user-chosen qwmaster server 1
sv_qwmaster2user-chosen qwmaster server 2
sv_qwmaster3user-chosen qwmaster server 3
sv_qwmaster4user-chosen qwmaster server 4
sv_random_seedrandom seed; when set, on every map start this random seed is used to initialize the random number generator. Don't touch it unless for benchmarking or debugging
sv_ratelimitlocalplayer0whether to apply rate limiting to the local player in a listen server (only useful for testing)
sv_sound_landdemon/dland2.wavsound to play when MOVETYPE_STEP entity hits the ground at high speed (empty cvar disables the sound)
sv_sound_watersplashmisc/h2ohit1.wavsound to play when MOVETYPE_FLY/TOSS/BOUNCE/STEP entity enters or leaves water (empty cvar disables the sound)
sv_stepheight18how high you can step up (TW_SV_STEPCONTROL extension)
sv_stopspeed100how fast you come to a complete stop
sv_wallfriction1how much you slow down when sliding along a wall
sv_wateraccelerate-1rate at which a player accelerates to sv_maxspeed while in the air, if less than 0 the sv_accelerate variable is used instead
sv_waterfriction-1how fast you slow down, if less than 0 the sv_friction variable is used instead
sys_colortranslation0terminal console color translation (supported values: 0 = strip color codes, 1 = translate to ANSI codes, 2 = no translation)
sys_colortranslation1terminal console color translation (supported values: 0 = strip color codes, 1 = translate to ANSI codes, 2 = no translation)
sys_specialcharactertranslation1terminal console conchars to ASCII translation (set to 0 if your conchars.tga is for an 8bit character set or if you want raw output)
sys_ticrate0.05how long a server frame is in seconds, 0.05 is 20fps server rate, 0.1 is 10fps (can not be set higher than 0.1), 0 runs as many server frames as possible (makes games against bots a little smoother, overwhelms network players)
sys_usetimegettime1use windows timeGetTime function (which has issues on some motherboards) for timing rather than QueryPerformanceCounter timer (which has issues on multicore/multiprocessor machines and processors which are designed to conserve power)
teamnoneQW team (4 character limit, example: blue)
teamplay0teamplay mode, values depend on mod but typically 0 = no teams, 1 = no team damage no self damage, 2 = team damage and self damage, some mods support 3 = no team damage but can damage self
temp10general cvar for mods to use, in stock id1 this selects which death animation to use on players (0 = random death, other values select specific death scenes)
timeformat[%Y-%m-%d %H:%M:%S]time format to use on timestamped console messages
timelimit0ends level at this time (in minutes)
timestamps0prints timestamps on console messages
v_brightness0brightness of black, useful for monitors that are too dark
v_centermove0.15how long before the view begins to center itself (if freelook/+mlook/+jlook/+klook are off)
v_centerspeed500how fast the view centers itself
v_color_black_b0desired color of black
v_color_black_g0desired color of black
v_color_black_r0desired color of black
v_color_enable0enables black-grey-white color correction curve controls
v_color_grey_b0.5desired color of grey
v_color_grey_g0.5desired color of grey
v_color_grey_r0.5desired color of grey
v_color_white_b1desired color of white
v_color_white_g1desired color of white
v_color_white_r1desired color of white
v_contrast1brightness of white (values above 1 give a brighter image with increased color saturation, unlike v_gamma)
v_deathtilt1whether to use sideways view when dead
v_deathtiltangle80what roll angle to use when tilting the view while dead
v_gamma1inverse gamma correction value, a brightness effect that does not affect white or black, and tends to make the image grey and dull
v_hwgamma1enables use of hardware gamma correction ramps if available (note: does not work very well on Windows2000 and above), values are 0 = off, 1 = attempt to use hardware gamma, 2 = use hardware gamma whether it works or not
v_idlescale0how much of the quake 'drunken view' effect to use
v_ipitch_cycle1v_idlescale pitch speed
v_ipitch_level0.3v_idlescale pitch amount
v_iroll_cycle0.5v_idlescale roll speed
v_iroll_level0.1v_idlescale roll amount
v_iyaw_cycle2v_idlescale yaw speed
v_iyaw_level0.3v_idlescale yaw amount
v_kickpitch0.6how much a view kick from damage pitches your view
v_kickroll0.6how much a view kick from damage rolls your view
v_kicktime0.5how long a view kick from damage lasts
v_psycho0easter egg (does not work on Windows2000 or above)
vid_bitsperpixel32how many bits per pixel to render at (32 or 16, 32 is recommended)
vid_conheight480virtual height of 2D graphics system
vid_conwidth640virtual width of 2D graphics system
vid_dga1make use of DGA mouse input
vid_dga_mouseaccel1speed of mouse when using DGA mouse input
vid_fullscreen1use fullscreen (1) or windowed (0)
vid_grabkeyboard0whether to grab the keyboard when mouse is active (prevents use of volume control keys, music player keys, etc on some keyboards)
vid_hardwaregammasupported1indicates whether hardware gamma is supported (updated by attempts to set hardware gamma ramps)
vid_minheight0minimum vid_height that is acceptable (to be set in default.cfg in mods)
vid_minwidth0minimum vid_width that is acceptable (to be set in default.cfg in mods)
vid_mouse1whether to use the mouse in windowed mode (fullscreen always does)
vid_pixelheight1adjusts vertical field of vision to account for non-square pixels (1280x1024 on a CRT monitor for example)
vid_refreshrate60refresh rate to use, in hz (higher values flicker less, if supported by your monitor)
vid_stereobuffer0enables 'quad-buffered' stereo rendering for stereo shutterglasses, HMD (head mounted display) devices, or polarized stereo LCDs, if supported by your drivers
vid_vsync0sync to vertical blank, prevents 'tearing' (seeing part of one frame and part of another on the screen at the same time), automatically disabled when doing timedemo benchmarks
viewsize100how large the view should be, 110 disables inventory bar, 120 disables status bar
volume0.7volume of sound effects

Full console command list as of 2007-03-11

+attackbegin firing
+backmove backward
+button3activate button3 (behavior depends on mod)
+button4activate button4 (behavior depends on mod)
+button5activate button5 (behavior depends on mod)
+button6activate button6 (behavior depends on mod)
+button7activate button7 (behavior depends on mod)
+button8activate button8 (behavior depends on mod)
+button9activate button9 (behavior depends on mod)
+button10activate button10 (behavior depends on mod)
+button11activate button11 (behavior depends on mod)
+button12activate button12 (behavior depends on mod)
+button13activate button13 (behavior depends on mod)
+button14activate button14 (behavior depends on mod)
+button15activate button15 (behavior depends on mod)
+button16activate button16 (behavior depends on mod)
+forwardmove forward
+klookactivate keyboard looking mode, do not recenter view
+leftturn left
+lookdownlook downward
+lookuplook upward
+mlookactivate mouse looking mode, do not recenter view
+movedownswim downward
+moveleftstrafe left
+moverightstrafe right
+moveupswim upward
+rightturn right
+showscoresshow scoreboard
+speedactivate run mode (faster movement and turning)
+strafeactivate strafing mode (move instead of turn)
+useuse something (may be used by some mods)
-attackstop firing
-backstop moving backward
-button3deactivate button3
-button4deactivate button4
-button5deactivate button5
-button6deactivate button6
-button7deactivate button7
-button8deactivate button8
-button9deactivate button9
-button10deactivate button10
-button11deactivate button11
-button12deactivate button12
-button13deactivate button13
-button14deactivate button14
-button15deactivate button15
-button16deactivate button16
-forwardstop moving forward
-jumpend jump (so you can jump again)
-klookdeactivate keyboard looking mode
-leftstop turning left
-lookdownstop looking downward
-lookupstop looking upward
-mlookdeactivate mouse looking mode
-movedownstop swimming downward
-moveleftstop strafing left
-moverightstop strafing right
-moveupstop swimming upward
-rightstop turning right
-showscoreshide scoreboard
-speeddeactivate run mode
-strafedeactivate strafing mode
-usestop using something
aliascreate a script function (parameters are passed in as $1 through $9, and $* for all parameters)
beginsignon 3 (client asks server to start sending entities, and will go to signon 4 (playing) when the first entity update is received)
bestweaponsend an impulse number to server to select the first usable weapon out of several (example: 87654321)
bfbriefly flashes a bright color tint on view (used when items are picked up)
bindbinds a command to the specified key in bindmap 0
bottomcolorQW command to set bottom color without changing top color
cdexecute a CD drive command (cd on/off/reset/remap/close/play/loop/stop/pause/resume/eject/info) - use cd by itself for usage
cddriveselect an SDL-detected CD drive by number
centerviewgradually recenter view (stop looking up/down)
changelevelchange to another level, bringing along all connected clients
changingsent by qw servers to tell client to wait for level change
cl_areastatsprints statistics on entity culling during collision traces
cl_begindownloadsused internally by darkplaces client while connecting (causes loading of models and sounds or triggers downloads for missing ones)
cl_downloadbegin(networking) informs client of download file information, client replies with sv_startsoundload to begin the transfer
cl_downloadfinishedsignals that a download has finished and provides the client with file size and crc to check its integrity
cl_particles_reloadeffectsreloads effectinfo.txt
clearclear console history
cmdsend a console commandline to the server (used by some mods)
cmdlistlists all console commands beginning with the specified prefix
colorchange your player shirt and pants colors
condumpoutput console history to a file (see also log_file)
connectconnect to a server by IP address or hostname
curldownload data from an URL and add to search path
cvar_lockdefaultsstores the current values of all cvars into their default values, only used once during startup after parsing default.cfg
cvar_resettodefaults_allsets all cvars to their locked default values
cvar_resettodefaults_nosaveonlysets all non-saved cvars to their locked default values (variables that will not be saved to config.cfg)
cvar_resettodefaults_saveonlysets all saved cvars to their locked default values (variables that will be saved to config.cfg)
cvarlistlists all console variables beginning with the specified prefix
demosrestart looping demos defined by the last startdemos command
dirlist files in searchpath matching an * filename pattern, one per line
disconnectdisconnect from server (or disconnect all clients if running a server)
downloaddownloads a specified file from the server
echoprint a message to the console (useful in scripts)
entitiesprint information on network entities known to client
envmaprender a cubemap (skybox) of the current scene
execexecute a script file
flyfly mode (flight)
fogset global fog parameters (density red green blue)
force_centerviewrecenters view (stops looking up/down)
fs_rescanrescans filesystem for new pack archives and any other changes
fullinfoallows client to modify their userinfo
fullserverinfointernal use only, sent by server to client to update client's local copy of serverinfo string
gamedirchanges active gamedir list (can take multiple arguments), not including base directory (example usage: gamedir ctf)
givealter inventory
gl_texturemodeset texture filtering mode (GL_NEAREST, GL_LINEAR, GL_LINEAR_MIPMAP_LINEAR, etc)
godgod mode (invulnerability)
heartbeatsend a heartbeat to the master server (updates your server information)
helpopen the help menu
impulsesend an impulse number to server (select weapon, use item, etc)
in_bindbinds a command to the specified key in the selected bindmap
in_bindmapselects active foreground and background (used only if a key is not bound in the foreground) bindmaps for typing
in_unbindremoves command on the specified key in the selected bindmap
joyadvancedupdateapplies current joyadv* cvar settings to the joystick driver
kickkick a player off the server by number or name
killdie instantly
loadload a saved game file
loadconfigreset everything and reload configs
loadskyload a skybox by basename (for example loadsky mtnsun_ loads mtnsun_ft.tga and so on)
locs_addadd a point or box location (usage: x y z[ x y z] \
locs_clearremove all loc points/boxes
locs_reloadreload .loc file for this map
locs_removenearestremove the nearest point or box (note: you need to be very near a box to remove it)
locs_savesave .loc file for this map containing currently defined points and boxes
lslist files in searchpath matching an * filename pattern, multiple per line
mapkick everyone off the server and start a new level
mapslist information about available maps
maxplayerssets limit on how many players (or bots) may be connected to the server at once
memlistprints memory pool information (or if used as memlist 5 lists individual allocations of 5K or larger, 0 lists all allocations)
memstatsprints memory system statistics
menu_creditsopen the credits menu
menu_fallbackswitch to engine menu (unload menu.dat)
menu_keysopen the key binding menu
menu_loadopen the loadgame menu
menu_mainopen the main menu
menu_multiplayeropen the multiplayer menu
menu_optionsopen the options menu
menu_options_colorcontrolopen the color control menu
menu_options_effectsopen the effects options menu
menu_options_graphicsopen the graphics options menu
menu_quitopen the quit menu
menu_resetopen the reset to defaults menu
menu_restartrestart menu system (reloads menu.dat
menu_saveopen the savegame menu
menu_setupopen the player setup menu
menu_singleplayeropen the singleplayer menu
menu_transfusion_episodeopen the transfusion episode select menu
menu_transfusion_skillopen the transfusion skill select menu
menu_videoopen the video options menu
messagemodeinput a chat message to say to everyone
messagemode2input a chat message to say to only your team
modellistprints a list of loaded models
modelprecacheload a model
namechange your player name
net_slistquery dp master servers and print all server information
net_slistqwquery qw master servers and print all server information
net_statsprint network statistics
nextulsends next fragment of current upload buffer (screenshot for example)
noclipnoclip mode (flight without collisions, move through walls)
notargetnotarget mode (monsters do not see you)
packetsend a packet to the specified address:port containing a text string
pathprint searchpath (game directories and archives)
pausepause the game (if the server allows pausing)
pausedemopause demo playback (can also safely pause demo recording if using QUAKE, QUAKEDP or NEHAHRAMOVIE protocol, useful for making movies)
pingprint ping times of all players on the server
pingplreportcommand sent by server containing client ping and packet loss values for scoreboard, triggered by pings command from client (not used by QW servers)
pingscommand sent by clients to request updated ping and packetloss of players on scoreboard (originally from QW, but also used on NQ servers)
playplay a sound at your current location (not heard by anyone else)
play2play a sound globally throughout the level (not heard by anyone else)
playdemowatch a demo file
playermodelchange your player model
playerskinchange your player skin number
playvideoplay a .dpv video file
playvolplay a sound at the specified volume level at your current location (not heard by anyone else)
pmodelchange your player model choice (Nehahra specific)
pointfiledisplay point file produced by qbsp when a leak was detected in the map (a line leading through the leak hole, to an entity inside the level)
prespawnsignon 1 (client acknowledges that server information has been received)
prvm_edictprint all data about an entity number in the selected VM (server, client, menu)
prvm_edictcountprints number of active entities in the selected VM (server, client, menu)
prvm_edictsset a property on an entity number in the selected VM (server, client, menu)
prvm_edictsetchanges value of a specified property of a specified entity in the selected VM (server, client, menu)
prvm_fieldsprints usage statistics on properties (how many entities have non-zero values) in the selected VM (server, client, menu)
prvm_globalprints value of a specified global variable in the selected VM (server, client, menu)
prvm_globalsprints all global variables in the selected VM (server, client, menu)
prvm_globalsetsets value of a specified global variable in the selected VM (server, client, menu)
prvm_printfunctionprints a disassembly (QuakeC instructions) of the specified function in the selected VM (server, client, menu)
prvm_profileprints execution statistics about the most used QuakeC functions in the selected VM (server, client, menu)
quitquit the game
r_editlights_clearremoves all world lights (let there be darkness!)
r_editlights_copyinfostore a copy of all properties (except origin) of the selected light
r_editlights_editchanges a property on the selected light
r_editlights_editallchanges a property on ALL lights at once (tip: use radiusscale and colorscale to alter these properties)
r_editlights_helpprints documentation on console commands and variables in rtlight editing system
r_editlights_importlightentitiesfrommapload lights from .ent file or map entities (ignoring .rtlights or .lights file)
r_editlights_importlightsfileload lights from .lights file (ignoring .rtlights or .ent files and map entities)
r_editlights_pasteinfoapply the stored properties onto the selected light (making it exactly identical except for origin)
r_editlights_reloadreloads rtlights file (or imports from .lights file or .ent file or the map itself)
r_editlights_removeremove selected light
r_editlights_savesave .rtlights file for current level
r_editlights_spawncreates a light with default properties (let there be light!)
r_editlights_togglecoronatoggle on/off the corona option on the selected light
r_editlights_toggleshadowtoggle on/off the shadow option on the selected light
r_glsl_restartunloads GLSL shaders, they will then be reloaded as needed
r_listmaptextureslist all textures used by the current map
r_replacemaptextureoverride a map texture for testing purposes
r_restartrestarts renderer
r_shadow_helpprints documentation on console commands and variables used by realtime lighting and shadowing system
r_texturestatsprint information about all loaded textures and some statistics
ratechange your network connection speed
rconsends a command to the server console (if your rcon_password matches the server's rcon_password), or to the address specified by rcon_address when not connected (again rcon_password must match the server's)
reconnectreconnect to the last server you were on, or resets a quakeworld connection (do not use if currently playing on a netquake server)
recordrecord a demo
restartrestart current level
savesave the game to a file
saveconfigsave settings to config.cfg immediately (also automatic when quitting)
saysend a chat message to everyone on the server
say_teamsend a chat message to your team on the server
screenshottakes a screenshot of the next rendered frame
sendcvarsends the value of a cvar to the server as a sentcvar command, for use by QuakeC
setcreate or change the value of a console variable
setacreate or change the value of a console variable that will be saved to config.cfg
setinfomodifies your userinfo
sizedowndecrease view size (decreases viewsize cvar)
sizeupincrease view size (increases viewsize cvar)
skinsdownloads missing qw skins from server
snd_reloadreload all sound files
snd_restartrestart sound system
soundinfoprint sound system information (such as channels and speed)
soundlistlist loaded sounds
spawnsignon 2 (client has sent player information, and is asking server to send scoreboard rankings)
startdemosstart playing back the selected demos sequentially (used at end of startup script)
statusprint server status information
stopstop recording or playing a demo
stopdemostop playing or recording demo (like stop command) and return to looping demos
stopdownloadterminates a download
stopulaborts current upload (screenshot for example)
stopvideostop playing a .dpv video file
stuffcmdsexecute commandline parameters (must be present in quake.rc script)
sv_areastatsprints statistics on entity culling during collision traces
sv_saveentfilesave map entities to .ent file (to allow external editing)
sv_startdownloadbegins sending a file to the client (network protocol use only)
tellsend a chat message to only one person on the server
timedemoplay back a demo as fast as possible and save statistics to benchmark.log
timerefreshturn quickly and print rendering statistcs
toggletoggles a console variable's values (use for more info)
toggleconsoleopens or closes the console
togglemenuopens or closes menu
topcolorQW command to set top color without changing bottom color
unbindremoves a command on the specified key in bindmap 0
unbindallremoves all commands from all keys in all bindmaps (leaving only shift-escape and escape)
userprints additional information about a player number or name on the scoreboard
usersprints additional information about all players on the scoreboard
v_cshiftsets tint color of view
versionprint engine version
vid_restartrestarts video system (closes and reopens the window, restarts renderer)
viewframechange animation frame of viewthing entity in current level
viewmodelchange model of viewthing entity in current level
viewnextchange to next animation frame of viewthing entity in current level
viewprevchange to previous animation frame of viewthing entity in current level
waitmake script execution wait for next rendered frame

Console features

This documentation provided by divverent.

The console does the following preprocessing:

Note: when expanding an alias, cvar expansion is done in the SAME step as alias expansion so that alias parameters or cvar values containing dollar signs have no unwanted bad side effects. However, this needs to be accounted for when writing complex aliases. For example,
alias foo "set x NEW; echo $x"
actually expands to
"set x NEW; echo OLD"
and will print OLD! To work around this, use a second alias:
alias foo "set x NEW; foo2"
alias foo2 "echo $x"

Also note: lines starting with alias are exempt from cvar expansion.

If you want cvar expansion, write "alias" instead:
set x 1
alias foo "echo $x"
"alias" bar "echo $x"
set x 2

foo will print 2, because the variable $x will be expanded when the alias gets expanded. bar will print 1, because the variable $x was expanded at definition time. foo can be equivalently defined as:
"alias" foo "echo $$x"
because at definition time, $$ will get replaced to a single $.

How to install Quake on Windows

All that DarkPlaces needs from the Quake CD is pak files (be sure not to copy opengl32.dll from the Quake CD, it will not work with DarkPlaces!), with this in mind, all you need to do is make a Quake directory, extract the darkplaces engine zip to that directory, then make a quake/id1 directory, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well.

How to deal with a DOS Quake CD on Windows

Try to use the DOS Quake installer if you can, use DOSBox if necessary to run the installer, then copy the pak0.pak and pak1.pak to your id1 directory in the darkplaces installation. ( http://dosbox.sourceforge.net )

How to deal with a WinQuake CD on Windows

Copy the D:\Data\id1\pak0.pak and pak1.pak to your id1 directory.

How to deal with a Linux Quake CD on Windows

Find an archiver (perhaps 7zip or winrar) that can extract files from rpm archives, locate the pak files and copy them to your id1 directory.

How to install Quake on Linux

All that DarkPlaces needs from the Quake CD is pak files, with this in mind, all you need to do is make a ~/quake directory, extract the darkplaces engine zip to that directory, then make a quake/id1 directory, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well, you will probably also want to make a ~/bin/darkplaces script containing the following text:

cd ~/quake
./darkplaces-sdl $*

Then do chmod +x ~/bin/darkplaces

For more information on Quake installation on Linux see the Linux Quake How To

How to deal with a DOS Quake CD on Linux

cat /media/cdrom/resource.001 /media/cdrom/resource.002 >quake.lha
unlha x quake.lha

If you can't get unlha or lha for your distribution, try using DOSBox to run the Quake installer.

How to deal with a WinQuake CD on Linux

Copy the /media/cdrom/data/id1/pak*.pak to your id1 directory.

How to deal with a Linux Quake CD on Linux

mkdir temp
cd temp
# in the following line replace quake.rpm with a correct rpm filename
cat /media/cdrom/quake.rpm | rpm2cpio | cpio -i

Now you should have a mess of subdirectories, locate the pak files and copy to your id1 directory.

Alternatively if you have an rpm-based distribution you could install the rpm, but it is easier to maintain your ~/quake directory than /usr/share/games/quake so you may want to copy the id1/pak*.pak from there and uninstall the rpm.

How to install Quake on Mac OS X

All that DarkPlaces needs from the Quake CD is pak files, with this in mind, make a folder named Quake, drag the Darkplaces.app into this Quake folder, make a folder inside the Quake folder (alongside Darkplaces) named id1, and put the pak0.pak and pak1.pak from your Quake CD into the quake/id1 directory, then all should be well, simply run the Darkplaces app

How to deal with a DOS Quake CD on Mac OS X

Unknown. Linux solution may work if you can get hold of lha, otherwise use DOSBox to run the Quake installer.

How to deal with a WinQuake CD on Mac OS X

Find the data folder on the cdrom and copy the data/id1/pak*.pak files to your id1 folder.

How to deal with a Linux Quake CD on Mac OS X

Unknown. If you can get hold of rpm2cpio and cpio you should be able to follow the Linux method.

Thanks to