This is an old revision of the document!
Table of Contents
Dedicated Server Settings
Server hosting for TTT is still early and subject to change. This page documents the current dedicated-server setup as of 5/14/26.
This page does not explain how to install or start a baseline s&box dedicated server. For general s&box dedicated server setup, see:
For the easiest server hosting, your best option is using physgun. You can even get 30% off with code “TTT”!
Basics
Live package ident:
thieves.terrortown
Native startup map:
Choose the startup map with the native s&box launch command. The map ident after the game ident is the boot map. TTT also uses that boot map as the empty-server reset map.
Launch Example
Typical dedicated launch shape (replace ports and map with your values):
-headless +game thieves.terrortown thieves.rooftops +hostname "Test" +port 00000 +net_query_port 00000 +net_hide_address 0
Configuration Files
TTT currently uses three operator-facing files:
| File | Purpose |
|---|---|
server_settings.json | Small dedicated-server bootstrap config: lobby max players/privacy and curated map rotation. |
config/convar/game.json | Native s&box saved ConVars. Most gameplay/rule settings live here now. |
roles.json | Moderator/Admin/Owner role assignments written by TTT role commands. |
server_settings.json
server_settings.json lives under the package's game data folder.
Example:
data/thieves/terrortown/server_settings.json
The game creates this file with active defaults the first time a dedicated server starts without one.
Current editable shape:
- server_settings.json
{ "SchemaVersion": 2, "Lobby": { "MaxPlayers": 24, "Privacy": 0 }, "MapVote": { "Maps": "thieves.rooftops;thieves.whitehouse;thieves.minecraft_t5" } }
server_settings.json Fields
| Field | Default | Description |
|---|---|---|
SchemaVersion | 2 | Generated by the game for future migrations. Leave this alone. |
Lobby.MaxPlayers | 24 | Maximum player count for the lobby. Keep this aligned with any external server-manager player limit. |
Lobby.Privacy | 0 | Lobby privacy: 0 public, 1 private, 2 friends only. Public dedicated servers should use 0. |
MapVote.Maps | Curated built-in map list | Dedicated map vote rotation. Separate map idents with semicolons, commas, or newlines. |
Map Vote Rotation
Dedicated map vote pool example:
"MapVote": {
"Maps": "thieves.rooftops;thieves.dolls;throwupproducs.islandtropical"
}
Separate map idents with semicolons, commas, or newlines.
orgident.mapident;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 whitelist from the server console with:
t.server.maps
