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.
Server Settings
ServerPassword
Type | String |
---|---|
Description | The server password required to join the server. |
Default | "" |
ServerPort
Type | Int32 |
---|---|
Description | The port the server runs on. |
Default | 7777 |
MaxSlots
Type | Int32 |
---|---|
Description | Maximum number of clients connected at once. 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 |
ReservedSlots
Type | Int32 |
---|---|
Description | The number of reserved slots past your max server slots that can be joined by reserved players. |
Default | 20 |
ServerName
Type | String |
---|---|
Description | Replaces the world name during a session if UseServerName is true. |
Default | "" |
UseServerName
Type | Boolean |
---|---|
Description | Whether or not to use ServerName in place of the world name. |
Default | false |
LogPath
Type | String |
---|---|
Description | The path to the directory where logs should be written to. |
Default | "tshock" |
DebugLogs
Type | Boolean |
---|---|
Description | Whether or not the server should output debug level messages related to system operation. |
Default | true |
DisableLoginBeforeJoin
Type | Boolean |
---|---|
Description | Prevents users from being able to login before they finish connecting. |
Default | false |
IgnoreChestStacksOnLoad
Type | Boolean |
---|---|
Description | Allows stacks in chests to go beyond the stack limit during world loading. |
Default | false |
Backup and Save Settings
AutoSave
Type | Boolean |
---|---|
Description | Enable or disable Terraria's built-in world auto save. |
Default | true |
AnnounceSave
Type | Boolean |
---|---|
Description | Enable or disable world save announcements. |
Default | true |
ShowBackupAutosaveMessages
Type | Boolean |
---|---|
Description | Whether or not to show backup auto save messages. |
Default | true |
BackupInterval
Type | Int32 |
---|---|
Description | The interval between backups, in minutes. Backups are stored in the tshock/backups folder. |
Default | 0 |
BackupKeepFor
Type | Int32 |
---|---|
Description | For how long backups are kept in minutes. eg. 2880 = 2 days. |
Default | 60 |
SaveWorldOnCrash
Type | Boolean |
---|---|
Description | Whether or not to save the world if the server crashes from an unhandled exception. |
Default | true |
SaveWorldOnLastPlayerExit
Type | Boolean |
---|---|
Description | Whether or not to save the world when the last player disconnects. |
Default | true |
World Settings
InvasionMultiplier
Type | Int32 |
---|---|
Description | Determines the size of invasion events. The equation for calculating invasion size is 100 + (multiplier * (number of active players with greater than 200 health)). |
Default | 1 |
DefaultMaximumSpawns|
Type | Int32 |
---|---|
Description | The default maximum number of mobs that will spawn per wave. Higher means more mobs in that wave. |
Default | 5 |
DefaultSpawnRate|
Type | Int32 |
---|---|
Description | The delay between waves. Lower values lead to more mobs. |
Default | 600 |
InfiniteInvasion
Type | Boolean |
---|---|
Description | Enables never ending invasion events. You still need to start the event, such as with the /invade command. |
Default | true |
PvPMode
Type | String |
---|---|
Description | Sets the PvP mode. Valid types are: "normal", "always" and "disabled". |
Default | "normal" |
SpawnProtection
Type | Boolean |
---|---|
Description | Prevents tiles from being placed within SpawnProtectionRadius of the default spawn. |
Default | true |
SpawnProtectionRadius
Type | Int32 |
---|---|
Description | The tile radius around the spawn tile that is protected by the SpawnProtection setting. |
Default | 10 |
RangeChecks
Type | Boolean |
---|---|
Description | Enable or disable anti-cheat range checks based on distance between the player and their block placements. |
Default | true |
HardcoreOnly
Type | Boolean |
---|---|
Description | Prevents non-hardcore players from connecting. |
Default | false |
MediumcoreOnly
Type | Boolean |
---|---|
Description | Prevents softcore players from connecting. |
Default | false |
DisableBuild
Type | Boolean |
---|---|
Description | Disables any placing, or removal of blocks. |
Default | false |
DisableHardmode
Type | Boolean |
---|---|
Description | If enabled, hardmode will not be activated by the Wall of Flesh or the /starthardmode command. |
Default | false |
DisableDungeonGuardian
Type | Boolean |
---|---|
Description | Prevents the dungeon guardian from being spawned while sending players to their spawn point instead. |
Default | false |
DisableClownBombs
Type | Boolean |
---|---|
Description | Disables clown bomb projectiles from spawning. |
Default | false |
DisableSnowBalls
Type | Boolean |
---|---|
Description | Disables snow ball projectiles from spawning. |
Default | false |
DisableTombstones
Type | Boolean |
---|---|
Description | Disables tombstone dropping during death for all players. |
Default | true |
ForceTime
Type | String |
---|---|
Description | Forces the world time to be normal, day, or night. |
Default | "normal" |
DisableInvisPvP
Type | Boolean |
---|---|
Description | Disables the effect of invisibility potions while PvP is enabled by turning the player visible to the other clients. |
Default | false |
MaxRangeForDisabled
Type | Int32 |
---|---|
Description | The maximum distance, in tiles, that disabled players can move from. |
Default | 10 |
RegionProtectChests
Type | Boolean |
---|---|
Description | Whether or not region protection should apply to chests. |
Default | false |
RegionProtectGemLocks
Type | Boolean |
---|---|
Description | Whether or not region protection should apply to gem locks. |
Default | true |
IgnoreProjUpdate
Type | Boolean |
---|---|
Description | Ignores checks to see if a player 'can' update a projectile. |
Default | false |
IgnoreProjKill
Type | Boolean |
---|---|
Description | Ignores checks to see if a player 'can' kill a projectile. |
Default | false |
AllowCutTilesAndBreakables
Type | Boolean |
---|---|
Description | Allows players to break temporary tiles (grass, pots, etc) where they cannot usually build. |
Default | false |
AllowIce
Type | Boolean |
---|---|
Description | Allows ice placement even where a user cannot usually build. |
Default | false |
AllowCrimsonCreep
Type | Boolean |
---|---|
Description | Allows the crimson to spread when a world is in hardmode. |
Default | true |
AllowCorruptionCreep
Type | Boolean |
---|---|
Description | Allows the corruption to spread when a world is in hardmode. |
Default | true |
AllowHallowCreep
Type | Boolean |
---|---|
Description | Allows the hallow to spread when a world is in hardmode. |
Default | true |
StatueSpawn200
Type | Int32 |
---|---|
Description | How many NPCs a statue can spawn within 200 pixels(?) before it stops spawning. Default = 3. |
Default | 3 |
StatueSpawn600
Type | Int32 |
---|---|
Description | How many NPCs a statue can spawn within 600 pixels(?) before it stops spawning. Default = 6. |
Default | 6 |
StatueSpawnWorld
Type | Int32 |
---|---|
Description | How many NPCs a statue can spawn before it stops spawning. Default = 10. |
Default | 10 |
PreventBannedItemSpawn
Type | Boolean |
---|---|
Description | Prevent banned items from being spawned or given with commands. |
Default | false |
PreventDeadModification
Type | Boolean |
---|---|
Description | Prevent players from interacting with the world while they are dead. |
Default | true |
PreventInvalidPlaceStyle
Type | Boolean |
---|---|
Description | Prevents players from placing tiles with an invalid style. |
Default | true |
ForceXmas
Type | Boolean |
---|---|
Description | Forces Christmas-only events to occur all year. |
Default | false |
ForceHalloween
Type | Boolean |
---|---|
Description | Forces Halloween-only events to occur all year. |
Default | false |
AllowAllowedGroupsToSpawnBannedItems
Type | Boolean |
---|---|
Description | Allows groups on the banned item allowed list to spawn banned items even if PreventBannedItemSpawn is set to true. |
Default | false |
RespawnSeconds
Type | Int32 |
---|---|
Description | The number of seconds a player must wait before being respawned. Cannot be longer than normal value now. Use at your own risk. |
Default | 5 |
RespawnBossSeconds
Type | Int32 |
---|---|
Description | The number of seconds a player must wait before being respawned if there is a boss nearby. Cannot be longer than normal value now. Use at your own risk. |
Default | 10 |
AnonymousBossInvasions
Type | Boolean |
---|---|
Description | Whether or not to announce boss spawning or invasion starts. |
Default | true |
MaxHP
Type | Int32 |
---|---|
Description | The maximum HP a player can have, before equipment buffs. |
Default | 500 |
MaxMP
Type | Int32 |
---|---|
Description | The maximum MP a player can have, before equipment buffs. |
Default | 200 |
BombExplosionRadius
Type | Int32 |
---|---|
Description | Determines the range in tiles that a bomb can affect tiles from detonation point. |
Default | 5 |
Login and Ban Settings
DefaultRegistrationGroupName
Type | String |
---|---|
Description | The default group name to place newly registered players under. |
Default | "default" |
DefaultGuestGroupName
Type | String |
---|---|
Description | The default group name to place unregistered players under. |
Default | "guest" |
RememberLeavePos
Type | Boolean |
---|---|
Description | Remembers where a player left off, based on their IP. Does not persist through server restarts. eg. When you try to disconnect, and reconnect to be automatically placed at spawn, you'll be at your last location. |
Default | false |
MaximumLoginAttempts
Type | Int32 |
---|---|
Description | Number of failed login attempts before kicking the player. |
Default | 3 |
KickOnMediumcoreDeath
Type | Boolean |
---|---|
Description | Whether or not to kick mediumcore players on death. |
Default | false |
MediumcoreKickReason
Type | String |
---|---|
Description | The reason given if kicking a mediumcore players on death. |
Default | "Death results in a kick" |
BanOnMediumcoreDeath
Type | Boolean |
---|---|
Description | Whether or not to ban mediumcore players on death. |
Default | false |
MediumcoreBanReason
Type | String |
---|---|
Description | The reason given if banning a mediumcore player on death. |
Default | "Death results in a ban" |
EnableWhitelist
Type | Boolean |
---|---|
Description | Enable or disable the whitelist based on IP addresses in the whitelist.txt file. |
Default | false |
WhitelistKickReason
Type | String |
---|---|
Description | The reason given when kicking players for not being on the whitelist. |
Default | "You are not on the whitelist." |
ServerFullReason
Type | String |
---|---|
Description | The reason given when kicking players that attempt to join while the server is full. |
Default | "Server is full" |
ServerFullNoReservedReason
Type | String |
---|---|
Description | The reason given when kicking players that attempt to join while the server is full with no reserved slots available. |
Default | "Server is full. No reserved slots open." |
KickOnHardcoreDeath
Type | Boolean |
---|---|
Description | Whether or not to kick hardcore players on death. |
Default | false |
HardcoreKickReason
Type | String |
---|---|
Description | The reason given when kicking hardcore players on death. |
Default | "Death results in a kick" |
BanOnHardcoreDeath
Type | Boolean |
---|---|
Description | Whether or not to ban hardcore players on death. |
Default | false |
HardcoreBanReason
Type | String |
---|---|
Description | The reason given when banning hardcore players on death. |
Default | "Death results in a ban" |
EnableIPBans
Type | Boolean |
---|---|
Description | Enables kicking banned users by matching their IP Address. |
Default | true |
EnableUUIDBans
Type | Boolean |
---|---|
Description | Enables kicking banned users by matching their client UUID. |
Default | true |
EnableBanOnUsernames
Type | Boolean |
---|---|
Description | Enables kicking banned users by matching their Character Name. |
Default | false |
KickProxyUsers
Type | Boolean |
---|---|
Description | If GeoIP is enabled, this will kick users identified as being under a proxy. |
Default | true |
RequireLogin
Type | Boolean |
---|---|
Description | Require all players to register or login before being allowed to play. |
Default | false |
AllowLoginAnyUsername
Type | Boolean |
---|---|
Description | Allows users to login to any account even if the username doesn't match their character name. |
Default | true |
AllowRegisterAnyUsername
Type | Boolean |
---|---|
Description | Allows users to register a username that doesn't necessarily match their character name. |
Default | false |
MinimumPasswordLength
Type | Int32 |
---|---|
Description | The minimum password length for new user accounts. Can never be lower than 4. |
Default | 4 |
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" |
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 |
DisableUUIDLogin
Type | Boolean |
---|---|
Description | Prevents users from being able to login with their client UUID. |
Default | false |
KickEmptyUUID
Type | Boolean |
---|---|
Description | Kick clients that don't send their UUID to the server. |
Default | false |
TilePaintThreshold
Type | Int32 |
---|---|
Description | Disables a player if this number of tiles is painted within 1 second. |
Default | 15 |
KickOnTilePaintThresholdBroken
Type | Boolean |
---|---|
Description | Whether or not to kick users when they surpass the TilePaint threshold. |
Default | false |
MaxDamage
Type | Int32 |
---|---|
Description | The maximum damage a player/NPC can inflict. |
Default | 1175 |
MaxProjDamage
Type | Int32 |
---|---|
Description | The maximum damage a projectile can inflict. |
Default | 1175 |
KickOnDamageThresholdBroken
Type | Boolean |
---|---|
Description | Whether or not to kick users when they surpass the MaxDamage threshold. |
Default | false |
TileKillThreshold
Type | Int32 |
---|---|
Description | Disables a player and reverts their actions if this number of tile kills is exceeded within 1 second. |
Default | 60 |
KickOnTileKillThresholdBroken
Type | Boolean |
---|---|
Description | Whether or not to kick users when they surpass the TileKill threshold. |
Default | false |
TilePlaceThreshold
Type | Int32 |
---|---|
Description | Disables a player and reverts their actions if this number of tile places is exceeded within 1 second. |
Default | 32 |
KickOnTilePlaceThresholdBroken
Type | Boolean |
---|---|
Description | Whether or not to kick users when they surpass the TilePlace threshold. |
Default | false |
TileLiquidThreshold
Type | Int32 |
---|---|
Description | Disables a player if this number of liquid sets is exceeded within 1 second. |
Default | 50 |
KickOnTileLiquidThresholdBroken
Type | Boolean |
---|---|
Description | Whether or not to kick users when they surpass the TileLiquid threshold. |
Default | false |
ProjIgnoreShrapnel
Type | Boolean |
---|---|
Description | Whether or not to ignore shrapnel from crystal bullets for the projectile threshold count. |
Default | true |
ProjectileThreshold
Type | Int32 |
---|---|
Description | Disable a player if this number of projectiles is created within 1 second. |
Default | 50 |
KickOnProjectileThresholdBroken
Type | Boolean |
---|---|
Description | Whether or not to kick users when they surpass the Projectile threshold. |
Default | false |
HealOtherThreshold
Type | Int32 |
---|---|
Description | Disables a player if this number of HealOtherPlayer packets is sent within 1 second. |
Default | 50 |
KickOnHealOtherThresholdBroken
Type | Boolean |
---|---|
Description | Whether or not to kick users when they surpass the HealOther threshold. |
Default | false |
Chat Settings
CommandSpecifier
Type | String |
---|---|
Description | Specifies which string starts a command. Note: Will not function properly if the string length is bigger than 1. |
Default | "/" |
CommandSilentSpecifier
Type | String |
---|---|
Description | Specifies which string starts a command silently. Note: Will not function properly if the string length is bigger than 1. |
Default | "." |
DisableSpewLogs
Type | Boolean |
---|---|
Description | Disables sending logs as messages to players with the log permission. |
Default | true |
DisableSecondUpdateLogs
Type | Boolean |
---|---|
Description | Prevents OnSecondUpdate checks from writing to the log file. |
Default | false |
SuperAdminChatRGB
Type | Int32 |
---|---|
Description | The chat color for the superadmin group. #.#.# = Red/Blue/Green Max value: 255 |
Default | { 255, 255, 255 } |
SuperAdminChatPrefix
Type | String |
---|---|
Description | The superadmin chat prefix. |
Default | "(Super Admin) " |
SuperAdminChatSuffix
Type | String |
---|---|
Description | The superadmin chat suffix. |
Default | "" |
EnableGeoIP
Type | Boolean |
---|---|
Description | Whether or not to announce a player's geographic location on join, based on their IP. |
Default | false |
DisplayIPToAdmins
Type | Boolean |
---|---|
Description | Displays a player's IP on join to users with the log permission. |
Default | false |
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}" |
ChatAboveHeadsFormat
Type | String |
---|---|
Description | Changes the player name when using chat above heads. Starts with a player name wrapped in brackets, as per Terraria's formatting. Same formatting as ChatFormat without the message. |
Default | "{2}" |
EnableChatAboveHeads
Type | Boolean |
---|---|
Description | Whether or not to display chat messages above players' heads. |
Default | false |
BroadcastRGB
Type | Int32 |
---|---|
Description | The RGB values used for the color of broadcast messages. #.#.# = Red/Blue/Green Max value: 255 |
Default | { 127, 255, 212 } |
SQL Settings
StorageType
Type | String |
---|---|
Description | The type of database to use when storing data (either "sqlite" or "mysql"). |
Default | "sqlite" |
SqliteDBPath
Type | String |
---|---|
Description | The path of sqlite db. |
Default | "tshock.sqlite" |
MySqlHost
Type | String |
---|---|
Description | The MySQL hostname and port to direct connections to. |
Default | "localhost:3306" |
MySqlDbName
Type | String |
---|---|
Description | The database name to connect to when using MySQL as the database type. |
Default | "" |
MySqlUsername
Type | String |
---|---|
Description | The username used when connecting to a MySQL database. |
Default | "" |
MySqlPassword
Type | String |
---|---|
Description | The password used when connecting to a MySQL database. |
Default | "" |
UseSqlLogs
Type | Boolean |
---|---|
Description | Whether or not to save logs to the SQL database instead of a text file. Default = false. |
Default | false |
RevertToTextLogsOnSqlFailures
Type | Int32 |
---|---|
Description | Number of times the SQL log must fail to insert logs before falling back to the text log. |
Default | 10 |
REST API Settings
RestApiEnabled
Type | Boolean |
---|---|
Description | Enable or disable the REST API. |
Default | false |
RestApiPort
Type | Int32 |
---|---|
Description | The port used by the REST API. |
Default | 7878 |
LogRest
Type | Boolean |
---|---|
Description | Whether or not to log REST API connections. |
Default | false |
EnableTokenEndpointAuthentication
Type | Boolean |
---|---|
Description | Whether or not to require token authentication to use the |
Default | false |
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 |
ApplicationRestTokens
Type | Dictionary<String, SecureRest.TokenData> |
---|---|
Description | A dictionary of REST tokens that external applications may use to make queries to your server. |
Default | {} |
Updated over 4 years ago