Enable kicking proxy users as identified by the MaxMind GeoIP database.
This commit is contained in:
parent
05bfd62388
commit
ed6aa9c07b
2 changed files with 6 additions and 0 deletions
|
|
@ -214,6 +214,9 @@ namespace TShockAPI
|
||||||
[Description("Disabling this prevents players from being banned or kicked based on item stacks.")]
|
[Description("Disabling this prevents players from being banned or kicked based on item stacks.")]
|
||||||
public bool EnableItemStackChecks = true;
|
public bool EnableItemStackChecks = true;
|
||||||
|
|
||||||
|
[Description("Kicks users using a proxy as identified with the GeoIP database")]
|
||||||
|
public bool KickProxyUsers = true;
|
||||||
|
|
||||||
public static ConfigFile Read(string path)
|
public static ConfigFile Read(string path)
|
||||||
{
|
{
|
||||||
if (!File.Exists(path))
|
if (!File.Exists(path))
|
||||||
|
|
|
||||||
|
|
@ -726,6 +726,9 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
var code = Geo.TryGetCountryCode(IPAddress.Parse(player.IP));
|
var code = Geo.TryGetCountryCode(IPAddress.Parse(player.IP));
|
||||||
player.Country = code == null ? "N/A" : MaxMind.GeoIPCountry.GetCountryNameByCode(code);
|
player.Country = code == null ? "N/A" : MaxMind.GeoIPCountry.GetCountryNameByCode(code);
|
||||||
|
if (code == "A1")
|
||||||
|
if (TShock.Config.KickProxyUsers)
|
||||||
|
TShock.Utils.Kick(player, "Proxies are not allowed");
|
||||||
Log.Info(string.Format("{0} ({1}) from '{2}' group from '{3}' joined.", player.Name, player.IP, player.Group.Name, player.Country));
|
Log.Info(string.Format("{0} ({1}) from '{2}' group from '{3}' joined.", player.Name, player.IP, player.Group.Name, player.Country));
|
||||||
TShock.Utils.Broadcast(player.Name + " is from the " + player.Country, Color.Yellow);
|
TShock.Utils.Broadcast(player.Name + " is from the " + player.Country, Color.Yellow);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue