diff --git a/TShockAPI/ConfigFile.cs b/TShockAPI/ConfigFile.cs index 00588364..deed631c 100644 --- a/TShockAPI/ConfigFile.cs +++ b/TShockAPI/ConfigFile.cs @@ -217,6 +217,12 @@ namespace TShockAPI [Description("Kicks users using a proxy as identified with the GeoIP database")] public bool KickProxyUsers = true; + [Description("Kicks banned users by their name")] + public bool EnableNameBans = false; + + [Description("Kicks banned users by their IP")] + public bool EnableIPBans = true; + public static ConfigFile Read(string path) { if (!File.Exists(path)) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 70e01184..befbb44b 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -516,7 +516,14 @@ namespace TShockAPI return; } - var ban = Bans.GetBanByIp(player.IP); + var ipban = Bans.GetBanByIp(player.IP); + var nameban = Bans.GetBanByName(player.Name); + Ban ban = null; + if (ipban != null && Config.EnableIPBans) + ban = ipban; + else if (nameban != null && Config.EnableIPBans) + ban = nameban; + if (ban != null) { TShock.Utils.ForceKick(player, string.Format("You are banned: {0}", ban.Reason));