configuring_your_server
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| configuring_your_server [2026/05/03 01:58] – frank_lee_smith | configuring_your_server [2026/05/15 02:45] (current) – removed frank_lee_smith | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======== Dedicated Server Settings ======== | ||
| - | **Server hosting for TTT is VERY early and subject to MANY changes.** We will update this page and add more under this category over time. | ||
| - | |||
| - | This page does **not** explain how to install or start a baseline s&box dedicated server. For general s&box dedicated server setup, see: [[https:// | ||
| - | |||
| - | |||
| - | ===== Basics ===== | ||
| - | |||
| - | **Our game ident: | ||
| - | <code text> | ||
| - | thieves.terrortown | ||
| - | </ | ||
| - | |||
| - | **TTT-specific config file:** | ||
| - | |||
| - | <code text> | ||
| - | server_settings.json | ||
| - | </ | ||
| - | |||
| - | On a SteamCMD dedicated install, this should be under the terrortown data folder: | ||
| - | |||
| - | <code text> | ||
| - | steamcmd/ | ||
| - | </ | ||
| - | |||
| - | ========== Important! ========== | ||
| - | |||
| - | For TTT dedicated servers, set the server starting map in '' | ||
| - | |||
| - | <code text> | ||
| - | Server.StartupMap | ||
| - | </ | ||
| - | |||
| - | **Do not use** a native server manager map field (+map) for your startup map. **It will break on map change**. | ||
| - | |||
| - | If your server manager requires a map value, **use a blank or placeholder value** there, then configure the real startup map in '' | ||
| - | |||
| - | ===== Basic Example ===== | ||
| - | |||
| - | //The file will be automatically generated the first time you launch TTT.// | ||
| - | //The below is a shortened example.// | ||
| - | //The generated file will include the full curated map list.// | ||
| - | |||
| - | |||
| - | <file json server_settings.json> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ======= Server settings ======= | ||
| - | |||
| - | ==== SchemaVersion ==== | ||
| - | |||
| - | Generated by the game for future migrations (Leave this alone). | ||
| - | |||
| - | ==== Server.StartupMap ==== | ||
| - | |||
| - | The map the dedicated server should load on startup. | ||
| - | |||
| - | Example: | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | This is also used as the server' | ||
| - | |||
| - | You can print the current whitelist from the server console with: | ||
| - | |||
| - | <code text> | ||
| - | t.server.maps | ||
| - | </ | ||
| - | |||
| - | ===== Lobby Settings ===== | ||
| - | |||
| - | ==== Lobby.MaxPlayers ==== | ||
| - | |||
| - | Maximum player count for the Terror Town lobby. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | Keep this aligned with any external server manager max-player setting. | ||
| - | |||
| - | ==== Lobby.Privacy ==== | ||
| - | |||
| - | Controls lobby privacy. | ||
| - | |||
| - | ^ Value ^ Meaning ^ | ||
| - | | 0 | Public | | ||
| - | | 1 | Private | | ||
| - | | 2 | Friends Only | | ||
| - | |||
| - | For public dedicated servers, use: | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | ==== Lobby.MinPlayerCount ==== | ||
| - | |||
| - | Minimum number of players required before normal round start behavior can proceed. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | ==== Lobby.MaxRounds ==== | ||
| - | |||
| - | Maximum number of rounds before the normal end-of-match or map-vote flow. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | ==== Lobby.RoundTimeMinutes ==== | ||
| - | |||
| - | Base round time limit, in minutes. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | ==== Lobby.PrepareDurationSeconds ==== | ||
| - | |||
| - | Preparation phase duration before a round starts, in seconds. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | ==== Lobby.HasteMode ==== | ||
| - | |||
| - | Controls whether haste mode timing is enabled. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | |||
| - | ==== Lobby.MapVoteOptionCount ==== | ||
| - | |||
| - | Maximum number of map choices shown during a map vote. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | Allowed range: 3 to 12. | ||
| - | |||
| - | ==== Lobby.AllowPlayerCosmetics ==== | ||
| - | |||
| - | Controls whether player cosmetics are allowed. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | ===== Map vote rotation ===== | ||
| - | |||
| - | The map vote pool is configured through: | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | Separate map idents with semicolons, commas or newlines. | ||
| - | |||
| - | <code text> | ||
| - | org.map; | ||
| - | </ | ||
| - | |||
| - | //Duplicate entries are collapsed. Maps outside the built-in curated list are ignored (for now). Make sure at least one valid map remains.// | ||
| - | |||
| - | You can print the current built-in map lists from the server console with: | ||
| - | |||
| - | <code text> | ||
| - | t.server.maps | ||
| - | </ | ||
| - | |||
| - | ===== Admin Steam IDs ===== | ||
| - | |||
| - | Dedicated servers can bootstrap admins with: | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | 00000000000000000, | ||
| - | 11111111111111111 | ||
| - | ] | ||
| - | </ | ||
| - | |||
| - | Use SteamID64 values. | ||
| - | |||
| - | Invalid or zero IDs are ignored. | ||
| - | |||
| - | ===== Required config mode ===== | ||
| - | |||
| - | By default, if '' | ||
| - | |||
| - | If you want the server to close instead when the config is missing or invalid, launch it with: | ||
| - | |||
| - | <code text> | ||
| - | +t.dedicated.require_server_settings 1 | ||
| - | </ | ||
| - | |||
| - | ===== Other dedicated server options ===== | ||
| - | |||
| - | These are launch/ | ||
| - | |||
| - | ^ Option ^ Default ^ Description ^ | ||
| - | | t.dedicated.require_server_settings | 0 | Require a valid '' | ||
| - | | t.dedicated.empty_reset | 1 | Reset the server back to its startup map after all real players leave. | | ||
| - | | t.dedicated.empty_reset.delay | 2.0 | Delay, in seconds, before empty-server reset runs. | | ||
| - | |||
| - | ===== Example file ===== | ||
| - | |||
| - | You can generate an example settings file from the server console: | ||
| - | |||
| - | <code text> | ||
| - | ttt_write_server_settings_example | ||
| - | </ | ||
| - | |||
| - | This writes: | ||
| - | |||
| - | <code text> | ||
| - | server_settings.example.json | ||
| - | </ | ||
| - | |||
| - | The example file is only a template. The active config file must still be named: | ||
| - | |||
| - | <code text> | ||
| - | server_settings.json | ||
| - | </ | ||
| - | |||
| - | ===== Troubleshooting ===== | ||
| - | |||
| - | If your settings are not applying: | ||
| - | |||
| - | * Make sure the file is named '' | ||
| - | * Make sure the file is in the correct game ident' | ||
| - | * Restart the dedicated server after editing the file. | ||
| - | * Check that your JSON is valid. | ||
| - | * Check the server console for '' | ||
| - | |||
| - | Useful successful load message: | ||
| - | |||
| - | <code text> | ||
| - | [server.settings] loaded path=server_settings.json startup_map=thieves.rooftops lobby=True vote_maps=18 admin_count=1 | ||
| - | </ | ||
| - | |||
| - | Useful failure message: | ||
| - | |||
| - | <code text> | ||
| - | [server.settings] failed_to_load path=server_settings.json error=... | ||
| - | </ | ||
| - | |||
| - | ===== Current limitations ===== | ||
| - | |||
| - | * Settings are read once when the server process starts. | ||
| - | * Restart the server after editing '' | ||
| - | * '' | ||
| - | * Missing fields may be filled in with defaults on startup. | ||
| - | * Existing values in your active config should not be overwritten. | ||
| - | * Keep '' | ||
| - | * Dedicated server support is still early and may change. | ||
configuring_your_server.1777773519.txt.gz · Last modified: 2026/05/03 01:58 by frank_lee_smith