Terraria TShock config.json Generator
Generate a ready-to-paste config.json for TShock v6.1 (Terraria 1.4.5.6, March 2026). Covers all 90+ settings across 7 sections. TShock replaces vanilla server administration — this config is separate from the vanilla serverconfig.txt.
TShock v6.1 · Terraria 1.4.5.6
Quick Presets
Server
Login / Auth
Anti-Cheat
TileKillThreshold can trigger on legitimate mining — Shroomite Digging Claw + buffs can hit 120+ tiles/sec. Raise to 200 for survival servers to avoid false positives.
World
Chat
Silent commands don't echo to players
{0}=group, {1}=prefix, {2}=name, {3}=suffix, {4}=message
REST API
SQL / Database
config.json — paste into your TShock server directory
{
"ServerPassword": "",
"ServerPort": 7777,
"MaxSlots": 8,
"ReservedSlots": 5,
"SuppressPermissionFailureNotices": false,
"PvPMode": "normal",
"SpawnProtection": true,
"SpawnProtectionRadius": 10,
"InvasionMultiplier": 1,
"DefaultMaximumSpawns": 5,
"DefaultSpawnRate": 600,
"ServerFullAnnounce": true,
"ServerFullNoJoin": false,
"ForceTime": "normal",
"HardcoreOnly": false,
"MediumcoreOnly": false,
"KickOnMediumcoreDeath": false,
"RequireLogin": false,
"AllowRegister": true,
"AllowLoginAnyUsername": true,
"MaximumLoginAttempts": 3,
"EnableWhitelist": false,
"KickProxyUsers": true,
"DisableUUIDLogin": false,
"MaxDamage": 1175,
"MaxProjDamage": 1175,
"TileKillThreshold": 60,
"TilePlaceThreshold": 32,
"TileLiquidThreshold": 50,
"ProjectileThreshold": 50,
"HealOtherThreshold": 50,
"TilePaintThreshold": 15,
"KickOnTileKillThresholdBroken": false,
"KickOnTilePlaceThresholdBroken": false,
"AutoSave": true,
"AnnounceSave": true,
"WorldID": 0,
"MaxBackups": 10,
"BackupInterval": 600,
"BackupKeepFor": 60,
"EnableChatAboveHeads": false,
"CommandSpecifier": "/",
"CommandSilentSpecifier": ".",
"ChatFormat": "{1}{2}{3}: {4}",
"ChatAboveHeadsFormat": "{2}",
"BroadcastRGB": "[255,255,255]",
"ShowBackupAutosaveMessages": true,
"RestApiEnabled": false,
"RestApiPort": 7878,
"StorageType": "sqlite",
"SqliteDBPath": "tshock.sqlite",
"MySqlHost": "localhost:3306",
"MySqlDbName": "",
"MySqlUsername": "",
"MySqlPassword": ""
}