These docs are for v4.3.24. Click to read the latest docs for v4.4.0.

Config Settings

Note: These configuration settings are in the config.json file created in the TShock folder automatically when TShock starts. These are separate from config.txt and other systems that ship with Terraria.

AllowAllowedGroupsToSpawnBannedItems
Type: Boolean
Description: Allows groups on the banned item allowed list to spawn banned items.
Default: "False"

AllowCorruptionCreep
Type: Boolean
Description: Allows corruption to spread when a world is hardmode.
Default: "True"

AllowCrimsonCreep
Type: Boolean
Description: Allows crimson to spread when a world is hardmode.
Default: "True"

AllowCutTilesAndBreakables
Type: Boolean
Description: Allows anyone to break grass, pots, etc.
Default: "False"

AllowHallowCreep
Type: Boolean
Description: Allows hallow to spread when a world is hardmode.
Default: "True"

AllowIce
Type: Boolean
Description: Allow ice placement even when user does not have canbuild.
Default: "False"

AllowLoginAnyUsername
Type: Boolean
Description: Allows users to login with any username with /login.
Default: "True"

AllowRegisterAnyUsername
Type: Boolean
Description: Allows users to register any username with /register.
Default: "False"

AnnounceSave
Type: Boolean
Description: Enable/disable save announcements.
Default: "True"

AnonymousBossInvasions
Type: Boolean
Description: Whether bosses or invasions should be anonymously spawned.
Default: "True"

ApplicationRestTokens
Type: Dictionary2 Description: A dictionary of REST tokens that external applications may use to make queries to your server. Default: "System.Collections.Generic.Dictionary2[System.String,Rests.SecureRest+TokenData]"

AutoSave
Type: Boolean
Description: Enable/disable Terraria's built in auto save.
Default: "True"

BackupInterval
Type: Int32
Description: Backup frequency in minutes. So, a value of 60 = 60 minutes. Backups are stored in the \tshock\backups folder.
Default: "0"

BackupKeepFor
Type: Int32
Description: How long backups are kept in minutes. 2880 = 2 days.
Default: "60"

BanOnHardcoreDeath
Type: Boolean
Description: Bans a hardcore player on death.
Default: "False"

BanOnMediumcoreDeath
Type: Boolean
Description: Bans a mediumcore player on death.
Default: "False"

BCryptWorkFactor
Type: Int32
Description: Determines the BCrypt work factor to use. If increased, all passwords will be upgraded to new work-factor on verify. The number of computational rounds is 2^n. Increase with caution. Range: 5-31.
Default: "7"

BroadcastRGB
Type: Int32[]
Description: #.#.# = Red/Blue/Green - RGB Colors for broadcasts. Max value: 255.
Default: "System.Int32[]"

ChatAboveHeadsFormat
Type: String
Description: Change the player name when using chat above heads. This begins with a player name wrapped in brackets, as per Terraria's formatting. Same formatting as ChatFormat(minus the text aka {4}).
Default: "{2}"

ChatFormat
Type: String
Description: Changes in-game chat format: {0} = Group Name, {1} = Group Prefix, {2} = Player Name, {3} = Group Suffix, {4} = Chat Message.
Default: "{1}{2}{3}: {4}"

CommandSilentSpecifier
Type: String
Description: Specifies which string starts a command silently.
Default: "."

CommandSpecifier
Type: String
Description: Specifies which string starts a command.
Default: "/"

DefaultGuestGroupName
Type: String
Description: Selects the default group name to place unregistered players under.
Default: "guest"

DefaultMaximumSpawns
Type: Int32
Description: The default maximum mobs that will spawn per wave. Higher means more mobs in that wave.
Default: "5"

DefaultRegistrationGroupName
Type: String
Description: Selects the default group name to place new registrants under.
Default: "default"

DefaultSpawnRate
Type: Int32
Description: The delay between waves. Lower values lead to more mobs.
Default: "600"

DisableBuild
Type: Boolean
Description: Disables any building / placing of blocks.
Default: "False"

DisableClownBombs
Type: Boolean
Description: Disables clown bomb projectiles from spawning.
Default: "False"

