| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| convars [2026/05/15 02:44] – frank_lee_smith | convars [2026/05/15 03:38] (current) – frank_lee_smith |
|---|
| ===== Basics ===== | ===== Basics ===== |
| |
| Most gameplay settings are now native saved ConVars. On many hosts, including Physgun, these are stored in a large file like: | Most gameplay settings are now native saved ConVars. These are stored in a large file: |
| |
| <code text> | <code text> |
| Only edit ''Value''. Do **not** edit ''Timeout'' or ''DeleteAt''. | Only edit ''Value''. Do **not** edit ''Timeout'' or ''DeleteAt''. |
| |
| Notes: | **These are most easily modified directly from the console. Commands will apply live (with some variance; see the sections below). Setting the command via the console will store/update the value in ''game.json''.** |
| |
| * Stop the server before manually editing ''game.json''. | * Stop the server before manually editing ''game.json''. |
| * All commands can also be executed in console, which is easier and will apply live (with some variance). Setting the command via the console will store/update the value in ''game.json''. | |
| * Preserve valid JSON syntax. | * Preserve valid JSON syntax. |
| * Values are usually stored as strings, even for numbers and booleans. | * Values are usually stored as strings, even for numbers and booleans. |
| ^ In game.json ^ In server console ^ | ^ In game.json ^ In server console ^ |
| | ''convar.ttt_rtv_enabled'' | ''ttt_rtv_enabled false'' | | | ''convar.ttt_rtv_enabled'' | ''ttt_rtv_enabled false'' | |
| |
| These are most easily modified directly from the console. | |
| |
| ===== Time ===== | ===== Time ===== |
| ^ ConVar ^ Default ^ Applies ^ Description ^ | ^ ConVar ^ Default ^ Applies ^ Description ^ |
| | ''ttt_max_rounds'' | 6 | Next round / map travel | Number of rounds to play before the match ends and a map vote begins. | | | ''ttt_max_rounds'' | 6 | Next round / map travel | Number of rounds to play before the match ends and a map vote begins. | |
| | ''ttt_round_time_minutes'' | 5 | Next round | Round duration in minutes when haste mode is off. | | | ''ttt_round_time_minutes'' | 5 | Next round | Round duration in minutes **when haste mode is off**. | |
| | ''ttt_haste_mode'' | True | Next round | Enables haste mode, where the public timer starts shorter and hidden time is added as players die. | | | ''ttt_haste_mode'' | True | Next round | Enables haste mode, where the public timer starts shorter and hidden time is added as players die. | |
| | ''ttt_haste_starting_minutes'' | 5 | Next round | Public round timer duration in minutes before haste overtime starts. | | | ''ttt_haste_starting_minutes'' | 5 | Next round | Public round timer duration in minutes before haste overtime starts. | |
| | ''ttt_allow_player_cosmetics'' | True | Next round | Allows players to use their s&box headwear. | | | ''ttt_allow_player_cosmetics'' | True | Next round | Allows players to use their s&box headwear. | |
| |
| ===== Moderation ===== | ===== AFK ===== |
| |
| ^ ConVar ^ Default ^ Applies ^ Description ^ | ^ ConVar ^ Default ^ Applies ^ Description ^ |
| | ''ttt_auto_afk'' | True | Live | Automatically marks idle alive players as AFK. | | | ''ttt_auto_afk'' | True | Live | Automatically marks idle alive players as AFK. | |
| |
| ====== Moderation Roles ====== | |
| |
| Dedicated servers store Moderator, Admin, and Owner assignments in ''roles.json'' in the same data area as ''server_settings.json''. | |
| |
| Use SteamID64 values. Invalid or zero IDs are ignored. Founder is derived from the active host/session and is not written to ''roles.json''. | |
| |
| Example: | |
| |
| <file json roles.json> | |
| [ | |
| { | |
| "steamId": 76561190000000000, | |
| "role": "admin" | |
| }, | |
| { | |
| "steamId": 76561190000000001, | |
| "role": "moderator" | |
| }, | |
| { | |
| "steamId": 76561190000000002, | |
| "role": "owner" | |
| } | |
| ] | |
| </file> | |
| |
| Useful role commands: | |
| |
| ^ Command ^ Persists? ^ Description ^ | |
| | ''ttt_addadmin STEAMID64'' | Yes, to ''roles.json'' | Assign Admin. | | |
| | ''ttt_removeadmin STEAMID64'' | Yes, to ''roles.json'' | Remove Admin. | | |
| | ''ttt_addmod STEAMID64'' / ''ttt_removemod STEAMID64'' | Yes, to ''roles.json'' | Add or remove Moderator. | | |
| | ''ttt_addowner STEAMID64'' / ''ttt_removeowner STEAMID64'' | Yes, to ''roles.json'' | Add or remove Owner. | | |
| | ''ttt_setrole STEAMID64 ROLE'' | Yes, to ''roles.json'' | Replace assignable roles with one role. ROLE is ''mod'', ''admin'', or ''owner''. | | |
| | ''ttt_clearrole STEAMID64'' | Yes, to ''roles.json'' | Remove assignable roles. Founder is not removed. | | |
| | ''ttt_listadmins'' | No change | Print admin IDs. | | |
| | ''ttt_listroles'' | No change | Print assigned roles. | | |
| |
| ''ttt_listadmins'' prints Admin, Owner, and Founder IDs. It does not print Moderators. Use ''ttt_listroles'' to confirm Moderator assignments. | |
| |
| |
| ====== Useful Commands ====== | |
| |
| ===== Map And Vote Commands ===== | ===== Map And Vote Commands ===== |
| | ''votekick PLAYERNAME'' | Starts a public votekick. Players can also type ''/votekick'' or ''!votekick'' in chat. | | | ''votekick PLAYERNAME'' | Starts a public votekick. Players can also type ''/votekick'' or ''!votekick'' in chat. | |
| | ''ttt_forcemapvote'' | Admin/host command that forces the map-vote flow. It is not blocked by ''ttt_rtv_enabled''. | | | ''ttt_forcemapvote'' | Admin/host command that forces the map-vote flow. It is not blocked by ''ttt_rtv_enabled''. | |
| | ''changelevel MAPIDENT'' | Changes to a map ident. | | | ''changelevel MAPIDENT'' | Changes to a map ident. May cause instability! | |
| | ''map MAPIDENT'' | Alias for ''changelevel''. | | | ''map MAPIDENT'' | Alias for ''changelevel''. | |
| | ''scene SCENEFILE'' | Host-only scene change command for scene files. Use map idents for normal server operation. | | | ''scene SCENEFILE'' | Host-only scene change command for scene files. Use map idents for normal server operation. | |