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