Console/Variables

From SRB2 Wiki
Jump to navigation Jump to search
This article or section is outdated and has not been fully updated to reflect the current version of SRB2.

Please help the Wiki by correcting or removing any misinformation, as well as adding any new information to the page.

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.

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.

autorecord <boolean>

help flags: (none)
Default value: Yes

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

compactscoreboard <boolean>

help flags: AUTOSAVE
Menu location: Options → Game Options → Always Compact Rankings
Default value: Off

If enabled, the multiplayer intermission screen is always displayed in its compact form, which is otherwise only used if there are 20 or more players in the game.

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.

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.

Addons menu

These are variables that affect the Addons menu.

addons_folder <foldername>

help flags: AUTOSAVE
Menu location: Options → Add-On Options → Custom Folder
Default value: (none)

If addons_option is set to Custom, this defines the folder the Addons menu searches in. You can use relative paths (e.g.: addons) to define a folder relative to the SRB2 directory, or a full-length directory path (e.g.: C:/Users/ExampleUser/SRB2Addons) to search for addons in a different folder than the SRB2 directory.

addons_md5 <integer/string>

help flags: AUTOSAVE
Menu location: Options → Add-On Options → Identify Add-Ons Via
Default value: Name

Determines how the game checks if two addon files are identical. This is used to determine which files are marked as "loaded" in the Addons menu – any file that is considered identical to an already loaded file is marked as "loaded".

Integer String Description
0 "Name" Addon files are considered identical if their name is identical.
1 "Contents" Addon files are considered identical if their content is identical.

addons_option <integer/string>

help flags: AUTOSAVE;ACTION
Menu location: Options → Add-On Options → Location
Default value: Default

Determines the folder that the Addons menu searches in.

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

addons_search_case <boolean>

help flags: AUTOSAVE
Menu location: Options → Add-On Options → Case-Sensitive
Default value: No

Determines whether the filename search in the Addons menu is case-sensitive or not.

addons_search_type <integer/string>

help flags: AUTOSAVE
Menu location: Options → Add-On Options → Matching
Default value: Anywhere

Determines how the filename search in Addons menu works.

Integer String Description
0 "Start" Only files whose name starts with the specified search string are shown.
1 "Anywhere" All files whose name contains the specified search string are shown.

addons_showall <boolean>

help flags: AUTOSAVE
Menu location: Options → Add-On Options → Show Unsupported File Types
Default value: No

If disabled, the Addons menu will only show files with a supported type (.txt, .cfg, .wad, .pk3, .soc and .lua). If enabled, even unsupported files will be shown.

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: Green

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

Value Color
0 White
1 Black
2 Sepia
3 Brown
4 Pink
5 Raspberry
6 Red
7 Creamsicle
8 Orange
9 Gold
Value Color
10 Yellow
11 Emerald
12 Green
13 Cyan
14 Steel
15 Periwinkle
16 Blue
17 Purple
18 Lavender

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. Note: the actual number of lines displayed is one less than the value of this variable; e.g. con_hudlines 8 will make the console display up to 7 lines.

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

Chat

These are variables that affect chat messages and the chat window in netgames.

chatbacktint <boolean>

help flags: AUTOSAVE
Menu location: Options → Game Options → Chat Options → Chat Background Tint
Default value: On

If enabled, received chat messages are displayed on the tinted translucent background that is also used for the console and the full chat window. If disabled, they are laid over the screen directly.

chatheight <integer>

help flags: AUTOSAVE
Menu location: Options → Game Options → Chat Options → Chat Box Height
Default value: 8

Sets the height of the chat window, as the number of lines that are visible at the same. Minimum value is 6, maximum value is 22.

chatmode <integer/string>

help flags: AUTOSAVE
Menu location: Options → Game Options → Chat Options → Chat Mode
Default value: Window

Sets the chat mode.

Integer String Description
0 "Window" Chat messages are displayed in the chat window and also automatically pop up on the screen when they are received.
1 "Console" Chat messages are displayed in the console.
2 "Window (Hidden)" Chat messages do not pop up on the screen when they are received, but they are still displayed in the chat window when it is opened with the Talk or Team Talk key.

