diff --git a/TShockAPI/Configuration/TShockConfig.cs b/TShockAPI/Configuration/TShockConfig.cs index 83dd6e4e..4573c5bf 100644 --- a/TShockAPI/Configuration/TShockConfig.cs +++ b/TShockAPI/Configuration/TShockConfig.cs @@ -56,8 +56,8 @@ namespace TShockAPI.Configuration public bool IgnoreChestStacksOnLoad = false; /// Allows changing of the default world tile provider. - [Description("Allows changing of the default world tile provider.")] - public string WorldTileProvider = "default"; + [Description("Allows changing of the default world tile provider. By default, you can use 'default', 'heaptile' or 'constileation'. Alternative providers have different CPU and memory usage characteristics.")] + public string WorldTileProvider = "constileation"; #endregion @@ -70,7 +70,7 @@ namespace TShockAPI.Configuration /// Enable or disable world save announcements. [Description("Enable or disable world save announcements.")] - public bool AnnounceSave = true; + public bool AnnounceSave = false; /// Whether or not to show backup auto save messages. [Description("Whether or not to show backup auto save messages.")] @@ -119,7 +119,7 @@ namespace TShockAPI.Configuration /// Prevents tiles from being placed within SpawnProtectionRadius of the default spawn. [Description("Prevents tiles from being placed within SpawnProtectionRadius of the default spawn.")] - public bool SpawnProtection = true; + public bool SpawnProtection = false; /// The tile radius around the spawn tile that is protected by the SpawnProtection setting. [Description("The tile radius around the spawn tile that is protected by the SpawnProtection setting.")] @@ -127,7 +127,7 @@ namespace TShockAPI.Configuration /// Enable or disable anti-cheat range checks based on distance between the player and their block placements. [Description("Enable or disable anti-cheat range checks based on distance between the player and their block placements.")] - public bool RangeChecks = true; + public bool RangeChecks; /// Prevents non-hardcore players from connecting. [Description("Prevents non-hardcore players from connecting.")] @@ -163,7 +163,7 @@ namespace TShockAPI.Configuration /// Disables tombstone dropping during death for all players. [Description("Disables tombstone dropping during death for all players.")] - public bool DisableTombstones = true; + public bool DisableTombstones; /// /// Disables Skeletron Prime Bombs from spawning, useful for preventing unwanted world destruction on for the worthy seed world. @@ -201,11 +201,11 @@ namespace TShockAPI.Configuration /// Allows players to break temporary tiles (grass, pots, etc) where they cannot usually build. [Description("Allows players to break temporary tiles (grass, pots, etc) where they cannot usually build.")] - public bool AllowCutTilesAndBreakables = false; + public bool AllowCutTilesAndBreakables; /// Allows ice placement even where a user cannot usually build. [Description("Allows ice placement even where a user cannot usually build.")] - public bool AllowIce = false; + public bool AllowIce; /// Allows the crimson to spread when a world is in hardmode. [Description("Allows the crimson to spread when a world is in hardmode.")] @@ -387,11 +387,11 @@ namespace TShockAPI.Configuration /// Kick clients that don't send their UUID to the server. [Description("Kick clients that don't send their UUID to the server.")] - public bool KickEmptyUUID; + public bool KickEmptyUUID = true; /// Disables a player if this number of tiles is painted within 1 second. [Description("Disables a player if this number of tiles is painted within 1 second.")] - public int TilePaintThreshold = 15; + public int TilePaintThreshold = 200; /// Whether or not to kick users when they surpass the TilePaint threshold. [Description("Whether or not to kick users when they surpass the TilePaint threshold.")] @@ -399,11 +399,11 @@ namespace TShockAPI.Configuration /// The maximum damage a player/NPC can inflict. [Description("The maximum damage a player/NPC can inflict.")] - public int MaxDamage = 1175; + public int MaxDamage = 20000; /// The maximum damage a projectile can inflict. [Description("The maximum damage a projectile can inflict.")] - public int MaxProjDamage = 1175; + public int MaxProjDamage = 20000; /// Whether or not to kick users when they surpass the MaxDamage threshold. [Description("Whether or not to kick users when they surpass the MaxDamage threshold.")] @@ -411,7 +411,7 @@ namespace TShockAPI.Configuration /// Disables a player and reverts their actions if this number of tile kills is exceeded within 1 second. [Description("Disables a player and reverts their actions if this number of tile kills is exceeded within 1 second.")] - public int TileKillThreshold = 60; + public int TileKillThreshold = 200; /// Whether or not to kick users when they surpass the TileKill threshold. [Description("Whether or not to kick users when they surpass the TileKill threshold.")] @@ -419,7 +419,7 @@ namespace TShockAPI.Configuration /// Disables a player and reverts their actions if this number of tile places is exceeded within 1 second. [Description("Disables a player and reverts their actions if this number of tile places is exceeded within 1 second.")] - public int TilePlaceThreshold = 32; + public int TilePlaceThreshold = 200; /// Whether or not to kick users when they surpass the TilePlace threshold. [Description("Whether or not to kick users when they surpass the TilePlace threshold.")] @@ -427,7 +427,7 @@ namespace TShockAPI.Configuration /// Disables a player if this number of liquid sets is exceeded within 1 second. [Description("Disables a player if this number of liquid sets is exceeded within 1 second.")] - public int TileLiquidThreshold = 50; + public int TileLiquidThreshold = 200; /// Whether or not to kick users when they surpass the TileLiquid threshold. [Description("Whether or not to kick users when they surpass the TileLiquid threshold.")] @@ -439,7 +439,7 @@ namespace TShockAPI.Configuration /// Disable a player if this number of projectiles is created within 1 second. [Description("Disable a player if this number of projectiles is created within 1 second.")] - public int ProjectileThreshold = 50; + public int ProjectileThreshold = 200; /// Whether or not to kick users when they surpass the Projectile threshold. [Description("Whether or not to kick users when they surpass the Projectile threshold.")] @@ -447,7 +447,7 @@ namespace TShockAPI.Configuration /// Disables a player if this number of HealOtherPlayer packets is sent within 1 second. [Description("Disables a player if this number of HealOtherPlayer packets is sent within 1 second.")] - public int HealOtherThreshold = 50; + public int HealOtherThreshold = 200; /// Whether or not to kick users when they surpass the HealOther threshold. [Description("Whether or not to kick users when they surpass the HealOther threshold.")] @@ -501,11 +501,11 @@ namespace TShockAPI.Configuration /// Whether or not to announce a player's geographic location on join, based on their IP. [Description("Whether or not to announce a player's geographic location on join, based on their IP.")] - public bool EnableGeoIP; + public bool EnableGeoIP = true; /// Displays a player's IP on join to users with the log permission. [Description("Displays a player's IP on join to users with the log permission.")] - public bool DisplayIPToAdmins; + public bool DisplayIPToAdmins = true; /// Changes in-game chat format: {0} = Group Name, {1} = Group Prefix, {2} = Player Name, {3} = Group Suffix, {4} = Chat Message. [Description("Changes in-game chat format: {0} = Group Name, {1} = Group Prefix, {2} = Player Name, {3} = Group Suffix, {4} = Chat Message.")] @@ -517,7 +517,7 @@ namespace TShockAPI.Configuration /// Whether or not to display chat messages above players' heads. [Description("Whether or not to display chat messages above players' heads.")] - public bool EnableChatAboveHeads = false; + public bool EnableChatAboveHeads = true; /// The RGB values used for the color of broadcast messages. [Description("The RGB values used for the color of broadcast messages.\n#.#.# = Red/Blue/Green\nMax value: 255")] diff --git a/TShockAPI/DB/BanManager.cs b/TShockAPI/DB/BanManager.cs index c56e3d0d..bd57bf8f 100644 --- a/TShockAPI/DB/BanManager.cs +++ b/TShockAPI/DB/BanManager.cs @@ -82,7 +82,7 @@ namespace TShockAPI.DB throw new Exception(GetString("Could not find a database library (probably Sqlite3.dll)")); } - EnsureBansCollection(); + UpdateBans(); TryConvertBans(); OnBanValidate += BanValidateCheck; @@ -90,14 +90,11 @@ namespace TShockAPI.DB } /// - /// Ensures the collection is ready to use. + /// Updates the collection from database. /// - private void EnsureBansCollection() + public void UpdateBans() { - if (_bans == null) - { - _bans = RetrieveAllBans().ToDictionary(b => b.TicketNumber); - } + _bans = RetrieveAllBans().ToDictionary(b => b.TicketNumber); } /// diff --git a/TShockAPI/DB/GroupManager.cs b/TShockAPI/DB/GroupManager.cs index 351399bf..7c8aac4c 100644 --- a/TShockAPI/DB/GroupManager.cs +++ b/TShockAPI/DB/GroupManager.cs @@ -93,6 +93,37 @@ namespace TShockAPI.DB Permissions.whisper, Permissions.wormhole)); + AddDefaultGroup("insecure-guest", "", + string.Join(",", + Permissions.canbuild, + Permissions.canregister, + Permissions.canlogin, + Permissions.canpartychat, + Permissions.cantalkinthird, + Permissions.canchat, + Permissions.synclocalarea, + Permissions.sendemoji, + Permissions.warp, + Permissions.summonboss, + Permissions.spawnpets, + Permissions.worldupgrades, + Permissions.startinvasion, + Permissions.whisper, + Permissions.wormhole, + Permissions.canpaint, + Permissions.pylon, + Permissions.whisper, + Permissions.wormhole, + Permissions.tppotion, + Permissions.magicconch, + Permissions.demonconch, + Permissions.movenpc, + Permissions.worldupgrades, + Permissions.rod, + Permissions.hurttownnpc, + Permissions.startdd2, + Permissions.spawnpets)); + AddDefaultGroup("newadmin", "vip", string.Join(",", Permissions.kick, diff --git a/TShockAPI/Utils.cs b/TShockAPI/Utils.cs index 613e7a8a..7a3cad6c 100644 --- a/TShockAPI/Utils.cs +++ b/TShockAPI/Utils.cs @@ -607,6 +607,7 @@ namespace TShockAPI TShock.ItemBans.DataModel.UpdateItemBans(); TShock.ProjectileBans.UpdateBans(); TShock.TileBans.UpdateBans(); + TShock.Bans.UpdateBans(); } /// diff --git a/TerrariaServerAPI b/TerrariaServerAPI index 29dc46f4..2b81ac74 160000 --- a/TerrariaServerAPI +++ b/TerrariaServerAPI @@ -1 +1 @@ -Subproject commit 29dc46f4e1c7b41f9e88e41187dd8d5b208e257a +Subproject commit 2b81ac74594d2ca56be9831d31c277201b003257 diff --git a/prebuilts/GeoIP.dat b/prebuilts/GeoIP.dat index 46551ba0..5314136b 100644 Binary files a/prebuilts/GeoIP.dat and b/prebuilts/GeoIP.dat differ