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