chatnotifications <boolean>

help flags: AUTOSAVE
Menu location: Options → Game Options → Chat Options → Chat Notifications
Default value: On

Determines whether a sound effect is played when a chat message is sent or received.

chatspamprotection <boolean>

help flags: AUTOSAVE
Menu location: Options → Game Options → Chat Options → Spam Protection
Default value: On

Enables/disables spam protection. If spam protection is enabled and a player sends too many messages in rapid succession, they will be hidden from the chat window.

chattime <integer>

help flags: AUTOSAVE
Menu location: Options → Game Options → Chat Options → Message Fadeout Time
Default value: 8

Sets the time in seconds that a received chat message stays on-screen before it disappears. Minimum value is 5, maximum value is 999.

chatwidth <integer>

help flags: AUTOSAVE
Menu location: Options → Game Options → Chat Options → Chat Box Width
Default value: 128

Sets the width of the chat window. The value given is the number of pixels that the chat window would occupy in the base resolution, which has a width of 320. In higher resolutions, the window is scaled accordingly. Minimum value is 64, maximum value is 150.

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 locations:
  • Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → First-Person MouseLook
  • Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → First-Person Vert-Look
Default value: On

If enabled, mouse aiming in first-person view is generally enabled and can be disabled by pressing the mouselook key. If disabled, mouse aiming in first-person view 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.

chasemlook/chasemlook2 <boolean>

help flags: ACTION
Menu locations:
  • Options → Setup Controls → Player 1/2 Controls → Mouse Options / Second Mouse Options → Third-Person MouseLook
  • Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Third-Person Vert-Look
Default value: On

If enabled, mouse aiming in third-person view is generally enabled and can be disabled by pressing the mouselook key. If disabled, mouse aiming in third-person view is generally disabled and can be enabled by pressing the mouselook key.

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
2 Angle
3 Point

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]

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: Off

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: 20

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: 20

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

use_gamepad/use_gamepad2 <integer>

help flags: AUTOSAVE;ACTION
Menu location: Options → Setup Controls → Player 1/2 Controls → Gamepad Options / Second Gamepad Options → Select Gamepad...
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: Z-Axis-

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: Z-Axis

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

joyaxis_jump/joyaxis2_jump <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For Jumping
Default value: (none)

Sets the joystick axis to use for triggering the Jump 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: Y-Rudder-

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: X-Axis

Sets the joystick axis to use for sideways movement.

joyaxis_spin/joyaxis2_spin <integer>

help flags: AUTOSAVE
Menu location: Options → Setup Controls → Player 1/2 Controls → Joystick Options / Second Joystick Options → Axis For Spinning
Default value: (none)

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

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-Rudder

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

Camera

These are variables that affect the player's camera.

cam_dist/cam2_dist <decimal>

help flags: AUTOSAVE;FLOAT
Default value: 160

Sets the distance of the camera. You cannot use a negative value to zoom in. This distance is multiplied by 1.5 in two-player mode and by 1.2 if playing with analog control (this is cumulative, so the distance is multiplied by 1.8 if both apply). Does not apply when in 2D mode or playing as NiGHTS Super Sonic.

cam_height/cam2_height <decimal>

help flags: AUTOSAVE;FLOAT
Default value: 25

Sets the height offset of the third-person camera. This is not calculated relative to the bottom of the player, but instead the first-person camera's vertical offset (determined by viewheight).

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: AUTOSAVE
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: AUTOSAVE;FLOAT
Default value: 0.3

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 with the player.

cam_adjust/cam2_adjust <boolean>

help flags: AUTOSAVE
Default value: On

If enabled, the camera height will automatically be adjusted when going down a slope.

Client options

These are variables that control client preferences in netgames.

defaultcolor/defaultcolor2 <color>

help flags: AUTOSAVE
Default values: DEFAULTCOLOR – Blue; DEFAULTCOLOR2 – Orange

