add command: `unban ip <ipv4-address>`
To remove a banned IPv4 address from the ban list.
This commit is contained in:
parent
2f2c1fd4f7
commit
2cd7abf0bd
|
@ -94,6 +94,20 @@ public static class BanLists {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static void UnbanIPv4(Client user) {
|
||||||
|
IPEndPoint? ipv4 = (IPEndPoint?) user.Socket?.RemoteEndPoint;
|
||||||
|
if (ipv4 != null) {
|
||||||
|
UnbanIPv4(ipv4.Address);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private static void UnbanIPv4(IPAddress ipv4) {
|
||||||
|
UnbanIPv4(ipv4.ToString());
|
||||||
|
}
|
||||||
|
private static void UnbanIPv4(string ipv4) {
|
||||||
|
IPs.Remove(ipv4);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static void Save() {
|
private static void Save() {
|
||||||
Settings.SaveSettings(true);
|
Settings.SaveSettings(true);
|
||||||
}
|
}
|
||||||
|
@ -185,4 +199,30 @@ public static class BanLists {
|
||||||
return "Banned ip: " + args[0];
|
return "Banned ip: " + args[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static string HandleUnbanCommand(string[] args) {
|
||||||
|
if (args.Length != 2) {
|
||||||
|
return "Usage: unban ip <ipv4-address>";
|
||||||
|
}
|
||||||
|
|
||||||
|
string cmd = args[0];
|
||||||
|
string val = args[1];
|
||||||
|
|
||||||
|
switch (cmd) {
|
||||||
|
default:
|
||||||
|
return "Usage: unban ip <ipv4-address>";
|
||||||
|
|
||||||
|
case "ip":
|
||||||
|
if (!IsIPv4(val)) {
|
||||||
|
return "Invalid IPv4 address!";
|
||||||
|
}
|
||||||
|
if (!IsIPv4Banned(val)) {
|
||||||
|
return "IP " + val + " is not banned.";
|
||||||
|
}
|
||||||
|
UnbanIPv4(val);
|
||||||
|
Save();
|
||||||
|
return "Unbanned ip: " + val;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -313,7 +313,8 @@ CommandHandler.RegisterCommand("crash", args => {
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
});
|
});
|
||||||
|
|
||||||
CommandHandler.RegisterCommand("ban", args => { return BanLists.HandleBanCommand(args, (args) => MultiUserCommandHelper(args)); });
|
CommandHandler.RegisterCommand("ban", args => { return BanLists.HandleBanCommand(args, (args) => MultiUserCommandHelper(args)); });
|
||||||
|
CommandHandler.RegisterCommand("unban", args => { return BanLists.HandleUnbanCommand(args); });
|
||||||
|
|
||||||
CommandHandler.RegisterCommand("send", args => {
|
CommandHandler.RegisterCommand("send", args => {
|
||||||
const string optionUsage = "Usage: send <stage> <id> <scenario[-1..127]> <player/*>";
|
const string optionUsage = "Usage: send <stage> <id> <scenario[-1..127]> <player/*>";
|
||||||
|
|
Loading…
Reference in New Issue