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/08 02:26] – 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 still early and subject to change.** 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 game data folder for the package ident you are running. | ||
| - | |||
| - | Example: | ||
| - | |||
| - | <code text> | ||
| - | steamcmd/ | ||
| - | </ | ||
| - | |||
| - | |||
| - | ========== Important! ========== | ||
| - | |||
| - | Choose the server startup map like so: | ||
| - | |||
| - | <code text> | ||
| - | +game thieves.terrortown thieves.rooftops | ||
| - | </ | ||
| - | |||
| - | The first map ident after the game ident is the startup map. TTT remembers that native startup map as the empty-server reset map. **Choose a map that was made for TTT, or there won't be any weapons for players.** | ||
| - | |||
| - | Do **not** configure startup map through '' | ||
| - | |||
| - | ===== Basic server_settings.json 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 ==== | ||
| - | |||
| - | Currently no active settings are required under '' | ||
| - | |||
| - | Older configs may contain: | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | This field is now ignored. Set the startup map in the native launch command instead: | ||
| - | |||
| - | <code text> | ||
| - | +game thieves.terrortown thieves.rooftops | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== 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> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | ==== Lobby.ProximityVoiceEnabled ==== | ||
| - | |||
| - | Controls whether normal alive-player voice is limited by distance during active rounds. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | Traitor and detective team voice channels remain team-routed. Dead-player voice behavior remains controlled by the normal dead/alive voice filter. | ||
| - | |||
| - | ==== Lobby.ProximityVoiceRange ==== | ||
| - | |||
| - | Voice range in world units when proximity voice is enabled. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | Allowed range: 500 to 5000. | ||
| - | |||
| - | ==== Lobby.KarmaEnabled ==== | ||
| - | |||
| - | Controls whether karma rules are enabled. | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== Map Vote Rotation ===== | ||
| - | |||
| - | The map vote pool is configured through: | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | Separate map idents with semicolons, commas or newlines. | ||
| - | |||
| - | <code text> | ||
| - | orgident.mapident; | ||
| - | </ | ||
| - | |||
| - | //Duplicate entries are collapsed. Maps outside the built-in curated list are ignored for dedicated map vote rotation. 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. | ||
| - | |||
| - | ===== 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 '' | ||
| - | * Check the server console for '' | ||
| - | |||
| - | Useful successful load message: | ||
| - | |||
| - | <code text> | ||
| - | [server.settings] loaded path=server_settings.json lobby=True vote_maps=18 admin_count=1 | ||
| - | </ | ||
| - | |||
| - | If an old config still contains '' | ||
| - | |||
| - | <code text> | ||
| - | [server.settings] loaded path=server_settings.json lobby=True vote_maps=18 admin_count=1 legacy_startup_map_ignored=thieves.rooftops | ||
| - | </ | ||
| - | |||
| - | Useful failure message: | ||
| - | |||
| - | <code text> | ||
| - | [server.settings] failed_to_load path=server_settings.json error=... | ||
| - | </ | ||
| - | |||
| - | Useful launch message: | ||
| - | |||
| - | <code text> | ||
| - | [server.launch] boot_context game=thieves.terrortown boot_map=thieves.rooftops launch_map=thieves.rooftops source=GameNetworkManager.OnStart dedicated=True | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== 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 '' | ||
| - | * Set the startup map with the native launch command, not '' | ||
| - | * Dedicated server support is still early and may change. | ||
configuring_your_server.1778207164.txt.gz · Last modified: 2026/05/08 02:26 by frank_lee_smith