Sets your player's default skin color. Both the colors' names or their number values can be used.

color/color2 <color>

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

Sets your player's current skin color. This can only be changed in multiplayer, while the player is standing still. Both the colors' names or their number values can be used. For setting the default color, see defaultcolor/defaultcolor2

Value Color
1 White
2 Bone
3 Cloudy
4 Grey
5 Silver
6 Carbon
7 Jet
8 Black
9 Aether
10 Slate
11 Pink
12 Yogurt
13 Brown
Value Color
14 Tan
15 Beige
16 Moss
17 Azure
18 Lavender
19 Ruby
20 Salmon
21 Red
22 Crimson
23 Flame
24 Peachy
25 Quail
26 Sunset
Value Color
27 Apricot
28 Orange
29 Rust
30 Gold
31 Sandy
32 Yellow
33 Olive
34 Lime
35 Peridot
36 Green
37 Forest
38 Emerald
39 Mint
Value Color
40 Seafoam
41 Aqua
42 Teal
43 Wave
44 Cyan
45 Sky
46 Cerulean
47 Icy
48 Sapphire
49 Cornflower
50 Blue
51 Cobalt
52 Vapor
Value Color
53 Dusk
54 Pastel
55 Purple
56 Bubblegum
57 Magenta
58 Neon
59 Violet
60 Lilac
61 Plum
62 Rosy

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.

defaultskinskin/defaultskinskin2 <name>

help flags: AUTOSAVE
Default value: defaultskin – sonic; defaultskin2 – tails

Sets your player's character default skin.

skin/skin2 <name>

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

Sets your player's current character 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. For setting the default character skin, see defaultskin/defaultskin2

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. Minimum value is 1, maximum value is 300.

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 files 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 204800 KB (200 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 <string>

help flags: AUTOSAVE;ACTION
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: AUTOSAVE;NETVAR;ACTION
Menu location: Options → Server Options → Show IP Address of Joiners
Default value: Off

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

exitmove <boolean>

Requirements: Server or admins only
help flags: AUTOSAVE;NETVAR;ACTION
Menu location: Options → Server Options → Post-goal free roaming
Default value: On

If enabled, players can move after completing the level

masterserver <string>

help flags: AUTOSAVE
Menu location: Options → Server Options → Master server
Default value: https://mb.srb2.org/MS/0

Defines which Master Server SRB2 will connect to.

masterserver_update_rate <integer>

help flags: AUTOSAVE;ACTION
Default value: 15

Sets how often the master server listing of a server is updated, in minutes. Minimum value is 2, maximum value is 60.

masterserver_timeout <integer>

help flags: AUTOSAVE
Default value: 5

Sets the maximum time in seconds that contacting the master server is allowed to complete.

masterserver_debug <boolean>

help flags: AUTOSAVE
Default value: Off

Enables/disables master server debug logging, the output will be saved in latest-log.txt.

masterserver_token <string>

help flags: AUTOSAVE
Default value: (none)

Used for optional authentication.with the master server.

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.

cooplives <integer/string>

Requirements: Server or admins only
help flags: AUTOSAVE;NETVAR;ACTION;CHEAT
Menu location: Options → Server Options → Cooperative → Life sharing
Default value: 2

Controls how lives are shared between players in Coop gametypes.

Integer String Description
0 "Infinite" Players can respawn indefinitely.
1 "Per-player" Lives are per-player.
2 "Avoid game over" Players can steal lives to avoid game over.
3 "Single pool" Lives are shared between players.

coopstarposts<integer/string>

Requirements: Server or admins only
help flags: AUTOSAVE;NETVAR;ACTION
Menu location: Options → Server Options → Cooperative → Starposts
Default value: 0

Controls how Star Posts and respawning behave in Coop gametypes.

Integer String Description
0 "Per-player" Starposts are per-player.
1 "Shared" Starposts are shared between players.
2 "Teamwork" Players only spawn when starposts are hit.

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: All

Determines whether a Coop level requires any one player (One), 25% (1/4), 50% (Half), 75% (3/4), or 100% (All) of all players to reach the Level End Sign before the level is finished.

Integer String Description
0 "One" One player required
1 "1/4" 25% of players required
2 "Half" 50% of players required
3 "3/4" 75% of players required
4 "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 "Mystery" Transforms all monitors into Random Monitors.
2 "Unchanging" 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.

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: 18

Determines the volume of the background music played from a music CD. Maximum value is 31. Note: This variable has no effect as of v2.1.25.

digimusic <boolean>

help flags: AUTOSAVE;ACTION
Default value: On

Toggles digital background music.

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.

midimusic <boolean>

help flags: AUTOSAVE;ACTION
Default value: On

Toggles MIDI background music.

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.

sounds <boolean>

help flags: AUTOSAVE;ACTION
Default value: On

Toggles sound.

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: 18

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.

1upsound <integer/string>

help flags: AUTOSAVE
Menu location: Options → Sound Options → Default 1-Up sound
Default value: Jingle

Determines whether to play the sound effect sfx_oneup or the music track mus_xtlife when earning an extra lives. Has no effect if the MainCfg option Use1UpSound is set, or the current map is in Mario mode.

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"

fov <decimal>

help flags: FLOAT;ACTION
Menu location: Options → Video Options → OpenGL 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 60, maximum value is 179.

fullscreen <boolean>

help flags: AUTOSAVE;ACTION
Menu location: Options → Video Options → Fullscreen
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 21 values)
Default value: 0