DisableDungeonGuardian
Type: Boolean
Description: Disables the dungeon guardian from being spawned while sending players to their spawn point instead.
Default: "False"

DisableHardmode
Type: Boolean
Description: Disables hardmode, can't never be activated. Overrides /starthardmode.
Default: "False"

DisableInvisPvP
Type: Boolean
Description: Disables invisibility potions from being used in PvP (Note, can be used in the client, but the effect isn't sent to the rest of the server).
Default: "False"

DisableLoginBeforeJoin
Type: Boolean
Description: Disable users from being able to login with account password when joining.
Default: "False"

DisableSecondUpdateLogs
Type: Boolean
Description: Prevents OnSecondUpdate checks from writing to the log file.
Default: "False"

DisableSnowBalls
Type: Boolean
Description: Disables snow ball projectiles from spawning.
Default: "False"

DisableSpewLogs
Type: Boolean
Description: Force-disable printing logs to players with the log permission.
Default: "True"

DisableTombstones
Type: Boolean
Description: Disable tombstone dropping during death for all players.
Default: "True"

DisableUUIDLogin
Type: Boolean
Description: Disable users from being able to login with their client UUID.
Default: "False"

DisplayIPToAdmins
Type: Boolean
Description: Displays a player's IP on join to everyone who has the log permission.
Default: "False"

EnableBanOnUsernames
Type: Boolean
Description: Enables kicking of banned users by matching their Character Name.
Default: "False"

EnableChatAboveHeads
Type: Boolean
Description: Displays chat messages above players' heads, but will disable chat prefixes to compensate.
Default: "False"

EnableGeoIP
Type: Boolean
Description: This will announce a player's location on join.
Default: "False"

EnableIPBans
Type: Boolean
Description: Enables kicking of banned users by matching their IP Address.
Default: "True"

EnableTokenEndpointAuthentication
Type: Boolean
Description: This will turn on token requirement for the public REST API endpoints.
Default: "False"

EnableUUIDBans
Type: Boolean
Description: Enables kicking of banned users by matching their client UUID.
Default: "True"

EnableWhitelist
Type: Boolean
Description: Enable or disable the whitelist based on IP addresses in whitelist.txt.
Default: "False"

ForceHalloween
Type: Boolean
Description: Forces your world to be in Halloween mode regardless of the data.
Default: "False"

ForceTime
Type: String
Description: Force the world time to be normal, day, or night.
Default: "normal"

ForceXmas
Type: Boolean
Description: Force Christmas-only events to occur all year.
Default: "False"

HardcoreBanReason
Type: String
Description: Bans a hardcore player on death.
Default: "Death results in a ban"

HardcoreKickReason
Type: String
Description: Kicks a hardcore player on death.
Default: "Death results in a kick"

HardcoreOnly
Type: Boolean
Description: Hardcore players ONLY. This means softcore players cannot join.
Default: "False"

HashAlgorithm
Type: String
Description: The hash algorithm used to encrypt user passwords. Valid types: "sha512", "sha256" and "md5". Append with "-xp" for the xp supported algorithms.
Default: "sha512"

HealOtherThreshold
Type: Int32
Description: Disables a player if this number of HealOtherPlayer packets is sent within 1 second.
Default: "50"

IgnoreChestStacksOnLoad
Type: Boolean
Description: Allows stacks in chests to be beyond the stack limit.
Default: "False"

IgnoreNoClip
Type: Boolean
Description: Ignores all no clip checks for players.
Default: "False"

IgnoreProjKill
Type: Boolean
Description: Ignores checking to see if player 'can' kill a projectile.
Default: "False"

IgnoreProjUpdate
Type: Boolean
Description: Ignores checking to see if player 'can' update a projectile.
Default: "False"

InfiniteInvasion
Type: Boolean
Description: Enable the ability for invasion size to never decrease. Make sure to run /invade, and note that this adds 2 million+ goblins to the spawn queue for the map.
Default: "False"

InvasionMultiplier
Type: Int32
Description: The equation for calculating invasion size is 100 + (multiplier * (number of active players with greater than 200 health)).
Default: "1"

KickEmptyUUID
Type: Boolean
Description: Kick clients that don't send a UUID to the server.
Default: "False"

KickOnDamageThresholdBroken
Type: Boolean
Description: Kicks a user if set to true, if they inflict more damage then the max damage.
Default: "False"

KickOnHardcoreDeath
Type: Boolean
Description: Kicks a hardcore player on death.
Default: "False"

KickOnMediumcoreDeath
Type: Boolean
Description: Kicks a mediumcore player on death.
Default: "False"

KickProxyUsers
Type: Boolean
Description: Kicks users using a proxy as identified with the GeoIP database.
Default: "True"

LogPath
Type: String
Description: The path of the directory where logs should be written into.
Default: "tshock"

LogRest
Type: Boolean
Description: Enable/disable the REST API connection log.
Default: "False"

MaxDamage
Type: Int32
Description: The maximum damage a player/npc can inflict.
Default: "1175"

MaxHP
Type: Int32
Description: The maximum allowable HP, before equipment buffs.
Default: "500"

MaximumLoginAttempts
Type: Int32
Description: Number of failed login attempts before kicking the player.
Default: "3"

MaxMP
Type: Int32
Description: The maximum allowable MP, before equipment buffs.
Default: "200"

MaxProjDamage
Type: Int32
Description: The maximum damage a projectile can inflict.
Default: "1175"

MaxRangeForDisabled
Type: Int32
Description: The maximum distance players disabled for various reasons can move from.
Default: "10"

MaxSlots
Type: Int32
Description: Max slots for the server. If you want people to be kicked with "Server is full" set this to how many players you want max and then set Terraria max players to 2 higher.
Default: "8"

MediumcoreBanReason
Type: String
Description: The reason given when banning a mediumcore player on death if BanOnMediumcoreDeath is set to true.
Default: "Death results in a ban"

MediumcoreKickReason
Type: String
Description: The reason given when kicking a mediumcore player on death if KickOnMediumcoreDeath is set to true.
Default: "Death results in a kick"

MediumcoreOnly
Type: Boolean
Description: Mediumcore players ONLY. This means softcore players cannot join.
Default: "False"

MinimumPasswordLength
Type: Int32
Description: The minimum password length for new user accounts. Minimum value is 4.
Default: "4"

MySqlDbName
Type: String
Description: Database name to connect to.
Default: ""

MySqlHost
Type: String
Description: The MySQL hostname and port to direct connections to.
Default: "localhost:3306"

MySqlPassword
Type: String
Description: Database password to connect with.
Default: ""

MySqlUsername
Type: String
Description: Database username to connect with.
Default: ""

PreventBannedItemSpawn
Type: Boolean
Description: Prevent banned items from being /i or /give.
Default: "False"

PreventDeadModification
Type: Boolean
Description: Prevent players from interacting with the world if dead.
Default: "True"

PreventInvalidPlaceStyle
Type: Boolean
Description: Prevents players from placing tiles with an invalid style.
Default: "True"

ProjectileThreshold
Type: Int32
Description: Disable a player if this number of projectiles is created within 1 second.
Default: "50"

ProjIgnoreShrapnel
Type: Boolean
Description: Ignore shrapnel from crystal bullets for projectile threshold.
Default: "True"

PvPMode
Type: String
Description: Set the server pvp mode. Valid types are: "normal", "always" and "disabled".
Default: "normal"

RangeChecks
Type: Boolean
Description: Global protection agent for any block distance based anti-grief check.
Default: "True"

RegionProtectChests
Type: Boolean
Description: Protect chests with region and build permissions.
Default: "False"

RegionProtectGemLocks
Type: Boolean
Description: Protect gem locks with region and build permissions.
Default: "True"

RememberLeavePos
Type: Boolean
Description: Remembers where a player left off. It works by remembering the IP, NOT the character.
eg. When you try to disconnect, and reconnect to be automatically placed at spawn, you'll be at your last location. Note: Won't save after server restarts.
Default: "False"

RequireLogin
Type: Boolean
Description: Requires all players to register or login before being allowed to play.
Default: "False"

ReservedSlots
Type: Int32
Description: The number of reserved slots past your max server slot that can be joined by reserved players.
Default: "20"

RespawnBossSeconds
Type: Int32
Description: The number of seconds a player must wait before being respawned if there is a boss nearby.
Default: "10"

RespawnSeconds
Type: Int32
Description: The number of seconds a player must wait before being respawned.
Default: "5"

RestApiEnabled
Type: Boolean
Description: Enable/disable the REST API.
Default: "False"

RestApiPort
Type: Int32
Description: This is the port which the REST API will listen on.
Default: "7878"

RESTLimitOnlyFailedLoginRequests
Type: Boolean
Description: Whether we should limit only the max failed login requests, or all login requests.
Default: "True"

RESTMaximumRequestsPerInterval
Type: Int32
Description: The maximum REST requests in the bucket before denying requests. Minimum value is 5.
Default: "5"

RESTRequestBucketDecreaseIntervalMinutes
Type: Int32
Description: How often in minutes the REST requests bucket is decreased by one. Minimum value is 1 minute.
Default: "1"

RevertToTextLogsOnSqlFailures
Type: Int32
Description: Number of times the SQL log must fail to insert logs before falling back to the text log.
Default: "10"

SaveWorldOnCrash
Type: Boolean
Description: This will save the world if Terraria crashes from an unhandled exception.
Default: "True"

SaveWorldOnLastPlayerExit
Type: Boolean
Description: Determines if the server should save the world if the last player exits.
Default: "True"

ServerFullNoReservedReason
Type: String
Description: String that is used when kicking people when the server is full with no reserved slots.
Default: "Server is full. No reserved slots open."

ServerFullReason
Type: String
Description: String that is used when kicking people when the server is full.
Default: "Server is full"

ServerName
Type: String
Description: Replaces the world name during a session if UseServerName is true.
Default: ""

ServerPassword
Type: String
Description: Server password required to join the server.
Default: ""

ServerPort
Type: Int32
Description: The port the server runs on.
Default: "7777"

ShowBackupAutosaveMessages
Type: Boolean
Description: Show backup autosave messages.
Default: "True"

SpawnProtection
Type: Boolean
Description: Prevents tiles from being placed within SpawnProtectionRadius of the default spawn.
Default: "True"

SpawnProtectionRadius
Type: Int32
Description: Radius from spawn tile for SpawnProtection.
Default: "10"

StatueSpawn200
Type: Int32
Description: How many things a statue can spawn within 200 pixels(?) before it stops spawning. Default = 3.
Default: "3"

StatueSpawn600
Type: Int32
Description: How many things a statue can spawn within 600 pixels(?) before it stops spawning. Default = 6.
Default: "6"

StatueSpawnWorld
Type: Int32
Description: How many things a statue can spawn before it stops spawning. Default = 10.
Default: "10"

StorageType
Type: String
Description: Valid types are "sqlite" and "mysql".
Default: "sqlite"

SuperAdminChatPrefix
Type: String
Description: Super admin group chat prefix.
Default: "(Admin) "

SuperAdminChatRGB
Type: Int32[]
Description: #.#.# = Red/Blue/Green - RGB Colors for the Admin Chat Color. Max value: 255.
Default: "System.Int32[]"

SuperAdminChatSuffix
Type: String
Description: Super admin group chat suffix.
Default: ""

TileKillThreshold
Type: Int32
Description: Disables/reverts a player if this number of tile kills is exceeded within 1 second.
Default: "60"

TileLiquidThreshold
Type: Int32
Description: Disables a player if this number of liquid sets is exceeded within 1 second.
Default: "15"

TilePaintThreshold
Type: Int32
Description: Disables a player if this number of tiles is painted within 1 second.
Default: "15"

TilePlaceThreshold
Type: Int32
Description: Disables/reverts a player if this number of tile places is exceeded within 1 second.
Default: "20"

UseServerName
Type: Boolean
Description: Sends ServerName in place of the world name to clients.
Default: "False"

UseSqlLogs
Type: Boolean
Description: Save logs to an SQL database instead of a text file. Default = false.
Default: "False"

WhitelistKickReason
Type: String
Description: String that is used when a user is kicked due to not being on the whitelist.
Default: "You are not on the whitelist."