Console/Variables

From SRB2 Wiki
Jump to: navigation, search

The following is a list of console variables available in SRB2. Variables are game settings that have a value assigned to them. The value of a variable can be changed by entering the variable's name into the console, followed by a single parameter – the value that it should be set to. For example, entering color blue into the console will change the value of the variable color to blue, which causes the player's color to change to blue. A large portion of variables are saved in config.cfg, allowing them to be carried over to the next SRB2 session even after closing the game. Most console variables also have equivalent entries in the game's Options menu.

In the list below, parameters are listed with their type in angle brackets after the command name, e.g. allcaps <boolean>. The types can be any of the following:

  • A boolean variable is a setting which can be either enabled or disabled. For instance, chasecam on turns on the camera, and chasecam off turns it off. You can also use 1 or yes instead of on, and 0 or no instead of off.
  • An integer is a number without a decimal point.
  • A decimal is a number with a decimal point.
  • A string is any text. The string can optionally be surrounded by quotation marks ("), which is necessary if the string contains spaces or certain special characters. Often, the string values that are valid for a variable are associated with equivalent integer values that can be used instead.

Some variables only allow the user to select specific values from a list, or select a value from a predetermined range.

Some console variables that pertain to the player have a second version for player 2 in splitscreen mode. In these cases, both variables are listed together, e.g., cam_dist/cam2_dist, where cam_dist is for player 1 and cam2_dist is for player 2.

Contents

Game options

These are variables that affect various features of the game not listed in other categories, such as Record Attack replays, the title screen demos, and the HUD's appearance.

allcaps <boolean>

help flags: (none)
Menu location: Options → Game Options → Uppercase Console
Default value: Off

If enabled, the console displays everything in uppercase.

autorecord <boolean>

help flags: (none)
Default value: Yes

If enabled, replay demos are automatically recorded in Record Attack/NiGHTS Mode.

ghost_bestrings <integer/string>

help flags: AUTOSAVE
Menu location: Record Attack → Ghosts... → Best Rings
Default value: Show

Determines whether ghosts for the "Best Rings" records are displayed during Record Attack runs – "Show" shows only the ghost for the currently selected skin, while "Show All" shows ghosts for all skins.

Integer String
0 "Hide"
1 "Show"
2 "Show All"

ghost_bestscore <integer/string>

help flags: AUTOSAVE
Menu location: Record Attack → Ghosts... → Best Score
Default value: Show

Determines whether ghosts for the "Best Score" records are displayed during Record Attack runs – "Show" shows only the ghost for the currently selected skin, while "Show All" shows ghosts for all skins.

Integer String
0 "Hide"
1 "Show"
2 "Show All"

ghost_besttime <integer/string>

help flags: AUTOSAVE
Menu location: Record Attack → Ghosts... → Best Time
Default value: Show

Determines whether ghosts for the "Best Time" records are displayed during Record Attack runs – "Show" shows only the ghost for the currently selected skin, while "Show All" shows ghosts for all skins.

Integer String
0 "Hide"
1 "Show"
2 "Show All"

ghost_guest <integer/string>

help flags: AUTOSAVE
Menu location: Record Attack → Ghosts... → Guest
Default value: Show

Determines whether ghosts for guest replays are displayed during Record Attack runs.

Integer String
0 "Hide"
1 "Show"

ghost_last <integer/string>

help flags: AUTOSAVE
Menu location: Record Attack → Ghosts... → Last
Default value: Show

Determines whether ghosts for the last recorded replay(s) are displayed during Record Attack runs – "Show" shows only the ghost for the currently selected skin, while "Show All" shows ghosts for all skins.

Integer String
0 "Hide"
1 "Show"
2 "Show All"

hazardlog <boolean>

help flags: (none)
Menu location: Options → Game Options → Log Hazard Damage
Default value: Yes

If enabled, a message is shown in the console if a player is harmed by a hazard in Match and derived gametypes.

itemfinder <boolean>

help flags: ACTION
Default value: Off

Enables/disables the emblem radar, if it has already been unlocked.

masterserver <address:port>

help flags: AUTOSAVE
Menu location: Options → Game Options → Master server
Default value: ms.srb2.org:28900

Defines which Master Server SRB2 will connect to.

playbackspeed <integer>

help flags: (none)
Default value: 1

Sets the speed at which a demo is played back. Minimum value is 1, maximum value is 10.

rollingdemos <boolean>

help flags: AUTOSAVE
Menu location: Options → Game Options → Title Screen Demos
Default value: On

If enabled, title screen demos are played after a certain amount of time has passed on the title screen.

runscripts <boolean>

help flags: (none)
Default value: Yes

Determines whether console scripts initiated by linedef type 415 or a level's ScriptName parameter are executed.

seenames <integer/string>

help flags: AUTOSAVE
Menu location: Options → Game Options → HUD Player Names
Default value: Ally/Foe

Controls how the names of other players are displayed when targeting them.

Integer String Description
0 "Off" Names are not displayed.
1 "Colorless" All names are displayed in white.
2 "Team" Names are displayed in the color of the team the player is in (white in non-team gametypes).
3 "Ally/Foe" Allies are displayed in green and enemies in red.

showhud <boolean>

help flags: ACTION
Menu location: Options → Game Options → Show HUD
Shortcut: F3 (toggles)
Default value: Yes

Determines whether the Game HUD is displayed. Does not affect the Rankings/Scores HUD.

timerres <integer/string>

help flags: AUTOSAVE
Menu location: Options → Game Options → Timer Display
Default value: Normal

Determines the type of timer displayed on the HUD in-game.

Integer String Description
0 "Normal" Displays minutes and seconds.
1 "Tics" Displays number of tics (frames) passed.
2 "Centiseconds" Displays centiseconds along with minutes and seconds.

translucenthud <integer>

help flags: AUTOSAVE
Menu location: Options → Game Options → HUD Visibility
Default value: 10

Sets the translucency of the Game HUD. The values range from 0 (invisible) to 10 (opaque). Does not affect the Rankings/Scores HUD.

Console

These are variables that affect the console and console messages that appear on the screen.

con_backcolor <color>

help flags: AUTOSAVE
Menu location: Options → Game Options → Console Back Color
Default value: 3

Sets the background color of the console. Both the colors' names or their number values can be used here.

Value 0 1 2 3 4 5
Color White Orange Blue Green Gray Red

con_backpic <translucent/picture>

help flags: AUTOSAVE
Default value: translucent

Determines whether the console uses a background picture or not when opened.

Integer String Description
0 "Translucent" The console is translucent, no background graphic is used.
1 "Picture" The CONSBACK graphic is displayed on the screen when the console is opened.

con_height <integer>

help flags: AUTOSAVE
Default value: 50

Sets the height of the console. The value used is a percentage of the screen's height.

con_hudlines <integer>

help flags: AUTOSAVE;ACTION
Default value: 5

Sets the number of lines the console may display on the HUD when not opened. Minimum value is 1, maximum value is 20.

con_hudtime <integer>

help flags: AUTOSAVE
Default value: 5

Sets how long the console's HUD messages last on the screen, in seconds. A value of 0 disables the messages.

con_speed <integer>

help flags: AUTOSAVE
Default value: 8

Sets the rate at which the console moves when being opened or closed. The maximum value is 255. A value of 0 disables the animation and opens/closes the console instantly.

con_textsize <integer/string>

help flags: AUTOSAVE;ACTION
Menu location: Options → Game Options → Console Text Size
Default value: Medium

Sets the scale of text in the console. Note that despite the names of the accepted strings, the actual displayed text sizes depend on the screen resolution. See Video flags > Scale for more information on the effects of the corresponding video flags given for each of the options below.

Integer String Video flag
256 "Small" V_NOSCALEPATCH
512 "Medium" V_SMALLSCALEPATCH
768 "Large" V_MEDSCALEPATCH
0 "Huge" none

Screenshots and movies

These are variables that affect the taking of screenshots/movies. Many of these variables set optimization parameters for the recording and saving of screenshots/movies; the default values for these variables are reasonable and should only be changed by advanced users.

apng_compress_level <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Movie Mode (F9) → Compression Level
Default value: 4

Sets the compression level for animated PNGs, ranging from 0 to 9. 0 completely disables compression (not recommended), 1 is best speed, and 9 is best compression.

Integer String
0 "No Compression"
1 "(Fastest) 1"
6 "(Optimal) 6"
9 "(Maximum) 9"

apng_memory_level <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Movie Mode (F9) → Memory Level
Default value: (Max Memory) 9

Sets the memory level for animated PNGs, ranging from 1 to 9. This affects how much memory will be used during compression; lowering it will result in less memory usage, but at the cost of slower/worse compression.

Integer String
1 "(Min Memory) 1"
8 "(Optimal) 8"
9 "(Max Memory) 9"

apng_speed <integer/string>

help flags: AUTOSAVE
Default value: 1/2x

Sets the playback speed of animated PNGs.

Integer String
1 "1x"
2 "1/2x"
3 "1/3x"
4 "1/4x"

apng_strategy <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Movie Mode (F9) → Strategy
Default value: RLE

Determines which type of compression should be used for animated PNGs.

Integer String
0 "Normal"
1 "Filtered"
2 "Huffman Only"
3 "RLE"
4 "Fixed"

apng_window_size <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Movie Mode (F9) → Window Size
Default value: 32k

Specifies the size of the compression window for animated PNGs. Smaller values mean less memory usage, but at the expense of worse compression.

Integer String
8 "256"
9 "512"
10 "1k"
11 "2k"
12 "4k"
13 "8k"
14 "16k"
15 "32k"

gif_downscale <boolean>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Movie Mode (F9) → Downscaling
Default value: On

Determines whether GIF movies are downscaled or not. If enabled, GIFs are recorded with an image size of 320×200 (or a similar ratio) rather than the screen's resolution. If disabled, the image size will be the same as the screen's resolution. Note: Changing this variable while a GIF is currently being recorded will not change the GIF's image size.

gif_optimize <boolean>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Movie Mode (F9) → Region Optimizing
Default value: On

Determines whether GIF movies are optimized or not. Note: Changing this variable while a GIF is currently being recorded will not change how the GIF will be written.

moviemode_mode <integer/string>

help flags: AUTOSAVE;ACTION
Menu location: Options → Data Options → Screenshot Options → Movie Mode (F9) → Capture Mode
Default value: GIF

Determines the format in which the movies recorded with the startmovie command are saved. "GIF" is exclusive to the Software rendering mode; in OpenGL "aPNG" is automatically used even when "GIF" is set.

Integer String Description
1 "aPNG" Saves movies as an animated PNG; default for OpenGL.
2 "GIF" Saves movies as an animated GIF; Software only.
3 "Screenshots" Saves movies as a sequence of screenshots.

png_compress_level <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Screenshots (F8) → Compression Level
Default value: (Optimal) 6

Sets the compression level for screenshots, ranging from 0 to 9. 0 completely disables compression (not recommended), 1 is best speed, and 9 is best compression.

Integer String
0 "No Compression"
1 "(Fastest) 1"
6 "(Optimal) 6"
9 "(Maximum) 9"

png_memory_level <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Screenshots (F8) → Memory Level
Default value: 7

Sets the memory level for screenshots, ranging from 0 to 9. This affects how much memory will be used during compression; lowering it will result in less memory usage, but at the cost of slower/worse compression.

Integer String
1 "(Min Memory) 1"
8 "(Optimal) 8"
9 "(Max Memory) 9"

png_strategy <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Screenshots (F8) → Strategy
Default value: Normal

Determines which type of compression should be used for screenshots.

Integer String
0 "Normal"
1 "Filtered"
2 "Huffman Only"
3 "RLE"
4 "Fixed"

png_window_size <integer/string>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Screenshots (F8) → Window Size
Default value: 32k

Specifies the size of the compression window for screenshots. Smaller values mean less memory usage, but at the expense of worse compression.

Integer String
8 "256"
9 "512"
10 "1k"
11 "2k"
12 "4k"
13 "8k"
14 "16k"
15 "32k"

screenshot_folder <foldername>

help flags: AUTOSAVE
Menu location: Options → Data Options → Screenshot Options → Custom Folder
Default value: (none)

If screenshot_option is set to Custom, this defines the folder in which screenshots and movies are saved. You can use relative paths (e.g.: screenshots) to define a folder relative to the SRB2 directory, or a full-length directory path (e.g.: C:/Users/ExampleUser/SRB2Screenshots) to save them in a different folder than the SRB2 directory.

screenshot_option <integer/string>

help flags: AUTOSAVE;ACTION
Menu location: Options → Data Options → Screenshot Options → Storage Location
Default value: Default

Determines where screenshots and movies of SRB2 are saved.

Integer String Description
0 "Default" Saves screenshots in the default location. This is usually the SRB2 directory, but may be the "home" directory in some operating systems.
1 "HOME" Saves screenshots in the "home" directory (normally the same as the SRB2 directory, but can be changed with the command line parameter -home).
2 "SRB2" Saves screenshots in the SRB2 directory.
3 "CUSTOM" Saves screenshots in a custom folder specified by screenshot_folder.

Object placement mode

These are variables that affect Object placement mode, which is toggled on/off with the objectplace command.

op_flags <integer>

help flags: (none)
Default value: 0

Sets the flags value for Things that are placed in Object placement mode. Ranges from 0 to 15.

op_mapthingnum <number>

help flags: (none)
Default value: 0

Sets the Thing type number of Things spawned in Object placement mode. If set to 0, the user can cycle through the Thing types to place with the "Rotate Camera" controls. Setting op_mapthingnum to a specific Thing type overrides this and causes Things of the specified type to be placed instead. Thing types without a corresponding Object type cannot be spawned, and an error will be shown in the console when attempting to. Ranges from 0 to 4095.

op_speed <integer>

help flags: (none)
Default value: 16

Sets the player's speed when moving in any direction in Object placement mode. Ranges from 1 to 128.

Controls

These are variables that affect the player's controls and the input devices that can be used to control the player (keyboard, mouse or joystick). Also included are some variables that affect player preferences.

alwaysmlook/alwaysmlook2 <boolean>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → Always MouseLook
Default values: alwaysmlook – On; alwaysmlook2 – Off

If enabled, mouse aiming is generally enabled and can be disabled by pressing the mouselook key. If disabled, mouse aiming is generally disabled and can be enabled by pressing the mouselook key.

analog/analog2 <boolean>

help flags: ACTION
Default value: Off

Turns analog control on or off. To enable/disable analog control permanently, useranalog/useranalog2 should be used instead, as this variable is modified by the game on certain occasions.

chasecam/chasecam2 <boolean>

help flags: ACTION
Menu location: Options → Setup Controls → Player 1/2 Controls → Camera
Default value: On

Turns the third-person camera on or off. If off, the first-person view is used.

controlperkey <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Controls Per Key
Default value: One

Sets how many controls may be assigned to a key. 1 is one, 2 is several.

crosshair/crosshair2 <integer/string>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Crosshair
Default value: Cross

Sets the type of crosshair used in first-person view:

Integer String Graphic
0 Off N/A
1 Cross
CROSHAI1.png
2 Angle
CROSHAI2.png
3 Point
CROSHAI3.png

flipcam/flipcam2 <boolean>

help flags: AUTOSAVE;ACTION
Default value: No

If enabled, the view of the screen (except for the HUD) flips vertically when the player is in reverse gravity, making the game appear as if in normal gravity.

invertmouse/invertmouse2 <boolean>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → Invert Mouse
Default value: Off

If enabled, looking up and down with the mouse is inverted.

joyscale/joyscale2 <integer>

help flags: AUTOSAVE;ACTION
Default value: 1

Sets the scale of the input from joystick axes. If set to 0, they will behave like a gamepad controller.[confirm? – discuss] Note: These variables' effects are exclusive to srb2win.exe.

mouse2port <integer/string>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 2 Controls → Second Mouse Options → Second Mouse Serial Port
Default value: COM2

Determines the computer port of the mouse for player 2, if one is used. Values range from COM1 to COM4, or 1 to 4. You may need to try out different values to find the port your mouse uses.

mousemove/mousemove2 <boolean>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → Mouse Move
Default value: On

If enabled, moving the mouse will move the character when mouse aiming is disabled.

mousesens/mousesens2 <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → Mouse X Speed
Default value: 35

Sets the sensitivity of mouse movement for turning left and right. Minimum value is 1, maximum value is 100.

mouseysens/mouseysens2 <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → Mouse Y Speed
Default value: 35

Sets the sensitivity of mouse movement for turning up and down. Minimum value is 1, maximum value is 100.

use_joystick/use_joystick2 <integer>

help flags: AUTOSAVE;ACTION
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Select Joystick...
Default value: 0

Determines the joystick device number used for the player's joystick controls. If set to 0, no joystick is used.

use_mouse/use_mouse2 <integer/string>

help flags: AUTOSAVE;ACTION
Menu location: Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → Use Mouse / Use Mouse 2
Default values: use_mouse – On; use_mouse2 – Off

Determines whether the mouse can be used for controls or not. The value Force has the same effect as On.

Integer String
0 Off
1 On
2 Force

useranalog/useranalog2 <boolean>

help flags: AUTOSAVE;ACTION
Menu location: Options → Setup Controls → Player 1/2 Controls → Analog Control
Default value: Off

If enabled, analog control is set as the default control scheme. This variable should be used instead of analog/analog2.

Joystick axis

These variables control which joystick axis is used for particular controls. See Controls > List of joystick axes for the full list of possible values/names for these variables.

joyaxis_fire/joyaxis2_fire <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For Firing
Default value: None

Sets the joystick axis to use for triggering the Fire button.

joyaxis_firenormal/joyaxis2_firenormal <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For NFiring
Default value: None

Sets the joystick axis to use for triggering the Fire Normal button.

joyaxis_look/joyaxis2_look <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For Looking
Default value: None

Sets the joystick axis to use for looking up/down.

joyaxis_move/joyaxis2_move <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For Moving
Default value: Y-Axis

Sets the joystick axis to use for forward/backward movement.

joyaxis_side/joyaxis2_side <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For Strafe
Default value: Z-Axis

Sets the joystick axis to use for sideways movement.

joyaxis_turn/joyaxis2_turn <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For Turning
Default value: X-Axis

Sets the joystick axis to use for turning left/right.

Camera

These are variables that affect the player's camera. Note that some of these are frequently modified by the game itself in various situations, and none of these are currently saved in config.cfg.

cam_dist/cam2_dist <decimal>

help flags: FLOAT
Default value: 128

Sets the distance of the camera. You cannot use a negative value to zoom in. The default value is 128 for normal control, and 192 for analog control. Does not apply when in 2D mode or playing as NiGHTS Super Sonic.

cam_height/cam2_height <decimal>

help flags: FLOAT
Default value: 20

Sets the height of the camera.

cam_rotate/cam2_rotate <integer>

help flags: ACTION
Default value: 0

Sets the angle of the camera's rotation. Minimum value is -720 and maximum value is 720.

cam_rotspeed/cam2_rotspeed <integer>

help flags: (none)
Default value: 10

Sets the rotation speed of the camera in analog control and demo playback. Minimum value is 1, maximum value is 45.

cam_speed/cam2_speed <decimal>

help flags: FLOAT
Default value: 0.25

Sets the speed of the camera. Minimum value is 0, maximum value is 1. Does not apply when in 2D mode.

cam_still/cam2_still <boolean>

help flags: (none)
Default value: Off

If enabled, the camera angle stays in place instead of rotating the player.

Client options

These are variables that control client preferences in netgames.

color/color2 <color>

help flags: ACTION
Default values: COLOR – Blue; COLOR2 – Orange

Sets your player's skin color. This can only be changed in multiplayer, while the player is standing still. Either number values or the aliases shown below can be used. The possible values are as follows:

Value 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Color White Silver Grey Black Cyan Teal Steel Blue Blue Peach Tan Pink Lavender Purple Orange Rosewood
Alias "White" "Silver" "Grey" "Black" "Cyan" "Teal" "Steel_Blue" "Blue" "Peach" "Tan" "Pink" "Lavender" "Purple" "Orange" "Rosewood"
Value 16 17 18 19 20 21 22 23 24 25
Color Beige Brown Red Dark Red Neon Green Green Zim Olive Yellow Gold
Alias "Beige" "Brown" "Red" "Dark_Red" "Neon_Green" "Green" "Zim" "Olive" "Yellow" "Gold"

name/name2 <name>

help flags: AUTOSAVE;ACTION
Default values: name – Sonic; name2 – Tails

Sets your nickname for multiplayer. It may not start with a number. To use spaces in the name, put it between quotation marks.

netstat <boolean>

help flags: (none)
Default value: Off

If enabled, network statistics for the client are shown on the HUD. These are updated every two seconds.

Stat name Description
GET Packet downloading speed, in bytes per second.
SEND Packet uploading speed, in bytes per second.
GAMEMISS Percentage of ticcmd packets missed.
SYSMISS Percentage of sent packets lost.

skin/skin2 <name>

help flags: ACTION
Default value: skin – sonic; skin2 – tails

Sets your player's character skin. For custom skins, use the name value from their S_SKIN. In Single Player the player's character cannot be changed unless development mode is enabled. In multiplayer the player's character can be changed freely barring gametype-specific restrictions (see restrictskinchange) and provided forceskin is not in effect. Regardless of gametype, character skins can only be changed while the player is standing still. Note that in Single Player, the player's color is changed to the default color for the character, e.g., "skin knuckles" transforms the player into a red Knuckles.

Server options

These are variables related to the hosting and/or running of a netgame in general. Some of them can only be changed by the server or a verified admin. The others are local variables that every user can change for themselves, but only the host's settings apply to the netgame.

advancemap <integer/string>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → Advance to next map
Default value: Next

Sets which map to advance to when a round finishes in any mode except Co-op or Single Player.

Integer String Description
0 "Off" Repeats the same map.
1 "Next" Advances to the next map in the rotation.
2 "Random" Selects a random map from the rotation.

allowjoin <boolean>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → Allow players to join
Default value: On

If enabled, other players may join the netgame.

blamecfail <boolean>

help flags: (none)
Default value: Off

If enabled, the host is notified when a player becomes desynchronized.

downloading <boolean>

help flags: (none)
Menu location: Options → Server Options → Allow WAD Downloading
Default value: On

Allows/disallows file downloading in a netgame.

downloadspeed <integer>

help flags: AUTOSAVE
Default value: 16

Determines the speed of file downloading, in packets per tic. If set to 0, the old file downloading behavior, which was used prior to v2.1.17, is used instead. Minimum value is 0, maximum value is 32.

inttime <integer>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → Intermission Timer
Default value: 20

Sets the intermission time between multiplayer levels, in seconds. Minimum value is 0, maximum value is 3600.

joinnextround <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: Off

If enabled, players must wait until the next round is started to join a netgame.

jointimeout <integer>

help flags: AUTOSAVE;ACTION
Default value: 350

Sets how long a joining player may take to download the game state from the server, in tics. One extra tic is added to this time for each kilobyte of the game state. If this time expires, the player will be refused by the server. Minimum value is 5 tics, maximum value is 2100 tics (60 seconds).

maxping <integer>

help flags: AUTOSAVE
Default value: 0

If the value is higher than 0, players whose ping is higher than this value will be automatically kicked.

maxplayers <integer>

help flags: AUTOSAVE
Menu location: Options → Server Options → Max Players
Default value: 8

Sets the maximum number of players allowed to join a netgame. Minimum value is 2, maximum value is 32.

maxsend <integer>

help flags: AUTOSAVE
Default value: 4096

Sets the maximum file size (in KB) for files that can be downloaded by joining players. Files beyond this limit cannot be downloaded and players who do not have them will be refused by the server. Players downloading large WADs from the server will cause noticeable and sometimes disrupting lag in the netgame, so do not set this limit too high. Minimum value is 0 KB, maximum value is 51200 KB (50 MB).

mute <boolean>

Requirements: Server or admins only
help flags: NETVAR;ACTION
Default value: Off

If enabled, chatting is disabled for everyone except the host and game admins.

nettimeout <integer>

help flags: AUTOSAVE;ACTION
Default value: 350

Sets the maximum amount of time (in tics) to wait between packets sent before the game considers the player to have timed out from the netgame and kicks them. Minimum value is 5 tics, maximum value is 2100 tics (60 seconds).

noticedownload <boolean>

help flags: AUTOSAVE
Default value: Off

If enabled, messages are displayed in the console when someone is downloading a file.

pausepermission <integer/string>

Requirements: Server or admins only
help flags: NETVAR
Default value: Server

Determines who can pause a netgame – only the server or all clients.

Integer String
0 "Server"
1 "All"

resynchattempts <integer>

help flags: (none)
Menu location: Options → Server Options → Attempts to Resync
Default value: 10

Sets the number of attempts to resynchronize a desynchronised player before kicking them. Minimum value is 0, maximum value is 20.

servername <name>

help flags: AUTOSAVE
Menu location: Options → Server Options → Server name
Default value: SRB2 server

Sets the default name of a server to be hosted.

showjoinaddress <boolean>

help flags: (none)
Default value: On

If enabled, the IP addresses of joining players are shown to the host.

General netgame options

These are variables that control general game features that affect all players within a netgame. With the exception of skipmapcheck, they are all restricted to the server or a verified admin.

allowexitlevel <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: No

If enabled, players can exit the level via Exit Sectors in Match and derived gametypes.

allowmlook <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: Yes

If enabled, players can aim up and down with their mouse in a netgame.

allowseenames <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: Yes

If enabled, players are allowed to enable seenames in order to see the names of other players when targeting them.

allowteamchange <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: Yes

If enabled, players can change teams in Team Match and Capture the Flag. If disabled, players cannot change teams but are allowed to spectate. However, spectators themselves will also not be able to enter the game.

autobalance <integer>

Requirements: Server or admins only
help flags: NETVAR;ACTION
Menu location: Options → Server Options → General netgame options → Autobalance Teams
Default value: 0

If set to a value other than 0, teams are automatically balanced in CTF mode. The value (between 1 and 4) defines how great the difference in team members may be before the teams are autobalanced. Setting it to 0 turns autobalancing off.

forceskin <integer>

Requirements: Server or admins only
help flags: NETVAR;ACTION;CHEAT
Menu location: Options → Server Options → General netgame options → Force Skin #
Default value: -1

Forces all players in the game to automatically switch to the specified character skin, and prevents all players except the server from changing skins while in effect. Only the skin number is accepted, unlike the skin variable – 0 forces Sonic, 1 forces Tails, and 2 forces Knuckles. -1 or any invalid value lifts the forced skin restrictions.

friendlyfire <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: Off

If enabled, players can be hit by rings fired by their teammates.

overtime <boolean>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → General netgame options → Overtime Tie-Breaker
Default value: Yes

If enabled, a time-limited round of Match or CTF cannot end as long as two or more players/teams lead with the same score – it will continue in overtime until the tie is resolved.

pointlimit <integer>

Requirements: Server or admins only
help flags: NETVAR;ACTION
Menu location: Options → Server Options → General netgame options → Point Limit
Default value: 0

Sets a score limit for Match, Tag, Hide & Seek, or CTF games. A value of 0 disables the score limit. The maximum value is 999999990.

powerstones <boolean>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → General netgame options → Emeralds
Default value: On

In Match or CTF, determines whether Chaos Emeralds will spawn or not. If this is changed during a game, it will not take effect until the next round/map change.

respawndelay <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → General netgame options → Player respawn delay
Default value: 3

In Match, CTF or Tag, this determines the minimum delay (in seconds) after death before a player can respawn with the jump button. Minimum value is 0, maximum value is 30.

respawnitem <boolean>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → General netgame options → Item Respawn
Default value: On

Determines whether items will respawn.

scrambleonchange <integer/string>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → General netgame options → Scramble Teams on Map Change
Default value: Off

If enabled, teams in a Team Match or CTF game will be scrambled automatically each time the game advances to another map (not if you switch maps manually).

Integer String Description
0 "Off" Teams are not scrambled.
1 "Random" Teams are scrambled randomly.
2 "Points" Teams are scrambled according to the player's individual points.

skipmapcheck <boolean>

help flags: AUTOSAVE
Default value: Off

If enabled, the game will not check to see if a map supports the current gametype before warping to it.

specialrings <boolean>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → General netgame options → Special Ring Weapons
Default value: On

Sets the availability of special weapon rings. If this is changed during a game, it will not take effect until the next round/map change.

suddendeath <boolean>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → General netgame options → Sudden Death
Default value: Off

If enabled, players will die instantly when hit by a ring (even if super). Note that in Tag and Hide & Seek, there is a bug that causes points to be scored from both tagging and killing a player simultaneously, resulting in scoring 200 points per tag instead of 100.

tailspickup <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: On

If enabled, flying characters can pick up other characters. If disabled, players become solid and can stand on top of one another to form a ladder.

teamscramble <integer/string>

Requirements: Server or admins only
help flags: NETVAR;ACTION
Default value: Off

Instantly scrambles the teams in Team Match and CTF. Can also be done using the Scramble Teams option in the pause menu.

Integer String Description
0 "Off" Has no effect.
1 "Random" Teams are scrambled randomly.
2 "Points" Teams are scrambled according to the player's individual points.

timelimit <integer>

Requirements: Server or admins only
help flags: NETVAR;ACTION
Menu location: Options → Server Options → General netgame options → Time Limit
Default value: 0

Sets a time limit, in minutes, for Match, Tag, Hide & Seek, or CTF games. A value of 0 disables the time limit. The maximum value is 30 minutes.

Gametype options

These are variables that control gametype-specific features for a netgame. They are all restricted to the server or a verified admin.

countdowntime <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Gametype options → Competition → Countdown time
Default value: 60

Sets the countdown time (in seconds) in a Race game after the leader finishes the race. When the countdown is up, anyone yet to finish dies instantly. Minimum value is 15, maximum value is 9999.

hidetime <integer>

Requirements: Server or admins only
help flags: NETVAR;ACTION
Menu location: Options → Server Options → Gametype options → Tag → Hide Time
Default value: 30

Sets the number of seconds the non-"it" players in Tag and Hide & Seek have for hiding before the "it" player can move. The value cannot exceed the time limit of the game; if the time limit is disabled, the hiding time cannot be adjusted.

matchscoring <integer or type>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Gametype options → Match → Scoring type
Default value: Normal

Sets the scoring system for Match and CTF games.

Integer String Description
0 "Normal" There is a 50 point penalty for death.
1 "Classic" The penalty for death is removed, and hitting a player who is equipped with a shield will only give you 25 points.

numlaps <integer>

Requirements: Server or admins only
help flags: NETVAR;ACTION
Menu location: Options → Server Options → Gametype options → Race → Number of Laps
Default value: 4

Sets the number of laps on a Circuit mode track. Maximum value is 50.

playersforexit <integer/string>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → Gametype options → Co-op → Players for exit
Default value: One

Determines whether a Coop level requires one player (One) or all players (All) to reach the Level End Sign before it is finished.

Integer String Description
0 "One" One player required
1 "All" All players required

startinglives <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Gametype options → Co-op → Starting Lives
Default value: 3

Sets the starting number of lives for players in Coop. A player's lives count is restored to this value when they have lost all lives in the previous stage, or the map command has been used to warp to another stage. Minimum value is 1, maximum value is 99.

touchtag <boolean>

Requirements: Server or admins only
help flags: NETVAR
Default value: Off

If enabled, the "it" player(s) in Tag and Hide & Seek can tag the fleeing players simply by touching them.

usemaplaps <boolean>

Requirements: Server or admins only
help flags: NETVAR
Menu location: Options → Server Options → Gametype options → Race → Use Map Lap Counts
Default value: Yes

If enabled, the level header parameter NumLaps sets the default number of laps on a Circuit mode track.

Multiplayer cheats

These variables are marked as cheat variables, and changing them displays a special flag next to your server on the Master Server. These are usually variables that can seriously disrupt the balance of the game, so use them with caution. They are all restricted to the server or a verified admin.

competitionboxes <integer/string>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Gametype options → Competition → Item Boxes
Default value: Random

Sets the type of monitors used in a Competition game. If you change this setting, it will not take effect until the next round/map change.

Integer String Description
0 "Normal" All monitors spawn normally.
1 "Random" Transforms all monitors into Random Monitors.
2 "Teleporters" Transforms all monitors into Teleporter Monitors.
3 "None" Removes all monitors from the map.

flagtime <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Gametype options → CTF → Flag Respawn Time
Default value: 30

Determines how long a CTF flag will stay in place once thrown or dropped before respawning, in seconds. The maximum value is 300.

matchboxes <integer/string>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → General netgame options → Item Boxes
Default value: Normal

Sets the type of monitors used in all multiplayer gametypes, except for Coop and Competition – Coop monitors always spawn normally, and Competition monitors are controlled by competitionboxes instead. If you change this setting, it will not take effect until the next round/map change.

Integer String Description
0 "Normal" All monitors spawn normally.
1 "Random" Transforms all monitors into Random Monitors.
2 "Non-Random" Prevents Random Monitors from being spawned and stops the Weak Random Monitor and Strong Random Monitor flags from taking effect.
3 "None" Removes all monitors from the map.

respawnitemtime <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → General netgame options → Item Respawn Time
Default value: 30

Determines how long, in seconds, it takes for an item to respawn. Minimum value is 1, and maximum value is 300.

restrictskinchange <boolean>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → General netgame options → Restrict skin changes
Default value: Yes

If enabled, the following gametype-specific restrictions are applied for players attempting to change character skins mid-game:

  • Race/Competition: The player's character can only be changed during the initial countdown or whenever the player is dead.
  • Match/Capture the Flag: The player's character can only be changed when the player is dead or spectating.
  • Tag/Hide & Seek: The player's character can be changed freely if the player is currently "it"; otherwise, it can only be changed during the hiding time countdown or whenever the player is dead or spectating.

tv_1up <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → 1 Up
Default value: 5

Sets the chance of Extra Life Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_bombshield <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Armageddon Shield
Default value: 5

Sets the chance of Armageddon Shield Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_eggman <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Eggman Box
Default value: 5

Sets the chance of Eggman Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_forceshield <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Force Shield
Default value: 5

Sets the chance of Force Shield Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_invincibility <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Invincibility
Default value: 5

Sets the chance of Invincibility Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_jumpshield <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Jump Shield
Default value: 5

Sets the chance of Whirlwind Shield Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_recycler <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Recycler
Default value: 5

Sets the chance of Recycler Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_ringshield <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Attraction Shield
Default value: 5

Sets the chance of Attraction Shield Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_superring <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Super Ring
Default value: 5

Sets the chance of Super Ring Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_supersneaker <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Super Sneakers
Default value: 5

Sets the chance of Super Sneakers Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_teleporter <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Teleporters
Default value: 5

Sets the chance of Teleporter Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

tv_watershield <integer>

Requirements: Server or admins only
help flags: NETVAR;CHEAT
Menu location: Options → Server Options → Random Monitor Toggles → Elemental Shield
Default value: 5

Sets the chance of Elemental Shield Monitors spawning from Random Monitors. Higher values result in a larger chance of the monitor appearing; 0 stops the monitor from appearing entirely. Minimum value is 0, and maximum value is 10.

Miscellaneous cheats/netgame options

gravity <decimal>

Requirements: devmode enabled or Pandora's Box unlocked
help flags: FLOAT;ACTION
Default value: 0.5

Sets the global gravity.

killingdead <boolean>

Requirements: If in multiplayer, server or admins only
help flags: NETVAR
Default value: Off

If enabled, hitting an enemy or popping a monitor causes damage to yourself 75% of the time. This simulates a glitch from the original Sonic Robo Blast.

ringslinger <boolean>

Requirements: If in Single Player, devmode enabled or Pandora's Box unlocked; if in multiplayer, server or admins only
help flags: NETVAR;ACTION;CHEAT
Default value: No

If enabled, players can throw rings outside of the Match, Tag or CTF gametypes.

soniccd <boolean>

Requirements: If in multiplayer, server or admins only
help flags: NETVAR
Default value: Off

If enabled, the animals freed from destroyed enemies are replaced with GFZ flowers, similar to Sonic CD.

Sound

These are variables that affect sound effects and music in the game.

cd_update <integer>

help flags: AUTOSAVE
Default value: 1

This variable currently has no effect. It was intended for the DOS port, which is no longer supported.

cd_volume <integer>

help flags: AUTOSAVE
Default value: 31

Determines the volume of the background music played from a music CD. Maximum value is 31. Note: This variable's effects are exclusive to srb2dd.exe.

digmusicvolume <integer>

help flags: AUTOSAVE
Menu location: Options → Sound Options → Music Volume
Default value: 18

Determines the volume of the digital background music. Maximum value is 31.

midimusicvolume <integer>

help flags: AUTOSAVE
Menu location: Options → Sound Options → MIDI Volume
Default value: 18

Determines the volume of the MIDI background music. Maximum value is 31.

precachesound <boolean>

help flags: AUTOSAVE
Default value: Off

If enabled, the game precaches sound effects into memory before starting the game.

resetmusic <boolean>

help flags: AUTOSAVE
Default value: No

If enabled, the music will start over in Single Player after you die, like in most Sonic games.

samplerate <integer>

help flags: (none)
Default value: 44100

Supposedly changes the sample rate of sounds played by SRB2, but currently does nothing.[confirm? – discuss]

snd_channels <integer>

help flags: AUTOSAVE;ACTION
Default value: 32

Sets the number of sound channels.

soundtest <integer>

help flags: ACTION
Menu location: Secrets → Sound Test
Default value: 0

Plays the sound corresponding to the specified sound number. Refer to the list of sounds for a complete list of sounds and their numbers.

soundvolume <integer>

help flags: AUTOSAVE
Menu location: Options → Sound Options → Sound Volume
Default value: 31

Determines the volume of sound effects. Maximum value is 31.

stereoreverse <boolean>

help flags: AUTOSAVE
Default value: Off

If enabled, the stereo channels are reversed.

surround <boolean>

help flags: AUTOSAVE
Default value: Off

Toggles surround sound.

Video

These are variables that affect screen settings (such as the resolution) or general rendering effects (such as draw distances for sprites).

drawdist <integer/string>

help flags: AUTOSAVE
Menu location: Options → Video Options → Draw Distance
Default value: Infinite

Sets the maximum distance (in fracunits) from the player at which sprites are drawn – sprites beyond the specified distance (unless set to "Infinite") will be completely invisible to the player. Only certain distances are accepted by this variable, listed below:

Integer String
0 "Infinite"
256 "256"
512 "512"
1024 "1024"
1536 "1536"
2048 "2048"
3072 "3072"
4096 "4096"
6144 "6144"
8192 "8192"

drawdist_nights <integer/string>

help flags: AUTOSAVE
Menu location: Options → Video Options → NiGHTS Draw Dist
Default value: 2048

Sets the maximum distance (in fracunits) from the player at which sprites are drawn in NiGHTS levels – sprites beyond the specified distance (unless set to "Infinite") will be completely invisible to the player. Only certain distances are accepted by this variable, listed below:

Integer String
0 "Infinite"
256 "256"
512 "512"
1024 "1024"
1536 "1536"
2048 "2048"
3072 "3072"
4096 "4096"
6144 "6144"
8192 "8192"

drawdist_precip <integer/string>

help flags: AUTOSAVE
Menu location: Options → Video Options → Precip Draw Dist
Default value: 1024

Sets the maximum distance (in fracunits) from the player at which precipitation (i.e. rain, snow) is drawn – precipitation beyond the specified distance (unless set to "Infinite") will be completely invisible to the player. Only certain distances are accepted by this variable, listed below:

Integer String
0 "Infinite"
256 "256"
512 "512"
1024 "1024"
1536 "1536"
2048 "2048"
3072 "3072"
4096 "4096"
6144 "6144"
8192 "8192"

fullscreen <boolean>

help flags: AUTOSAVE;ACTION
Menu location:
  • srb2win.exe: Options → Video Options → Fullscreen
  • srb2dd.exe: Options → Video Options → 3D Card Options... → Fullscreen (OpenGL-only)
Default value: Yes

Determines whether the game is displayed in fullscreen or windowed mode.

gamma <integer>

help flags: AUTOSAVE;ACTION
Menu location: Options → Video Options → Brightness
Shortcut: F11 (rotates through all 5 options)
Default value: 0

Sets the game's overall brightness. Maximum value is 4, minimum value is 0.

homremoval <yes/no/flash>

help flags: AUTOSAVE
Menu location: Options → Video Options → Clear Before Redraw
Default value: No

If set to yes, all occurrences of the hall of mirrors glitch on the screen will be replaced with a solid black color. If set to flash, these areas will additionally flash red continuously.

maxportals <integer>

help flags: AUTOSAVE
Default value: 2

Sets the maximum recursive depth of visual portal rendering. 0 disables visual portals, the maximum value is 12. Disclaimer: Setting this value too high can cause severe lag or memory overflow crashes in complicated visual portal setups!

ontop <never/off/on>

help flags: (none)
Default value: Never

Determines if SRB2 should be on top of other windows. off allows the window to be both above and below other windows, on keeps the window above others at all times, while never keeps the window below all others at all times. Currently does not work.

precipdensity <integer/string>

help flags: AUTOSAVE
Menu location: Options → Video Options → Precip Density
Default value: Moderate

Sets the density of precipitation (i.e. rain/snow).

Integer String
0 "None"
1 "Light"
2 "Moderate"
4 "Heavy"
6 "Thick"
8 "V.Thick"

renderview <boolean>

help flags: (none)
Default value: On

If disabled, the view of the level will no longer be rendered.

scr_depth <integer/string>

help flags: AUTOSAVE
Menu location: Options → Video Options → 3D Card Options... → Quality (OpenGL-only)
Default value: 16 bits

Sets the default graphical depth of the screen resolution.

Integer String
8 "8 bits"
16 "16 bits"
24 "24 bits"
32 "32 bits"

scr_height <integer>

help flags: AUTOSAVE
Default value: 800

Sets the default screen resolution height. Make sure to use only video modes supported by your computer or SRB2.

scr_width <integer>

help flags: AUTOSAVE
Default value: 1280

Sets the default screen resolution width. Make sure to use only video modes supported by your computer or SRB2.

showfps <boolean>

help flags: (none)
Menu location: Options → Video Options → Show FPS
Default value: No

If enabled, a framerate counter is displayed on the HUD.

skybox <boolean>

help flags: AUTOSAVE
Default value: On

Toggles whether or not skyboxes are rendered.

stretch <boolean>

help flags: AUTOSAVE
Default value:

Determines whether to allow screen resolution width-height ratios other than the standard (320:200, or 1.6:1). If disabled, the resolution height will be adjusted according to its width to keep the standard ratio; if enabled, the height will remain unchanged. Note that this will only take effect when the game's graphics are initialized, and will only apply to fullscreen mode.

translucency <boolean>

help flags: AUTOSAVE;ACTION
Default value: On

Turns sprite translucency on or off.

vid_wait <boolean>

help flags: AUTOSAVE
Menu location: Options → Video Options → Vertical Sync
Default value: On

Enables/disables vertical synchronization.

viewheight <integer>

help flags: (none)
Default value: 41

Sets the vertical offset of the in-level view. Ranges from 16 to 56.

OpenGL

These are variables that control OpenGL-exclusive effects. Note that only some of these can be modified in-game if SRB2 is running without OpenGL.

gr_alpha <integer>

Requirements: Using the OpenGL renderer
help flags: (none)
Default value: 160

Development variable for testing/debugging purposes. Currently, this does nothing.

gr_anisotropicmode <integer>

Requirements: Using the OpenGL renderer
help flags: ACTION
Default value: 1

Sets the degree of anisotropic filtering. Minimum value is 1, maximum is 16.

gr_beta <integer>

Requirements: Using the OpenGL renderer
help flags: (none)
Default value: 0

Development variable for testing/debugging purposes. If set to 2, certain segment rendering debug messages will be printed when development mode is enabled and the "Render" feature flag is turned on. All other values have no effect.

gr_clipwalls <boolean>

Requirements: Using the OpenGL renderer
help flags: (none)
Default value: Off

Toggles on/off experimental code for clipping visible wall segments. Note: This currently does not function correctly, as the wall textures tend to be distorted or completely disappear depending on how much of the wall segment is visible on-screen.

gr_correcttricks <boolean>

Requirements: Using the OpenGL renderer
help flags: (none)
Default value: On

If enabled, certain visual tricks used in the Software renderer will be corrected so that they look better in the OpenGL renderer.

gr_filtermode <mode>

Requirements: Using the OpenGL renderer
help flags: ACTION
Menu location: Options → Video Options → 3D Card Options... → Texture Filter
Default value: Nearest

Sets the texture filtering mode.

Integer String
0 "Nearest"
1 "Bilinear"
2 "Trilinear"
3 "Linear_Nearest"
4 "Nearest_Linear"
5 "Nearest_Mipmap"

gr_fog <boolean>

help flags: AUTOSAVE
Menu location: Options → Video Options → 3D Card Options... → Fog... → Fog
Default value: On

Toggles OpenGL fog on/off.

gr_fogcolor <color code>

help flags: AUTOSAVE
Menu location: Options → Video Options → 3D Card Options... → Fog... → Fog color
Default value: AAAAAA

Sets the default fog color in OpenGL, which is used whenever no colormap is applied. The color is determined by a hexadecimal color code, similar to linedef type 606: The format is RRGGBB, where RR, GG, and BB are two hexadecimal digits that control the intensity of red, blue, and green, respectively. See Color codes for example colormap values.

gr_fogdensity <integer>

Requirements: Using the OpenGL renderer
help flags: ACTION
Menu location: Options → Video Options → 3D Card Options... → Fog... → Fog density
Default value: 150

Sets the density of the OpenGL fog.

gr_fov <decimal>

Requirements: Using the OpenGL renderer
help flags: FLOAT;ACTION
Menu location: Options → Video Options → 3D Card Options... → Field of view
Default value: 90

Sets the field of view. It affects the focal length (in degrees) of the camera. For example, smaller values make the camera focus on a smaller portion of the world, similarly to a telescopic sight or scope. Minimum value is 0, maximum value is 179. During netgames, the value is forced to 90 since a larger field of view would be an advantage for the player.

gr_fovchange <boolean>

help flags: AUTOSAVE
Default value: Off

If enabled, the field of view widens as the player's speed increases to simulate the character getting further away from the camera.

gr_gammablue <integer>

help flags: AUTOSAVE;ACTION
Menu location: Options → Video Options → 3D Card Options... → Gamma... → blue
Default value: 127

Sets the brightness of the blue color. Minimum value is 1, maximum value is 255.

gr_gammagreen <integer>

help flags: AUTOSAVE;ACTION
Menu location: Options → Video Options → 3D Card Options... → Gamma... → green
Default value: 127

Sets the brightness of the green color. Minimum value is 1, maximum value is 255.

gr_gammared <integer>

help flags: AUTOSAVE;ACTION
Menu location: Options → Video Options → 3D Card Options... → Gamma... → red
Default value: 127

Sets the brightness of the red color. Minimum value is 1, maximum value is 255.

gr_md2 <off/on/old>

help flags: AUTOSAVE
Default value: Off

Determines whether MD2 models are rendered. If set to "Old", an old rendering method is used that does not support smooth frame transitions.

Integer String
0 "Off"
1 "On"
2 "Old"

gr_rounddown <boolean>

Requirements: Using the OpenGL renderer
help flags: (none)
Default value: Off

If enabled, the dimensions of textures, sprites and other graphics (except flats) will be resized downwards to fit within the nearest powers of two below their sizes, and then scaled up to their original dimensions in-game. All affected graphics are also limited to 256×256 pixels – graphics that do not fit within these limitations will be resized to fit within them. Overrides the effects of gr_voodoocompatibility.

gr_softwarefog <integer/string>

help flags: AUTOSAVE
Menu location: Options → Video Options → 3D Card Options... → Fog... → Software fog
Default value: Off

If set to "On", OpenGL's fog is rendered differently to more closely resemble the Software renderer's lighting. For example, shadows are drawn darker. If set to "LightPlanes", planes are drawn lighter.

Integer String
0 "Off"
1 "On"
2 "LightPlanes"

gr_solvetjoin <boolean>

Requirements: Using the OpenGL renderer
help flags: (none)
Default value: On

Determines whether or not to solve T-joins.

gr_vooodoocompatibility <boolean>

help flags: AUTOSAVE
Default value: Off

Toggles on/off compatibility for 3dfx Voodoo Graphics. If enabled, textures, sprites and other graphics (except flats) are limited to 256×256 pixels – graphics within these limitations will be unchanged, while larger graphics will be resized to fit within the limitations and then scaled up to the original dimensions in-game. Launching the game with the command line parameter -voodoo will automatically enable this.

offsetshadows <boolean>

help flags: AUTOSAVE
Default value: Off

Intended for use with the shadow variable. If enabled, shadows will fall farther away the higher up the sprite is. This is more realistic, but disabling might be considered more practical since the shadows serve as a marker for the location of the Object. For example, if disabled, the shadow of a player in midair will show exactly where they will land.

shadow <boolean>

help flags: AUTOSAVE
Default value: Off

If enabled, creates shadows for all sprites in OpenGL. They always face directly away from the camera, rather than having a fixed light source. They do not display on walls, but rather disappear straight into them.

CPU

These variables are relevant only for the Windows version of SRB2.

cpuaffinity <integer>

Requirements: srb2dd.exe executable used
help flags: ACTION
Default value: -1

Determines which cores are allowed to run SRB2. If set to -1, all cores are allowed to run SRB2. Otherwise, the cores are set as follows:

  • 1 – Core #1
  • 2 – Core #2
  • 4 – Core #3
  • 8 – Core #4

For multiple cores, these values must be combined – e.g., cpuaffinity 11 would allow cores 1, 2 and 4.

cpusleep <integer>

help flags: AUTOSAVE
Default value: -1

Calms down a number of common Windows processes to reserve CPU power for SRB2, by telling the processes to sleep for a set period of time. Highly recommended for older computers or computers struggling with their OS. Values range from -1 to 28, -1 being off and 0 to 28 being the time to sleep, measured in milliseconds.