Sets the game's overall brightness. Maximum value is 5, minimum value is -15.

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!

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 → OpenGL 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: Off

Does nothing. Was supposed to determine whether to allow screen resolution width-height ratios other than the standard (320:200, or 1.6:1). If disabled, the resolution height would be adjusted according to its width to keep the standard ratio; if enabled, the height would remain unchanged.

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.

fpscap <integer/string>

help flags: AUTOSAVE
Menu location: Options → Video Options → FPS Cap
Default value: Match refresh rate

Limits the maximum number of frames-per-second that can be rendered. Minimum value is TICRATE, maximum value is 300. Certain values are also accepted by this variable, listed below:

Integer String Description
-1 "Unlimited" No frame rate limit will be applied.
0 "Match refresh rate" The maximum number of frames will be restricted to your monitor's refresh rate.

OpenGL

These are variables that control OpenGL-exclusive effects.

gr_models <off/on>

help flags: AUTOSAVE
Default value: Off

Determines whether models are rendered.

gr_modelinterpolation <off/sometimes/always>

help flags: AUTOSAVE
Default value: Sometimes

Determines model interpolation behavior. If set to Sometimes, only specified animations will interpolate their frames.

Integer String
0 "Off"
1 "Sometimes"
2 "Always"

gr_spritebillboarding <boolean>

help flags: AUTOSAVE
Default value: Off

Determines whether sprites will have the billboarding effect applied to them or not. This means that, if enabled, they will appear to rotate to face the camera vertically if they are viewed from above or below; otherwise, they will appear as flat polygons when seen from above or below.

gr_skydome <boolean>

help flags: AUTOSAVE
Default value: On

Determines whether or not to render the sky texture as a dome.

gr_filtermode <mode>

Requirements: Using the OpenGL renderer
help flags: ACTION
Menu location: Options → Video Options → OpenGL 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_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 defined by the GPU (GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT). Note that this variable can only be modified in-game if SRB2 was ever running in OpenGL.

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_solvetjoin <boolean>

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

Determines whether or not to solve T-joins.

gr_allowclientshaders <boolean>

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

Sets whenever or not custom OpenGL Shaders are allowed to used in the server.

gr_shaders <integer/string>

Requirements: Using the OpenGL renderer
help flags: AUTOSAVE
Menu location: Options → Video Options → OpenGL Options... → Shaders
Default value: On

Determines whether or not shaders are enabled. If set to Ignore custom shaders, only built-in shaders will be used.

CPU

cpusleep <integer>

help flags: AUTOSAVE
Default value: -1

Calms down a number of common 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.