About
Q2PRO is an enhanced, multiplayer oriented Quake 2 client, compatible with existing Quake 2 ports and licensed under GPLv2. This document provides descriptions of console variables and commands added to or modified by Q2PRO since the original Quake 2 release. Cvars and commands inherited from original Quake 2 are not described here (yet).
Variables
Netcode
Q2PRO client supports 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 and is enabled by default.
In addition to this, Q2PRO network protocol is able to pack several input commands into the single network packet for outgoing packet rate reduction. This is very useful for some types of network links like Wi-Fi that can’t deal with large number of small packets and cause packet delay or loss. Q2PRO protocol is only in use when connected to a Q2PRO server.
For the default Quake 2 protocol and R1Q2 protocol a hacky solution exists, which exploits dropped packet recovery mechanism for the purpose of packet rate reduction. This hack is disabled by default.
- cl_protocol
-
Specifies preferred network protocol version to use when connecting to servers. If the server doesn’t support the specified protocol, client will fall back to the previous supported version. Default value is 0.
-
0 — automatically select the highest protocol version supported
-
34 — use default Quake 2 protocol
-
35 — use enhanced R1Q2 protocol
-
36 — use enhanced Q2PRO protocol
-
- cl_maxpackets
-
Number of packets client sends per second. 0 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 with ‘cl_maxfps’ variable. Default value is 30.
- cl_fuzzhack
-
Enables ‘cl_maxpackets’ limit even if Q2PRO protocol is not in use by dropping packets. This is not a generally recommended thing to do, but can be enabled if nothing else helps to reduce ping. Default value is 0 (disabled).
- cl_packetdup
-
Number of backup movement commands client includes in each new packet, directly impacts upload rate. Unless connected using Q2PRO protocol, hardcoded value of 2 backups per packet is used. Default value is 1.
- cl_instantpacket
-
Specifies if important events such as pressing ‘+attack’ or ‘+use’ are sent to the server immediately, ignoring any rate limits. Default value is 1 (enabled).
- cl_async
-
Controls rendering frame rate and physics frame rate separation. Default value is 1. Influence of ‘cl_async’ on client framerates is summarized in the table below.
-
0 — run synchronous, like original Quake 2 does
-
1 — run asynchronous
-
Value of ‘cl_async’ | Rendering | Physics | Main loop |
---|---|---|---|
0 |
cl_maxfps |
cl_maxfps |
cl_maxfps |
1 |
r_maxfps |
cl_maxfps |
unlimited |
- r_maxfps
-
Specifies maximum rendering frame rate if ‘cl_async’ is set to 1, otherwise ignored. Default value is 0, which means no particular limit.
- cl_maxfps
-
Specifies client physics frame rate if ‘cl_async’ 1 or 2 is used. Otherwise, limits both rendering and physics frame rates. Default value is 60.
- cl_gibs
-
Controls rendering of entities with ‘EF_GIB’ flag set. When using Q2PRO protocol, disabling this saves some bandwidth since the server stops sending these entities at all. Default value is 1 (enabled).
- cl_flares
-
Controls rendering of entities with ‘RF_FLARE’ flag set. When using Q2PRO protocol, disabling this saves some bandwidth since the server stops sending these entities at all. Default value is 1 (enabled).
- cl_gun
-
Controls rendering of the player’s own gun model. When using R1Q2 or Q2PRO protocol, disabling this saves some bandwidth since the server stops sending gun updates at all. Default value is 1.
-
0 — don’t draw gun
-
1 — draw gun depending on player handedness
-
2 — force right handed gun
-
3 — force left handed gun
-
- cl_footsteps
-
Controls footstep sounds. When using Q2PRO protocol, disabling this saves some bandwidth since the server stops sending footstep events at all. Default value is 1.
-
0 — footsteps disabled
-
1 — use custom footsteps per surface (if found)
-
2 — use default footstep sound
-
- cl_updaterate
-
Specifies the perferred update rate requested from Q2PRO servers. Only used when server is running in variable FPS mode, otherwise default rate of 10 packets per second is used. Specified rate should evenly divide native server frame rate. Default value is 0, which means to use the highest update rate available (that is, native server frame rate).
- cl_warn_on_fps_rounding
-
Print a warning if value specified for ‘cl_maxfps’ or ‘r_maxfps’ is inexact due to rounding. Default value is 1 (enabled).
Network
- net_enable_ipv6
-
Enables IPv6 support. Default value is 1 on systems that support IPv6 and 0 otherwise.
-
0 — disable IPv6, use IPv4 only
-
1 — enable IPv6, but prefer IPv4 over IPv6 when resolving host names with multiple addresses
-
2 — enable IPv6, use normal address resolver priority configured by OS
-
- net_ip
-
Specifies network interface address client should use for outgoing UDP connections using IPv4. Default value is empty, which means that default network interface is used.
- net_ip6
-
Specifies network interface address client should use for outgoing UDP connections using IPv6. Default value is empty, which means that default network interface is used. Has no effect unless ‘net_enable_ipv6’ is set to non-zero value.
- net_clientport
-
Specifies UDP port number client should use for outgoing connections (using IPv4 or IPv6). Default value is -1, which means that random port number is chosen at socket creation time.
- net_maxmsglen
-
Specifies maximum server to client packet size client will request from servers. 0 means no hard limit. Default value is conservative 1390 bytes. It is nice to have this variable as close to your network link MTU as possible (accounting for headers). Thus for normal Ethernet MTU of 1500 bytes 1462 can be specified (10 bytes quake header, 8 bytes UDP header, 20 bytes IPv4 header). Higher values may cause IP fragmentation which is better to avoid. Servers will cap this variable to their own maximum values. Don’t change this variable unless you know exactly what you are doing.
- net_chantype
-
Specifies if enhanced Q2PRO network channel implementation is enabled when connecting to Q2PRO servers. Q2PRO netchan supports application-level fragmentation of datagrams that results is better gamestate compression ratio and faster map load times. Default value is 1 (enabled).
Triggers
- cl_beginmapcmd
-
Specifies command to be executed each time client enters a new map. Default value is empty.
- cl_changemapcmd
-
Specifies command to be executed each time client begins loading a new map. Default value is empty.
- cl_disconnectcmd
-
Specifies command to be executed each time client disconnects from the server. Default value is empty.
See also ‘trigger’ client command description.
Effects
- cl_railtrail_type
-
Defines which type of rail trail effect to use. Default value is 0.
-
0 — use original effect
-
1 — use alternative effect, draw rail core only
-
2 — use alternative effect, draw rail core and spiral
-
Note
|
Rail trail variables listed below apply to the alternative effect only. |
- cl_railtrail_time
-
Time, in seconds, for the rail trail to be visible. Default value is 1.0.
- cl_railcore_color
-
Color of the rail core beam. Default value is "red".
- cl_railcore_width
-
Width of the rail core beam. Default value is 3.
- cl_railspiral_color
-
Color of the rail spiral. Default value is "blue".
- cl_railspiral_radius
-
Radius of the rail spiral. Default value is 3.
- cl_disable_particles
-
Disables rendering of particles for the following effects. This variable is a bitmask. Default value is 0.
-
1 — grenade explosions
-
2 — grenade trails
-
4 — rocket explosions
-
8 — rocket trails
-
Tip
|
Bitmasks Bitmask cvars allow multiple features to be enabled. To enable the needed
set of features, their values need to be summed. |
- cl_disable_explosions
-
Disables rendering of animated models for the following effects. This variable is a bitmask. Default value is 0.
-
1 — grenade explosions
-
2 — rocket explosions
-
- cl_dlight_hacks
-
Toggles miscellaneous dynamic light effects options. This variable is a bitmask. Default value is 0.
-
1 — make rocket projectile light red instead of yellow
-
2 — make rocket/grenade explosion light radius smaller
-
4 — disable muzzle flashes for machinegun and chaingun
-
- cl_noglow
-
Disables the glowing effect on bonus entities like ammo, health, etc. Default value is 0 (glowing enabled).
- cl_nobob
-
Disables the bobbing effect on bonus entities like armor, weapons, etc. Default value is 0 (bobbing enabled).
- cl_gunalpha
-
Specifies opacity level of the player’s own gun model. Default value is 1 (fully opaque).
- cl_gunfov
-
Specifies custom FOV value for drawing player’s own gun model. Default value is 90. Set to 0 to draw with current FOV value.
- cl_gun_x
- cl_gun_y
- cl_gun_z
-
Specifies custom gun model offset. Default value is 0.
- cl_muzzleflashes
-
Specifies if re-release muzzleflash effects are enabled. Default value is 1.
- cl_hit_markers
-
Specifies if re-release hit marker effects are enabled. Default value is 2.
-
0 — hit marker effects disabled
-
1 — draw hit marker
-
2 — draw hit marker and play hit sound
-
Sound Subsystem
- s_enable
-
Specifies which sound engine to use. Default value is 1.
-
0 — sound is disabled
-
1 — use DMA sound engine
-
2 — use OpenAL sound engine
-
- s_ambient
-
Specifies if ambient sounds are played. Default value is 1.
-
0 — all ambient sounds are disabled
-
1 — all ambient sounds are enabled
-
2 — only ambient sounds from visible entities are enabled (rocket flybys, etc)
-
3 — only ambient sounds from player entity are enabled (railgun hum, hand grenade ticks, etc)
-
- s_underwater
-
Enables lowpass sound filter when underwater. Default value is 1 (enabled).
- s_underwater_gain_hf
-
Specifies HF gain value for lowpass sound filter. Default value is 0.25.
- s_auto_focus
-
Specifies the minimum focus level main Q2PRO window should have for sound to be activated. Default value is 0.
-
0 — sound is always activated
-
1 — sound is activated when main window is visible, and deactivated when it is iconified, or moved to another desktop
-
2 — sound is activated when main window has input focus, and deactivated when it loses it
-
- s_swapstereo
-
Swap left and right audio channels. Only effective when using DMA sound engine. Default value is 0 (don’t swap).
- s_driver
-
Specifies which DMA sound driver to use. Default value is empty (detect automatically). Possible sound drivers are (not all of them are typically available at the same time, depending on how client was compiled):
-
dsound — DirectSound
-
wave — Windows waveform audio
-
sdl — SDL2 audio
-
- al_device
-
Specifies the name of OpenAL device to use. Format of this value depends on your OpenAL implementation. Default value is empty, which means default sound output device is used.
- al_hrtf
-
Specifies if HRTF mixing is allowed when using OpenAL Soft. Default value is 0.
-
0 — force HRTF off
-
1 — use OpenAL Soft default setting
-
2 — force HRTF on
-
Tip
|
Using OpenAL Soft implementation of OpenAL is recommended. |
Ogg Vorbis music
- ogg_enable
-
Enables automatic playback of background music in Ogg Vorbis format. Default value is 1.
- ogg_volume
-
Background music volume, relative to master volume. Default value is 1.
- ogg_shuffle
-
If disabled, play music tracks named ‘music/trackNN.ogg’, where NN is current CD track number (typically in range 02-11). If enabled, play all files with ‘.ogg’ extension from ‘music’ directory in random order. Default value is 0 (disabled).
Graphical Console
- con_clock
-
Toggles drawing of the digital clock at the lower right corner of console. Default value is 0 (disabled).
- con_height
-
Fraction of the screen in-game console occupies. Default value is 0.5.
- con_alpha
-
Opacity of in-game console background. 0 is fully transparent, 1 is opaque. Default value is 1.
- con_scale
-
Scaling factor of the console text. Default value is 0 (automatically scale depending on current display resolution). Set to 1 to disable scaling.
- con_font
-
Font used for drawing console text. Default value is "conchars".
- con_background
-
Image used as console background. Default value is "conback".
- con_notifylines
-
Number of the last console lines displayed in the notification area in game. Default value is 4.
- con_history
-
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. Default value is 128.
- con_scroll
-
Controls automatic scrolling of console text when some event occurs. This variable is a bitmask. Default value is 0.
-
1 — when new command is entered
-
2 — when new lines are printed
-
- con_timestamps
-
Specifies if console lines are prefixed with a timestamp. Default value is 0.
- con_timestampsformat
-
Format string for console timestamps. Default value is "%H:%M:%S ". See strftime(3) for syntax description.
- con_timestampscolor
-
Text color used for console timestamps. Default value is "#aaa".
- con_auto_chat
-
Specifies how console commands not starting with a slash or backslash are handled while in game. Default value is 0.
-
0 — handle as regular commands
-
1 — forward as chat
-
2 — forward as team chat
-
Game Screen
- scr_draw2d
-
Toggles drawing of 2D elements on the screen. Default value is 2.
-
0 — do not draw anything
-
1 — do not draw stats program
-
2 — draw everything
-
- scr_showturtle
-
Toggles drawing of various network error conditions at the lower left corner of the screen. Default value is 1 (draw all errors except of SUPPRESSED, CLIENTDROP and SERVERDROP). Values higher than 1 draw all errors.
- scr_demobar
-
Toggles drawing of progress bar at the bottom of the screen during demo playback. Default value is 1.
-
0 — do not draw demo bar
-
1 — draw demo bar and demo completion percentage
-
2 — draw demo bar, demo completion percentage and current demo time
-
- scr_showpause
-
Toggles drawing of pause indicator on the screen. Default value is 1.
-
0 — do not draw pause indicator
-
1 — draw pic in center of the screen
-
2 — draw text in demo bar (visible only during demo playback)
-
- scr_scale
-
Scaling factor of the HUD elements. Default value is 0 (automatically scale depending on current display resolution). Set to 1 to disable scaling.
- scr_alpha
-
Opacity of the HUD elements. 0 is fully transparent, 1 is opaque. Default value is 1.
- scr_font
-
Font used for drawing HUD text. Default value is "conchars".
- scr_lag_draw
-
Toggles drawing of small (48x48 pixels) ping graph on the screen. Default value is 0.
-
0 — do not draw graph
-
1 — draw transparent graph
-
2 — overlay graph on gray background
-
- scr_lag_x
-
Absolute value of this cvar specifies horizontal placement of the ping graph, counted in pixels from the screen edge. Negative values align graph to the right edge of the screen instead of the left edge. Default value is -1.
- scr_lag_y
-
Absolute value of this cvar specifies vertical placement of the ping graph, counted in pixels from the screen edge. Negative values align graph to the bottom edge of the screen intead of the top edge. Default value is -1.
- scr_lag_min
-
Specifies ping graph offset by defining the minimum value that can be displayed. Default value is 0.
- scr_lag_max
-
Specifies ping graph scale by defining the maximum value that can be displayed. Default value is 200.
- scr_chathud
-
Toggles drawing of the last chat lines on the screen. Default value is 0.
-
0 — do not draw chat lines
-
1 — draw chat lines in normal color
-
2 — draw chat lines in alternative color
-
- scr_chathud_lines
-
Specifies number of the last chat lines drawn on the screen. Default value is 4. Maximum value is 32.
- scr_chathud_time
-
Specifies visibility time of each chat line, counted in seconds. Default value is 0 (lines never fade out).
- scr_chathud_x
-
Absolute value of this cvar specifies horizontal placement of the chat HUD, counted in pixels from the screen edge. Negative values align graph to the right edge of the screen instead of the left edge. Default value is 8.
- scr_chathud_y
-
Absolute value of this cvar specifies vertical placement of the chat HUD, counted in pixels from the screen edge. Negative values align graph to the bottom edge of the screen intead of the top edge. Default value is -64.
- ch_health
-
Enables dynamic crosshair coloring based on the health statistic seen in the player’s HUD. Default value is 0 (use static color).
- ch_red
- ch_green
- ch_blue
-
These variables specify the color of crosshair image. Default values are 1 (draw in white color). Ignored if ‘ch_health’ is enabled.
- ch_alpha
-
Opacity level of crosshair image. Default value is 1 (fully opaque).
- ch_scale
-
Scaling factor of the crosshair image. Default value is 1 (original size).
- ch_x
- ch_y
-
These variables specify the crosshair image offset, counted in pixels from the default position in center of the game screen. Default values are 0 (draw in center).
- scr_hit_marker_time
-
Hit marker visibility time in milliseconds. Hit marker is only visible if crosshair is visible. Default value is 500.
Video Modes
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.
Video mode change no longer requires ‘vid_restart’ and is nearly instant. In windowed mode, size as well as position of the main window can be changed freely.
- vid_modelist
-
Space separated list of fullscreen video modes. Both freq and bpp parameters are optional. Full syntax is: WxH[@freq][:bpp] […]. Default value is "640x480 800x600 1024x768". On Linux, freq parameter is currently ignored. Special keyword ‘desktop’ means to use default desktop video mode.
- vid_fullscreen
-
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 by ‘vid_modelist’. Default value is 0, which means to run in windowed mode.
- vid_geometry
-
Size and optional position of the main window on virtual desktop. Full syntax is:
WxH[+X+Y]
. Default value is "640x480". - vid_flip_on_switch
-
On Windows, specifies if original video mode is automatically restored when switching from fullscreen Q2PRO to another application or desktop. Default value is 0 (don’t switch video modes).
- vid_hwgamma
-
Instructs the video driver to use hardware gamma correction for implementing ‘vid_gamma’. Default value is 0 (use software gamma).
- vid_driver
-
Specifies which video driver to use. Default value is empty (detect automatically). Possible video drivers are (not all of them are typically available at the same time, depending on how client was compiled):
-
win32wgl — standard Windows OpenGL
-
win32egl — OpenGL ES 3.0+ via third-party libEGL.dll (e.g. ANGLE)
-
wayland — native Wayland
-
x11 — native X11
-
sdl — SDL2 video driver
-
The following lines define 2 video modes: 640x480 and 800x600 at 75 Hz vertical refresh and 32 bit framebuffer depth, and select the last 800x600 mode.
/set vid_modelist "640x480@75:32 800x600@75:32"
/set vid_fullscreen 2
Windows Specific
The following variables are specific to the Windows port of Q2PRO.
- win_noalttab
-
Disables the Alt-Tab key combination to prevent it from interfering with game when pressed. Default is 0 (don’t disable).
- win_disablewinkey
-
Disables the default Windows key action to prevent it from interfering with game when pressed. Default is 0 (don’t disable).
- win_noborder
-
Hides the main window bar (borderless). Default is 0 (show window bar).
- win_noresize
-
Prevents the main window from resizing by dragging the border. Default is 0 (allow resizing).
- win_notitle
-
Hides the main window title bar. Default is 0 (show title bar).
- win_alwaysontop
-
Puts the main window on top of other windows. Default is 0 (main window can be obscured by other windows).
- sys_viewlog
-
Show system console window when running a client. Can be set from command line only.
- sys_disablecrashdump
-
Disable crash dump generation. Can be set from command line only.
- sys_exitonerror
-
Exit on fatal error instead of showing error message. Can be set from command line only.
OpenGL Renderer
- gl_gamma_scale_pics
-
Apply software gamma scaling not only to textures and skins, but to HUD pictures also. Default value is 0 (don’t apply to pics).
- gl_noscrap
-
By default, OpenGL renderer combines small HUD pictures into the single texture called scrap. This usually speeds up rendering a bit, and allows pixel precise rendering of non power of two sized images. If you don’t like this optimization for some reason, this cvar can be used to disable it. Default value is 0 (optimize).
- gl_bilerp_chars
-
Enables bilinear filtering of charset images. Default value is 0 (disabled).
- gl_bilerp_pics
-
Enables bilinear filtering of HUD pictures. Default value is 1.
-
0 — disabled for all pictures
-
1 — enabled for large pictures that don’t fit into the scrap
-
2 — enabled for all pictures, including the scrap texture itself
-
- gl_upscale_pcx
-
Enables upscaling of PCX images using HQ2x and HQ4x filters. This improves rendering quality when screen scaling is used. Default value is 0.
-
0 — don’t upscale
-
1 — upscale 2x (takes 5x more memory)
-
2 — upscale 4x (takes 21x more memory)
-
- gl_downsample_skins
-
Specifies if skins are downsampled just like world textures are. When disabled, ‘gl_round_down’, ‘gl_picmip’ cvars have no effect on skins. Default value is 1 (downsampling enabled).
- gl_drawsky
-
Enables skybox texturing and N64 skies. N64 skies only work if ‘gl_shaders’ is enabled. Default value is 1.
-
0 — draw solid black sky
-
1 — draw normal sky, or N64 sky if present
-
2 — draw normal sky, ignore N64 sky
-
- gl_waterwarp
-
Enable screen warping effect when underwater. Only effective when using GLSL backend. Default value is 0 (disabled).
- gl_flarespeed
-
Specifies flare fading effect speed. Default value is 8. Set this to 0 to disable fading.
- gl_fontshadow
-
Specifies font shadow width, in pixels, ranging from 0 to 2. Default value is 0 (no shadow).
- gl_partscale
-
Specifies minimum size of particles. Default value is 2.
- gl_partstyle
-
Specifies drawing style of particles. Default value is 0.
-
0 — blend colors
-
1 — saturate colors
-
- gl_partshape
-
Specifies shape of particles. Default value is 0.
-
0 — faded circle
-
1 — square
-
2 — fuller, less faded circle
-
- gl_beamstyle
-
Specifies drawing style of laser beams. Default value is 0.
-
0 — textured billboard-type beam (Q2PRO style, very fast to draw)
-
1 — flat color polygonal beam (original Quake 2 style)
-
- gl_celshading
-
Enables drawing black contour lines around 3D models (aka ‘celshading’). Value of this variable specifies thickness of the lines drawn. Default value is 0 (celshading disabled).
- gl_dotshading
-
Enables dotshading effect when drawing 3D models, which helps them look truly 3D-ish by simulating diffuse lighting from a fake light source. Default value is 1 (enabled).
- gl_saturation
-
Enables grayscaling of world textures. 1 keeps original colors, 0 converts textures to grayscale format (this may save some video memory and speed up rendering a bit since textures are uploaded at 8 bit per pixel instead of 24), any value in between reduces colorfulness. Default value is 1 (keep original colors).
- gl_invert
-
Inverts colors of world textures. In combination with ‘gl_saturation 0’ effectively makes textures look like black and white photo negative. Default value is 0 (do not invert colors).
- gl_anisotropy
-
When set to 2 and higher, enables anisotropic filtering of world textures, if supported by your OpenGL implementation. Default value is 1 (anisotropic filtering disabled).
- gl_brightness
-
Specifies a brightness value that is added to each pixel of world lightmaps. Positive values make lightmaps brighter, negative values make lightmaps darker. Default value is 0 (keep original brightness).
- gl_coloredlightmaps
-
Enables grayscaling of world lightmaps. 1 keeps original colors, 0 converts lightmaps to grayscale format, any value in between reduces colorfulness. Default value is 1 (keep original colors).
- gl_lightmap_bits
-
Specifies size of lightmap textures, in base 2 logarithm units. Default value is 0 (auto, typically 8 for regular maps and 10 for re-release maps). Allowed range is 7-10. Older hardware may need this adjusted for optimal dynamic lighting speed.
- gl_modulate
-
Specifies a primary modulation factor that each pixel of world lightmaps is multiplied by. This cvar affects entity lighting as well. Default value is 1 (identity).
- gl_modulate_world
-
Specifies an secondary modulation factor that each pixel of world lightmaps is multiplied by. This cvar does not affect entity lighting. Default value is 1 (identity).
- gl_modulate_entities
-
Specifies an secondary modulation factor that entity lighting is multiplied by. This cvar does not affect world lightmaps. Default value is 1 (identity).
Tip
|
An old trick to make entities look brighter in Quake 2 was setting ‘gl_modulate’ to a high value without issuing ‘vid_restart’ afterwards. This way it was possible to keep ‘gl_modulate’ from applying to world lightmaps, but only until the next map was loaded. In Q2PRO this trick is no longer needed (and it won’t work, since ‘gl_modulate’ is applied dynamically). To get the similar effect, set the legacy ‘gl_modulate’ variable to 1, and configure ‘gl_modulate_world’ and ‘gl_modulate_entities’ to suit your needs. |
- gl_doublelight_entities
-
Specifies if combined modulation factor is applied to entity lighting one more time just before final lighting value is calculated, to simulate a well-known bug in the original Quake 2 renderer. Default value is 1 (apply twice).
- gl_dynamic
-
Controls dynamic lightmap updates. Default value is 1.
-
0 — all dynamic lighting is disabled
-
1 — all dynamic lighting is enabled
-
2 — most dynamic lights are disabled, but lightmap updates are still allowed for switchable lights to work
-
- gl_dlight_falloff
-
Makes dynamic lights look a bit smoother, opposed to original jagged Quake 2 style. Default value is 1 (enabled).
- gl_shaders
-
Enables GLSL rendering backend. This requires at least OpenGL 3.0 and changes how ‘gl_modulate’, ‘gl_brightness’ and ‘intensity’ parameters work to prevent ‘washed out’ colors. Default value is 1 (enabled).
- gl_colorbits
-
Specifies desired size of color buffer, in bits, requested from OpenGL implementation (should be typically 0, 24 or 32). Default value is 0 (determine the best value automatically).
- gl_depthbits
-
Specifies desired size of depth buffer, in bits, requested from OpenGL implementation (should be typically 0 or 24). Default value is 0 (determine the best value automatically).
- gl_stencilbits
-
Specifies desired size of stencil buffer, in bits, requested from OpenGL implementation (should be typically 0 or 8). Currently stencil buffer is used only for drawing projection shadows. Default value is 8. 0 means no stencil buffer requested.
- gl_multisamples
-
Specifies number of samples per pixel used to implement multisample anti-aliasing, if supported by OpenGL implementation. Values 0 and 1 are equivalent and disable MSAA. Values from 2 to 32 enable MSAA. Default value is 0.
- gl_texturebits
-
Specifies number of bits per texel used for internal texture storage (should be typically 0, 8, 16 or 32). Default value is 0 (choose the best internal format automatically).
- gl_debug
-
Create debug OpenGL context, if supported by OpenGL implementation. This option may hurt performance and is intended for developers only. Default value is 0.
- gl_profile
-
Specifies custom profile and version of OpenGL context to create. Default value is empty string, which means to create highest version compatibility profile context. Can be set to "gl" to create OpenGL core profile context, or "es" to create OpenGL ES context. May be followed by desired minimum OpenGL version number. For example, "gl4.6" or "es3.0". Not all OpenGL implementations support this.
Note
|
Using OpenGL compatibility profile is recommended. Some features may not work in more restricted profiles, or performance may be suboptimal. |
- gl_screenshot_format
-
Specifies image format ‘screenshot’ command uses. Possible values are "png", "jpg" and "tga". Default value is "jpg".
- gl_screenshot_quality
-
Specifies image quality of JPG screenshots. Values range from 0 (worst quality) to 100 (best quality). Default value is 90.
- gl_screenshot_compression
-
Specifies compression level of PNG screenshots. Values range from 0 (no compression) to 9 (best compression). Default value is 6.
- gl_screenshot_async
-
Specifies if screenshots are saved in background thread to avoid pausing the client. Default value is 1.
-
0 — save screenshots synchronously
-
1 — save PNG screenshots in background thread
-
2 — save JPG and PNG screenshots in background thread
-
- gl_screenshot_template
-
Specifies filename template in "fileXXX" format for ‘screenshot’ command. Template must contain at least 3 and at most 9 consecutive ‘X’ in the last component. Template may contain slashes to save under subdirectory. Default value is "quakeXXX".
- gl_md5_load
-
Enables loading of MD5 replacement models as found in re-release. Default value is 1.
- gl_md5_use
-
Enables use of MD5 replacement models as found in re-release. Only effective if ‘gl_md5_load’ is enabled. Default value is 1.
- gl_md5_distance
-
Only use MD5 replacement model if entity is closer than this distance to the viewer, otherwise use original model. Default value is 2048. Setting this to 0 disables distance LOD.
- gl_glowmap_intensity
-
Intensity factor for entity glowmaps. Default value is 0.75.
- r_glowmaps
-
Enables loading of glowmap images as found in re-release. Only effective if ‘gl_shaders’ is enabled. Default value is 1.
- r_override_textures
-
Enables automatic overriding of palettized textures (in WAL or PCX format) with truecolor replacements (in PNG, JPG or TGA format) by stripping off original file extension and searching for alternative filenames in the order specified by ‘r_texture_formats’ variable. Default value is 1.
-
0 — don’t override textures
-
1 — override only palettized textures
-
2 — override all textures
-
- r_texture_formats
-
Specifies the order in which truecolor texture replacements are searched. Default value is "png jpg tga".
- r_texture_overrides
-
Specifies what types of textures are affected by ‘r_override_textures’. This variable is a bitmask. Default value is -1 (all types).
-
1 — HUD pictures
-
2 — HUD fonts
-
4 — skins
-
8 — sprites
-
16 — wall textures
-
32 — sky textures
-
Downloads
These variables control automatic client downloads (both legacy UDP and HTTP downloads).
- allow_download
-
Globally allows or disallows client downloads. Remaining variables listed below are effective only when downloads are globally enabled. Default value is 1.
-
-1 — downloads are permanently disabled (once this value is set, it can’t be modified)
-
0 — downloads are disabled
-
1 — downloads are enabled
-
- allow_download_maps
-
Enables automatic downloading of maps. Default value is 1.
- allow_download_models
-
Enables automatic downloading of non-player models, sprites and skins. Default value is 1.
- allow_download_sounds
-
Enables automatic downloading of non-player sounds. Default value is 1.
- allow_download_pics
-
Enables automatic downloading of HUD pictures. Default value is 1.
- allow_download_players
-
Enables automatic downloading of player models, skins, sounds and icons. Default value is 1.
- allow_download_textures
-
Enables automatic downloading of map textures. Default value is 1.
HTTP Downloads
- cl_http_downloads
-
Enables HTTP downloads, if server advertises download URL. Default value is 1 (enabled).
- cl_http_filelists
-
When a first file is about to be downloaded from HTTP server, send a filelist request, and download any additional files specified in the filelist. Filelists provide a ‘pushing’ mechanism for server operator to make sure all clients download complete set of data for the particular mod, instead of requesting files one-by-one. Default value is 1 (request filelists).
- cl_http_max_connections
-
Maximum number of simultaneous connections to the HTTP server. Default value is 2.
- cl_http_proxy
-
HTTP proxy server to use for downloads. Default value is empty (direct connection).
- cl_http_default_url
-
Default download URL to use when server doesn’t provide one. Client will fall back to UDP downloading as soon as 404 is returned from default repository. Default value is "".
- cl_http_insecure
-
Disable checking of server certificate when using HTTPS. Default value is 0.
Locations
Client side location files provide a way to report a player’s position on the map in team chat messages without depending on the game mod. Locations are loaded from ‘locs/<mapname>.loc’ file. Once location file is loaded, ‘loc_here’ and ‘loc_there’ macros will expand to the name of location closest to the given position. Variables listed below control some aspects of location selection.
- loc_trace
-
When enabled, location must be directly visible from the given position (not obscured by solid map geometry) in order to be selected. Default value is 0, which means any closest location will satisfy, even if it is placed behind the wall.
- loc_dist
-
Maximum distance to the location, in world units, for it to be considered by the location selection algorithm. Default value is 500.
- loc_draw
-
Enables visualization of location positions. Default value is 0 (disabled).
Mouse Input
- in_grab
-
Specifies mouse grabbing policy in windowed mode. Normally, mouse is always grabbed in-game and released when console or menu is up. In addition to that, smart policy mode automatically releases the mouse when its input is not needed (playing a demo, or spectating a player). Default value is 1.
-
0 — don’t grab mouse
-
1 — normal grabbing policy
-
2 — smart grabbing policy
-
- m_autosens
-
Enables automatic scaling of mouse sensitivity proportional to the current player field of view. Values between 90 and 179 specify the default FOV value to scale sensitivity from. Zero disables automatic scaling. Any other value assumes default FOV of 90 degrees. Default value is 0.
- m_accel
-
Specifies mouse acceleration factor. Default value is 0 (acceleration disabled).
- m_filter
-
When enabled, mouse movement is averaged between current and previous samples. Default value is 0 (filtering disabled).
Miscellaneous
- cl_chat_notify
-
Specifies whether to display chat lines in the notify area. Default value is 1 (enabled).
- cl_chat_sound
-
Specifies sound effect to play each time chat message is received. Default value is 1.
-
0 — don’t play chat sound
-
1 — play normal sound (‘misc/talk.wav’)
-
2 — play alternative sound (‘misc/talk1.wav’)
-
- cl_chat_filter
-
Specifies if unprintable characters are filtered from incoming chat messages, to prevent common exploits like hiding player names. Default value is 0 (don’t filter).
- cl_noskins
-
Restricts which models and skins players can use. Default value is 0.
-
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/grunt’ and ‘female/athena’
-
Tip
|
With ‘cl_noskins’ set to 2, it is possible to keep just 2 model/skin pairs (‘male/grunt’ and ‘female/athena’) to save memory and reduce map load times. This will not affect model-based TDM gameplay, since any male skin will be replaced by ‘male/grunt’ and any female skin will be replaced by ‘female/athena’. |
- cl_ignore_stufftext
-
Enable filtering of commands server is allowed to stuff into client console. List of allowed wildcard patterns can be specified in ‘stufftext-whitelist.txt’ file. Commands are matched raw, before macro expansion, but after splitting multi-line or semicolon separated commands. Internal client commands are always allowed. If whitelist file doesn’t exist or is empty, ‘cmd’ command (with arbitrary arguments) is allowed. This allows the server to query any console variable on the client. If there is at least one entry in whitelist, then ‘cmd’ needs to be explicitly whitelisted. Q2PRO server will not allow the client in if it can’t query version cvar, for example. When set to 2 and higher also issues a warning when stufftext command is ignored. Default value is 0 (don’t filter stufftext commands).
Note
|
Stufftext filtering is advanced feature and may create compatibility problems with mods/servers. |
- cl_rollhack
-
Default OpenGL renderer in Quake 2 contained a bug that caused ‘roll’ angle of 3D models to be inverted during rotation. Due to this bug, player models did lean in the opposite direction when strafing. New Q2PRO renderer doesn’t have this bug, but since many players got used to it, Q2PRO is able to simulate original behavior. This cvar chooses in which direction player models will lean. Default value is 1 (invert ‘roll’ angle).
- cl_adjustfov
-
Specifies if horizontal field of view is automatically adjusted for screens with aspect ratio different from 4/3. Default value is 1 (enabled).
- cl_demosnaps
-
Specifies time interval, in seconds, between saving ‘snapshots’ in memory during demo playback. Snapshots enable backward seeking in demo (see ‘seek’ command description), and speed up repeated forward seeks. Setting this variable to 0 disables snapshotting entirely. Default value is 10.
- cl_demomsglen
-
Specifies default maximum message size used for demo recording. Default value is 1390. See ‘record’ command description for more information on demo packet sizes.
- cl_demowait
-
Specifies if demo playback is automatically paused at the last frame in demo file. Default value is 0 (finish playback).
- cl_demosuspendtoggle
-
Specifies if ‘suspend’ both pauses and resumes demo recording or just pauses if it was recoring. Default value is 1 (toggle between pause and resume).
- cl_autopause
-
Specifies if single player game or demo playback is automatically paused once client console or menu is opened. Default value is 1 (pause game).
- ui_open
-
Specifies if menu is automatically opened on startup, instead of full screen console. Default value is 0 (don’t open menu).
- ui_background
-
Specifies image to use as menu background. Default value is empty, which just fills the screen with solid black color.
- ui_scale
-
Scaling factor of the UI widgets. Default value is 0 (automatically scale depending on current display resolution). Set to 1 to disable scaling.
- ui_sortdemos
-
Specifies default sorting order of entries in demo browser. Default value is 1. Negate the values for descending sorting order instead of ascending.
-
0 — don’t sort
-
1 — sort by name
-
2 — sort by date
-
3 — sort by size
-
4 — sort by map
-
5 — sort by POV
-
- ui_listalldemos
-
List all demos, including demos in packs and demos in base directories. Default value is 0 (limit the search to physical files within the current game directory).
- ui_sortservers
-
Specifies default sorting order of entries in server browser. Default value is 0. Negate the values for descending sorting order instead of ascending.
-
0 — don’t sort
-
1 — sort by hostname
-
2 — sort by mod
-
3 — sort by map
-
4 — sort by players
-
5 — sort by RTT
-
- ui_colorservers
-
Enables highlighting of entries in server browser with different colors. This option draws entries with low RTT in green and grays out password protected and anticheat enforced servers. Default value is 0 (disabled).
- ui_pingrate
-
Specifies the server pinging rate used by server browser, in packets per second. Default value is 0, which estimates the default pinging rate based on ‘rate’ client variable.
- com_time_format
-
Time format used by ‘com_time’ macro. Default value is "%H.%M" on Win32 and "%H:%M" on UNIX. See strftime(3) for syntax description.
- com_date_format
-
Date format used by ‘com_date’ macro. Default value is "%Y-%m-%d". See strftime(3) for syntax description.
- uf
-
User flags variable, automatically exported to game mod in userinfo. Meaning and level of support of individual flags is game mod dependent. Default value is empty. Commonly supported flags are reproduced below. Flags 4 and 64 are supported during local demo playback. Flags 4-64 are supported in MVD/GTV client mode.
-
1 — auto screenshot at end of match
-
2 — auto record demo at beginning of match
-
4 — prefer user FOV over chased player FOV
-
8 — mute player chat
-
16 — mute observer chat
-
32 — mute other messages
-
64 — prefer chased player FOV over user FOV
-
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 and produce the same output:
/echo $loc_here
/echo $loc_here$
/echo ${loc_here}
/echo ${$loc_here}
cl_armor
|
armor statistic seen in the HUD |
cl_ammo
|
ammo statistic seen in the HUD |
cl_health
|
health statistic seen in the HUD |
cl_weaponmodel
|
current weapon model |
cl_timer
|
time since level load |
cl_demopos
|
current position in demo, in timespec syntax |
cl_server
|
address of the server client is connected to |
cl_mapname
|
name of the current map |
loc_there
|
name of the location player is looking at |
loc_here
|
name of the location player is standing at |
cl_ping
|
average round trip time to the server |
cl_lag
|
incoming packet loss percentage |
cl_fps
|
main client loop frame rate
|
cl_mps
|
movement commands generation rate in movements per second
|
cl_pps
|
movement packets transmission rate in packets per second |
cl_ups
|
player velocity in world units per second |
r_fps
|
rendering frame rate |
com_time
|
current time formatted according to ‘com_time_format’ |
com_date
|
current date formatted according to ‘com_date_format’ |
com_uptime
|
engine uptime in short format |
net_dnrate
|
current download rate in bytes/sec |
net_uprate
|
current upload rate in bytes/sec |
random
|
expands to the random decimal digit |
qt
|
expands to double quote |
sc
|
expands to semicolon |
$
|
expands to dollar sign |
Commands
Client Demos
- demo [/]<filename[.ext]>
-
Begins demo playback. This command does not require file extension to be specified and supports filename autocompletion on TAB. Loads file from ‘demos/’ unless slash is prepended to filename, otherwise loads from the root of quake file system. Can be used to launch MVD playback as well, if MVD file type is detected, it will be automatically passed to the server subsystem. To stop demo playback, type ‘disconnect’.
Note
|
By default, during demo playback, Q2PRO overrides FOV value stored in demo file with value of local ‘fov’ variable, unless stored FOV value is less than 90. This behavior can be changed with ‘uf’ variable (see above). |
Note
|
Recommened way to play demos in Q2PRO is the ‘demo’ command, but ‘demomap’ is still supported for compatibility. Playing demos using ‘demomap’ enables some compatibility options, such as hiding player gun in wide angle view. |
Warning
|
Unlike ‘demo’ command, ‘demomap’ allows executing stufftext commands from demos. Demos may change client settings, trick the client into connecting to random servers, and have other security implications. Only play demos from trusted sources using ‘demomap’! |
- seek [+-]<timespec|percent>[%]
-
Seeks the given amount of time during demo playback. Prepend with ‘+’ to seek forward relative to current position, prepend with ‘-’ to seek backward relative to current position. Without prefix, seeks to an absolute frame position within the demo file. See below for timespec syntax description. With ‘%’ suffix, seeks to specified file position percentage. Initial forward seek may be slow, so be patient.
Note
|
The ‘seek’ command actually operates on demo frame numbers, not pure server time. Therefore, ‘seek +300’ does not exactly mean ‘skip 5 minutes of server time’, but just means ‘skip 3000 demo frames’, which may account for more than 5 minutes if there were dropped frames. For most demos, however, correspondence between frame numbers and server time should be reasonably close. |
- record [-hzes] <filename>
-
Begins demo recording into ‘demos/filename.dm2’, or prints some statistics if already recording. If neither ‘--extended’ nor ‘--standard’ options are specified, this command uses maximum demo message size defined by ‘cl_demomsglen’ cvar.
- -h | --help
-
display help message
- -z | --compress
-
compress demo with gzip
- -e | --extended
-
use extended packet size (4086 bytes)
- -s | --standard
-
use standard packet size (1390 bytes)
Tip
|
With Q2PRO it is possible to record a demo while playing back another one. |
- stop
-
Stops demo recording and prints some statistics about recorded demo.
- suspend
-
Pauses and resumes demo recording if ‘cl_demosuspendtoggle’ is set to 1. Just pauses demo recording if ‘cl_demosuspendtoggle’ is set to 0.
- resume
-
Resumes demo recording.
Quake 2 |
1390 |
R1Q2 |
4086 |
Q2PRO |
32768 |
Cvar Operations
- 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 floating point value.
- dec <cvar> [value]
-
If value is omitted, subtract 1 from the value of cvar. Otherwise, subtract the specified floating point value.
- reset <cvar>
-
Reset the specified cvar to its default value.
- resetall
-
Resets all cvars to their default values.
- set <cvar> <value> [u|s|…]
-
If 2 arguments are given, sets the specified cvar to value. If 3 arguments are given, and the last argument is ‘u’ or ‘s’, sets cvar to value and marks the cvar with ‘userinfo’ or ‘serverinfo’ flags, respectively. Otherwise, sets cvar to value, which is handled as consisting from multiple tokens.
- setu <cvar> <value> […]
-
Sets the specified cvar to value, and marks the cvar with ‘userinfo’ flag. Value may be composed from multiple tokens.
- sets <cvar> <value> […]
-
Sets the specified cvar to value, and marks the cvar with ‘serverinfo’ flag. Value may be composed from multiple tokens.
- seta <cvar> <value> […]
-
Sets the specified cvar to value, and marks the cvar with ‘archive’ flag. Value may be composed from multiple tokens.
- cvarlist [-achlmnrstuv] [wildcard]
-
Display the list of registered cvars and their current values with filtering by cvar name or by cvar flags. If no options are given, all cvars are listed. Optional wildcard argument filters cvars by name. Supported options are reproduced below.
- -a | --archive
-
list archived cvars
- -c | --cheat
-
list cheat protected cvars
- -h | --help
-
display help message
- -l | --latched
-
list latched cvars
- -m | --modified
-
list modified cvars
- -n | --noset
-
list command line cvars
- -r | --rom
-
list read-only cvars
- -s | --serverinfo
-
list serverinfo cvars
- -t | --custom
-
list user-created cvars
- -u | --userinfo
-
list userinfo cvars
- -v | --verbose
-
display flags of each cvar
- macrolist
-
Display the list of registered macros and their current values.
Message Triggers
Message triggers provide a form of automatic command execution when some game event occurs. Each trigger is composed from a command string to execute and a match string. When a non-chat message is received from server, a list of message triggers is examined. For each trigger, match is macro expanded and wildcard compared with the message, ignoring any unprintable characters. If the message matches, command is stuffed into the command buffer and executed.
- trigger [<command> <match>]
-
Adds new message trigger. When called without arguments, prints a list of registered triggers.
- untrigger [all] | [<command> <match>]
-
Removes the specified trigger. Specify all to remove all triggers. When called without arguments, prints a list of registered triggers.
Chat Filters
Chat filters allow messages from annoying players to be ignored. Each chat filter is composed from a match string. When a chat message is received from server, a list of chat filters is examined. For each filter, match is wildcard compared with the message, ignoring any unprintable characters. If the message matches, it is silently dropped.
There is also simpler form of chat filters: nickname filters that ignore chat strings from specific nickname. They can be replicated with generic filters and are supported for convenience. Unlike generic chat filters that support wildcards, nicknames are matched as plain strings, ignoring any unprintable characters.
- ignoretext [match …]
-
Adds new generic chat filter. When called without arguments, prints a list of registered generic filters.
- unignoretext [all] | [match …]
-
Removes the specified generic chat filter. Specify all to remove all filters. When called without arguments, prints a list of registered generic filters.
- ignorenick [nickname]
-
Adds new filter to ignore specific nickname. This command supports nickname completion. When called without arguments, prints a list of registered nickname filters.
- unignorenick [all] | [nickname]
-
Removes filter to ignore specific nickname. This command supports nickname completion. Specify all to remove all filters. To remove literal nickname ‘all’, pass a second argument (can be any string). When called without arguments, prints a list of registered nickname filters.
Draw Objects
Draw objects provide a uniform way to display values of arbitrary cvars and macros on the game screen. By default, text is positioned relative to the top left corner of the screen, which has coordinates (0, 0). Use negative values to align text to the opposite edge, e.g. point with coordinates (-1, -1) is at the bottom right corner of the screen. Absolute value of each coordinate specifies the distance from the corresponding screen edge, counted in pixels.
- 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 at position (x, y), drawn in optional color.
- undraw [all] | <name>
-
Remove object identified by name from the list of objects drawn on the screen. Specify all to remove all objects.
/draw cl_fps -1 -1 // bottom right
/draw com_time 0 -1 // bottom left
Screenshots
- screenshot [format]
-
Standard command to take a screenshot. If format argument is given, takes the screenshot in this format. Otherwise, takes in the format specified by ‘gl_screenshot_format’ variable. File name is picked up automatically from template specified by ‘gl_screenshot_template’ variable.
- screenshotpng [filename] [compression]
-
Takes the screenshot in PNG format. If filename argument is given, saves the screenshot into ‘screenshots/filename.png’. Otherwise, file name is picked up automatically. If compression argument is given, saves with this compression level. Otherwise, saves with ‘gl_screenshot_compression’ level.
- screenshotjpg [filename] [quality]
-
Takes the screenshot in JPG format. If filename argument is given, saves the screenshot into ‘screenshots/filename.jpg’. Otherwise, file name is picked up automatically. If quality argument is given, saves with this quality level. Otherwise, saves with ‘gl_screenshot_quality’ level.
- screenshottga [filename]
-
Takes the screenshot in TGA format. If filename argument is given, saves the screenshot into ‘screenshots/filename.tga’. Otherwise, file name is picked up automatically.
Locations
- loc <add|del|set|list|save>
-
Execute locations editing subcommand. Available subcommands:
- add <name>
-
Adds new location with the specified name at current player position.
- del
-
Deletes location closest to player position.
- set <name>
-
Sets name of location closest to player position to name.
- list
-
Lists all locations.
- save [name]
-
Saves current location list into ‘locs/name.loc’ file. If name is omitted, uses current map name.
Note
|
Edit locations on a local server and don’t forget to execute ‘loc save’ command once you are finished. Otherwise all changes to location list will be lost on map change or disconnect. |
Miscellaneous
- vid_restart
-
Perform complete shutdown and reinitialization of the renderer and video subsystem. Rarely needed.
- fs_restart
-
Flush all media registered by the client (textures, models, sounds, etc), restart the file system and reload the current level.
- r_reload
-
Flush and reload all media registered by the renderer (textures and models). Weaker form of ‘fs_restart’.
Tip
|
In Q2PRO, you don’t have to issue ‘vid_restart’ after changing graphics settings. Changes to console variables are detected, and appropriate subsystem is restarted automatically. |
- passive
-
Toggle passive connection mode. When enabled, client waits for the first ‘passive_connect’ packet from server and starts usual connection procedure once this packet is received. This command is useful for connecting to servers behind NATs or firewalls. See ‘pickclient’ command for more details.
- serverstatus [address]
-
Request the status string from the server at specified address, display server info and list of players sorted by frags. If connected to the server, address may be omitted, in this case current server is queried.
- followip [count]
-
Attempts to connect to the IP address recently seen in chat messages. Optional count argument specifies how far to go back in message history (it should be positive integer). If count is omitted, then the most recent IP address is used.
- remotemode <address> <password>
-
Put client console into rcon mode. All commands entered will be forwarded to remove server. Press Ctrl+D or close console to exit this mode.
- ogg <info|play|stop>
-
Execute OGG subcommand. Available subcommands:
- info
-
Display information about currently playing background music track.
- play <track>
-
Start playing background music track ‘music/track.ogg’.
- stop
-
Stop playing background music track.
- whereis <path> [all]
-
Search for path and print the name of packfile or directory where it is found. If all is specified, prints all found instances of path, not just the first one.
- softlink <name> <target>
-
Create soft symbolic link to target with the specified name. Soft symbolic links are only effective when name was not found as regular file.
- softunlink [-ah] <name>
-
Deletes soft symbolic link with the specified name, or all soft symbolic links. Supported options are reproduced below.
- -a | --all
-
delete all links
- -h | --help
-
display help message
Incompatibilities
Q2PRO client tries to be compatible with other Quake 2 ports, including original Quake 2 release. Compatibility, however, is defined in terms of full file format and network protocol compatibility. Q2PRO is not meant to be a direct replacement of your regular Quake 2 client. Some features are implemented differently in Q2PRO, some may be not implemented at all. You may need to review your config and adapt it for Q2PRO. This section tries to document most of these incompatibilities so that when something doesn’t work as it used to be you know where to look. The following list may be incomplete.
-
Q2PRO has a built-in OpenGL renderer and doesn’t support dynamic loading of external renderers. Thus, ‘vid_ref’ cvar has been made read-only and exists only for compatibility with tools like Q2Admin.
-
Q2PRO supports loading system OpenGL library only. Thus, ‘gl_driver’ cvar has been made read-only and exists only for compatibility with tools like Q2Admin.
-
Changes to ‘gl_modulate’ variable in Q2PRO take effect immediately. To set separate modulation factors for world lightmaps and entities please use ‘gl_modulate_world’ and ‘gl_modulate_entities’ variables.
-
R1GL-specific ‘gl_dlight_falloff’ variable is supported, but its default has been changed from 0 to 1.
-
‘gl_particle_*’ series of variables are gone, as well as ‘gl_ext_pointparameters’. For controlling size of particles, which are always drawn as textured triangles, Q2PRO supports its own ‘gl_partscale’ variable.
-
‘ip’ variable has been renamed to ‘net_ip’.
-
‘clientport’ variable has been renamed to ‘net_clientport’, and ‘ip_clientport’ alias is no longer supported.
-
‘demomap’ command is emulated: if filename with ‘.dm2’ extension is specified, client side demo playback is started. Otherwise ‘demomap’ command is equivalent to ‘gamemap’ (attract loop mode is not supported).
-
Q2PRO works only with virtual paths constrained to the quake file system. All paths are normalized before use so that it is impossible to go past virtual filesystem root using ‘../’ components. This means commands like these are equivalent and all reference the same file: ‘exec ../global.cfg’, ‘exec /global.cfg’, ‘exec global.cfg’. If you have any config files in your Quake 2 directory root, you should consider moving them into ‘baseq2/’ to make them accessible.
-
Likewise, ‘link’ command syntax has been changed to work with virtual paths constrained to the quake file system. All arguments to ‘link’ are normalized.
-
Joysticks are not supported.
-
Single player savegame format has been rewritten from scratch for better robustness and portability. Only the ‘baseq2’ game library included in Q2PRO distribution has been converted to use the new improved savegame format. Q2PRO will refuse to load and save games in old format for security reasons, unless ‘sys_allow_unsafe_savegames’ is set to 1 from the command line (not recommended).