TShock config.json Explained: Slots, Passwords, Login and Spawn Settings
TShock keeps most of its behaviour in config.json. On ChicagoServers a TShock server lists a TShock config file on the Configs tab, and the settings below are the ones most server owners end up changing: who can join, how many slots, whether players must log in, and how spawn is protected.
Names and defaults here come from TShock's own configuration documentation, checked on 2026-11-15. TShock changes between releases, so a setting in your build may be missing or renamed. Always check the file your server generated, and take a backup first.
ServerPassword(default empty) andMaxSlots(default 8) control who and how many can join. On ChicagoServers, slots and the Join password are managed from the panel, so check there first.RequireLogin(default false) forces every player to register or log in.DefaultRegistrationGroupNameandDefaultGuestGroupNamedecide each player's starting group.SpawnProtection(default true) stops tile placement near spawn.DisableBuild(default false) stops all placing and removing.RestApiEnableddefaults to false. Leave it off unless you have a tool that needs it.- Edit on the Configs tab, Save, then Restart.
On this page
How to edit config.json on ChicagoServers
- Back up
Open Backups, choose World and settings, and click Back up now.
- Open the file
On the Configs tab, choose TShock config. The file is
config.jsoninside TShock's folder. - Edit carefully
It is JSON, so keep the quotes, commas and brackets. A single missing comma stops the file loading. Use Text view if you want to see the whole file.
- Save and restart
Click Save, then Restart at the top of the page. Read the Console tab for errors after the restart.
Settings reference
| Setting | Default | What it does |
|---|---|---|
ServerPassword | empty | Password players must enter to join. |
MaxSlots | 8 | Maximum number of clients connected at once. |
ReservedSlots | 20 | Extra slots beyond MaxSlots that only players with the reserved permission can use. |
DisableBuild | false | Disables placing and removing blocks. |
SpawnProtection | true | Prevents tile placement within SpawnProtectionRadius of spawn. |
RespawnSeconds | 5 | Seconds a player waits before respawning. |
EnableWhitelist | false | IP-based whitelisting from the whitelist.txt file. |
RestApiEnabled | false | Turns the REST API on or off. |
InvasionMultiplier | 1 | Scales invasion size, calculated as 100 plus the multiplier times the number of active players with more than 200 health. |
AutoSave | true | Terraria's built-in world auto-save. |
DefaultRegistrationGroupName | default | Group given to newly registered players. |
DefaultGuestGroupName | guest | Group given to players who have not registered. |
RequireLogin | false | Requires everyone to register or log in before playing. |
This is a short list, not the whole file. Server Side Characters, which stores player inventories on the server, is configured separately and is not covered here.
What the ChicagoServers panel manages
The slot count comes from your plan, and the Join password and message of the day are fields on the Startup tab. Values set there are applied at every start, so a matching value changed only in config.json may not stick. Set slots and the join password from the panel, and use config.json for TShock-only behaviour. If you are not sure which setting wins, change it in one place, restart, and check in game.
Common setups
- Stop strangers building at spawn: leave
SpawnProtectionon, so no one can place tiles near spawn. - Accounts only: set
RequireLoginto true so everyone registers. Combine it with a join password for a private community. - A show-only build: set
DisableBuildto true to stop all block changes while still allowing play. Remember to turn it back off. - Slower respawns on a harder server: raise
RespawnSeconds. - Larger invasions: raise
InvasionMultipliera little at a time. The documented formula scales with the number of healthy players.
Frequently asked questions
Where is the TShock config.json file?
It is in TShock's folder on the server. On ChicagoServers it appears as TShock config on the Configs tab.
How do I set a password on a TShock server?
Use the Join password field on the Startup tab. TShock also has a ServerPassword setting in config.json, which defaults to empty.
What is the default MaxSlots in TShock?
8, according to TShock's configuration documentation. On ChicagoServers the slot count is controlled by your plan.
How do I make players log in on TShock?
Set RequireLogin to true in config.json. Players must then register or log in before they can play.
How do I turn off spawn protection in TShock?
Set SpawnProtection to false. It defaults to true and blocks tile placement near spawn.