Variables
Netcode
Q2PRO client allows separation of outgoing packet rate, physics frame rate
and rendering frame rate. Separation of physics and rendering frame rates is
accomplished in R1Q2 cl_async style. However, this may not be sufficient in
cases you want to run at high FPS for some reason, but still want to preserve
your upload bandwidth.
This is when packet rate and physics frame rate separation comes in handy. In order to accomplish this, ability to pack several input samples into the single network packet is needed, which requires modifications to the network protocol for a clean solution.
Q2PRO protocol naturally provides such ability. In case of default Quake2 protocol and R1Q2 protocol a hacky solution exists, which exploits dropped packet recovery mechanism built into the original Quake2 netcode. This hack is disabled by default.
set cl_protocol 0(integer)
Specifies preferred network protocol version when connecting to servers. Default (zero) means to automatically select the highest protocol number supported.set cl_maxpackets 30(integer)
Number of packets client sends per second, directly impacts upload rate. Zero means no particular limit. Unless connected using Q2PRO protocol, this variable is ignored and packets are sent in sync with client physics frame rate, controlled withcl_maxfpsvariable. Also, seecl_fuzzhackbelow.set cl_fuzzhack 0(boolean)
Enable accounting ofcl_maxpacketseven if connected using non-Q2PRO protocol. This is not recommended, and may cause problems if your connection tends to drop outgoing packets.set cl_packetdup 1(integer)
Number of backup movements client includes in each new packet, directly impacts upload rate. Unless connected using Q2PRO protocol, hardcoded value of 2 backups per packet is used.set cl_instantpacket 1(boolean)
When enabled, important events such as pressing+attackor+useare sent to the server immediately, disregarding any upload rate limits.set cl_async 1(boolean)
Enables rendering frame rate and physics frame rate separation.set r_maxfps 0(integer)
Maximum rendering frame rate in case ofcl_async 1. Default (zero) means no particular limit.set cl_maxfps 60(integer)
Maximum rendering and physics frame rate in case ofcl_async 0. Otherwise, specifies just physics frame rate.set cl_gibs 1(boolean)
When set to zero, disables rendering of entities withEF_GIBflag set. When connected using Q2PRO protocol, allows some degree of bandwidth savings since the server stops sending these entities at all.set cl_gun 1(boolean)
When set to zero, disables rendering of the gun model. When connected using R1Q2 or Q2PRO protocol, allows some degree of bandwidth savings since the server stops sending gun updates at all.set cl_footsteps 1(boolean)
When set to zero, disables footsteps sounds. When connected using Q2PRO protocol, allows some degree of bandwidth savings since the server stops sending footstep events at all.
Network
All cvars below can be changed at runtime and will take effect immediately.
set net_ip ""(string)
Specifies network interface address client should use for outgoing connections. Empty string means default network interface.set net_clientport -1(integer)
Specifies UDP port number client should use for outgoing connections. Value of -1 means random port number chosen at socket creation time.
Triggers
set cl_beginmapcmd ""(string)
Specifies command to be executed each time client enters a new map.set cl_changemapcmd ""(string)
Specifies command to be executed each time client begins loading a new map.set cl_disconnectcmd ""(string)
Specifies command to be executed each time client disconnects from the server.
Effects
Colors can be specified in one of the following formats:
- #RRGGBBAA, where R, G, B and A are hex digits
- #RRGGBB, which implies alpha value of FF
- #RGB, which is expanded to #RRGGBB by duplicating digits
- one of the predefined color names (black, red, etc)
Alternative beam based rail trail effect is available only when using OpenGL refresh library. In software mode original particle based effect is used unconditionally.
set cl_railtrail_type 0(integer)
Defines which type of rail trail effect to use:- 0 - use original effect
- 1 - use alternative effect, draw rail core only
- 2 - use alternative effect, draw rail core and spiral
set cl_railtrail_time 1.0(float)
Time, in seconds, for the rail trail to be visible.set cl_railcore_color "red"(color)
Color of the rail core beam.set cl_railcore_width 3(integer)
Width of the rail core beam.set cl_railspiral_color "blue"(color)
Color of the rail spiral.set cl_railspiral_radius 3
Radius of the rail spiral.set cl_disable_particles 0(bitmask)
Disables rendering of particles for the following effects:- 1 - grenade explosions
- 2 - grenade trails
- 4 - rocket explosions
- 8 - rocket trails
set cl_disable_explosions 0(bitmask)
Disables rendering of animated models for the following effects:- 1 - grenade explosions
- 2 - rocket explosions
set s_ambient 1(integer)
Specifies if ambient sounds are played:- 0 - all ambient sounds are disabled
- 1 - all ambient sounds are enabled
- 2 - only ambient sounds from visible entities are enabled (rocket flyby, etc)
- 3 - only ambient sounds from player entity are enabled (railgun hum, hand grenade ticks, etc)
Console
set con_clock 0(boolean)
Toggles presence of the digital clock at the lower right corner of console.set con_height 0.5(float)
Fraction of the screen in-game console occupies.set con_alpha 1(float)
Transparency of in-game console background. Takes effect in OpenGL mode only.set con_scale 1(float)
Scaling factor of the console text. Takes effect in OpenGL mode only.set con_font "conchars"(string)
Font used for drawing console text.set con_background "conback"(string)
Image to use as console background.set con_history 0(integer)
If non-zero, specifies how many lines to save into console history file before exiting Q2PRO, to be reloaded on next startup. Maximum number of history lines is 128.
Screen
set scr_draw2d 1(boolean)
Toggles drawing of all 2D elements on the screen.set scr_showturtle 1(boolean)
Toggles drawing of various network error conditions at the lower left corner of the screen. Useful for debugging.set scr_demobar 1(boolean)
Toggles drawing of progress bar at the bottom of the screen during demo playback. Progress bar is not shown when playing GZIP compressed demos as there is no effective way to tell original length of such demos.set scr_scale 1.0(float)
Scaling factor of the HUD elements. Takes effect in OpenGL mode only.set scr_alpha 1.0(float)
Opacity of the HUD elements. Takes effect in OpenGL mode only.set scr_font "conchars"(string)
Font used for drawing HUD text.set scr_lag_draw 0(integer)
Toggles drawing of small (48x48 pixels) ping graph on the screen.- 0 - do not draw graph
- 1 - draw transparent graph
- 2 - overlay graph on gray background
set scr_lag_x -1(integer)
Specifies horizontal placement of the ping graph. Setting this to negative value aligns graph to the right side of the screen.set scr_lag_y -1(integer)
Specifies vertical placement of the ping graph. Setting this to negative value aligns graph to the bottom side of the screen.
Video
Hard coded list of the fullscreen video modes is gone from Q2PRO, you can
specify your own list in configuration files. Vertical refresh frequency freq
and bit depth bpp can be specified individually for each mode.
Changing video modes no longer requires vid_restart, and is literally instant
on some setups (e.g. X11 w/ LCD monitor). In windowed mode, size as well as
position of the main window can be changed freely.
set vid_modelist "640x480 800x600 1024x768"(string)
List of the fullscreen video modes. Full syntax is:WxH[@freq][:bpp] [...].set vid_fullscreen 0(integer)
If set to default (zero), run in windowed mode. If set to non zero value, run in the specified fullscreen mode. This way, value acts as index into the list of video modes specified byvid_modelist.set vid_geometry "640x480"(string)
Size and optional position of the main window on virtual desktop. Full syntax is:WxH[+X+Y].
For example, set vid_modelist "640x480@75 800x600@75:32", followed by
set vid_fullscreen 2 selects 800x600 video mode at 75 Hz vertical refresh
and forces 32 bit framebuffer depth.
OpenGL renderer
set gl_gamma_scale_pics 0(boolean)
Apply gamma scaling not only to textures and skins, but to HUD pics too.set gl_noscrap 0(boolean)
By default, OpenGL renderer combines small HUD pics into single large texture called scrap. This cvar disables this optimization.set gl_bilerp_chars 0(boolean)
Enable bilinear interpolation of charset images.set gl_drawsky 1(boolean)
When disabled, sky box is drawn in solid black color.set gl_partscale 1.5(float)
Specifies minimum size of particles.set gl_saturation 1(float)
Specifies color saturation percentage of world textures. Default value of 1 means identity coloring, value of 0 effectively makes textures monochrome (and speeds up rendering a bit as textures are uploaded at 8 bit per pixel instead of 24).set gl_invert 0(boolean)
Invert colors of world textures. In combination withgl_saturation 0effectively makes textures look like negative.set gl_anisotropy 0(integer)
When set to 2 and higher, enables anisotropic filtering of world textures, provided you video card supports it.set gl_brightness 0(float)
Specifies additional brightness percentage added to world lightmaps. Default value of 0 means identity lightmaps, value of 1 means fullbright lightmaps.set gl_modulate_mask 3(bitmask)
Specifies where gl_modulate cvar applies:- 1 - world lightmaps
- 2 - entity lighting
set gl_fragment_program 0(boolean)
EnablesGL_ARB_fragment_programextension, if supported by video drivers. Currently this extension is used only for warping effect on liquid surfaces.set gl_vertex_buffer_object 0(boolean)
EnablesGL_ARB_vertex_buffer_objectextension, if supported by video drivers. This extension allows uploading vertex data at map load time into the special static memory area. Depending on your OpenGL implementation, this may speed up rendering.set r_override_textures 1(boolean)
Enables automatic overriding of palettized textures (in WAL or PCX format) with truecolor replacements (in PNG, JPEG or TGA format).set r_override_models 0(boolean)
Enables automatic overriding of MD2 models with MD3 replacements.set r_texture_formats "pjt"(string)
Specifies the order in which truecolor texture replacements are searched. Default value means to try *.png first, then *.jpg, then *.tga.
Misc
set in_direct 1(boolean)
Enables direct mouse input if supported on your platform. Otherwise, standard input facilities provided by the window system are used.set cl_chat_notify 1(boolean)
Specifies whether to display chat lines in the notify area.set cl_chat_sound "misc/talk1.wav"(string)
Specifies sound file to play each time chat message is received. Set this to empty string to disable chat sound.set cl_chat_filter 0(boolean)
Specifies whether to filter out unprintable characters from incoming chat messages.set cl_noskins 0(integer)
Restricts which models and skins players can use:- 0 - no restrictions, if skins exists, it will be loaded
- 1 - do not allow any skins except of
male/grunt - 2 - do not allow any skins except of
male/gruntandfemale/athena
set ui_open 1(boolean)
When enabled, menu is automatically opened on startup, instead of full screen console.set ui_background ""(string)
Specifies image to use as menu background. When set to empty string, just fills the screen with solid black color.set ui_scale 1(float)
Scaling factor of the UI widgets. Takes effect in OpenGL mode only.
Macros
Macros behave like automated console variables. When macro expansion is
performed, macros are searched first, then console variables.
Each of the following examples are valid: $loc_here, ${loc_here}
and ${$loc_here}.
$cl_armor$cl_ammo$cl_healthThese return statistics seen in your HUD.$cl_timerServer time since level load.$cl_serverAddress of the server you are connected to.$cl_mapnameName of the current map.$loc_thereName of the location you are looking at.$loc_hereName of the location you are standing at.$cl_pingAverage RTT to the server and back.$cl_fpsInput polling rate (that is, main loop frame rate).$cl_upsPlayer velocity in units/sec.$com_timeCurrent time, formatted according tocom_time_format.$com_dateCurrent date, formatted according tocom_date_format.$com_uptimeEngine uptime in format[DD+][HH:]MM.SS.$randomExpands to the single random decimal digit.$net_dnrateDownload rate in bytes/sec.$net_uprateUpload rate in bytes/sec.$qtExpands to double quote.$scExpands to semicolon.$$Expands to dollar sign.
Commands
toggle <cvar> [value1 value2 ...]
If values are omitted, toggle the specified cvar between 0 and 1. If two or more values are specified, cycle through them.inc <cvar> [value]
If value is omitted, add 1 to the value of cvar. Otherwise, add the specified float value.dec <cvar> [value]
If value is omitted, subtract 1 from the value of cvar. Otherwise, subtract the specified float value.reset <cvar>
Reset the specified cvar to it's default value.cvarlist [options]
Display the list of registered cvars and their current values with optional wildcard filtering. Trycvarlist --helpfor details.macrolist
Display the list of registered macros and their current values.serverstatus <address>
Request the status string from the server at specified address, display server info and list of players sorted by frags.fs_restart
Flush all registered media (textures, models, sounds, etc), restart the file system and reload the current level. Unlikevid_restart, does not reload refresh library. Use to manually change the game directory (typically not needed, as it is changed automatically on server connect).demo [/]<filename[.ext]>
Play client side demo. This command does not require file extension to be specified and supports filename autocompletion on TAB. Loads file fromdemos/unless slash is prepended to filename, otherwise loads from the root of VFS.draw <name> <x> <y> [color]
Add console variable or macro identified by name (without the$prefix) to the list of objects drawn on the screen. By default, text is positioned relative to the top left corner of the screen. Use negative values to align text to the opposite edge, e.g.draw cl_fps -1 -1will draw current FPS at the bottom right corner of the screen.undraw <name>
Remove object identified by name from the list of objects drawn on the screen. Specifyallto clear all objects.passive
Toggle passive connection mode. When enabled, client awaits for the firstpassive_connectpacket from the random server and starts usual connection sequence once this packet is received. This command is useful for connecting to servers behind NATs or firewalls. Seepickserver command for more details.