X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcommand%2Fbanning.qc;h=eebadfa73b2d48ed5f3ad6573ae0390d72a228b6;hb=1633673cc6c65bdca0120f2a4fc33e8c2449f06d;hp=2fbdd27a050ffbbb6eeec2287ae19cf11b89d3fe;hpb=03909954b4ee287a38a122291fb8a6166b834a72;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/command/banning.qc b/qcsrc/server/command/banning.qc index 2fbdd27a0..eebadfa73 100644 --- a/qcsrc/server/command/banning.qc +++ b/qcsrc/server/command/banning.qc @@ -112,11 +112,40 @@ void BanCommand_unban(float request, float argc) switch(request) { case CMD_REQUEST_COMMAND: - { + { if(argv(1)) { - Ban_Delete(stof(argv(1))); - return; + float tmp_number = -1; + string tmp_string; + + if(substring(argv(1), 0, 1) == "#") + { + tmp_string = substring(argv(1), 1, -1); + + if(tmp_string != "") // is it all one token? like #1 + { + tmp_number = stof(tmp_string); + } + else if(argc > 2) // no, it's two tokens? # 1 + { + tmp_number = stof(argv(2)); + } + else + tmp_number = -1; + } + else // maybe it's ONLY a number? + { + tmp_number = stof(argv(1)); + + if((tmp_number == 0) && (argv(1) != "0")) + { tmp_number = -1; } + } + + if(tmp_number >= 0) + { + Ban_Delete(tmp_number); + return; + } } } @@ -160,9 +189,11 @@ void BanCommand_(float request) // ================================== // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;) +// but for 0.5 compat, we need "bans" here as it was replaced... REMOVE IT AFTER 0.6 RELEASE!!!! #define BAN_COMMANDS(request,arguments,command) \ BAN_COMMAND("ban", BanCommand_ban(request, arguments, command), "Ban an IP address or a range of addresses (like 1.2.3)") \ BAN_COMMAND("banlist", BanCommand_banlist(request), "List all existing bans") \ + BAN_COMMAND("bans", BanCommand_banlist(request), "") \ BAN_COMMAND("kickban", BanCommand_kickban(request, arguments, command), "Disconnect a client and ban it at the same time") \ BAN_COMMAND("unban", BanCommand_unban(request, arguments), "Remove an existing ban") \ /* nothing */ @@ -170,7 +201,7 @@ void BanCommand_(float request) void BanCommand_macro_help() { #define BAN_COMMAND(name,function,description) \ - { print(" ^2", name, "^7: ", description, "\n"); } + { if(strtolower(description) != "") { print(" ^2", name, "^7: ", description, "\n"); } } BAN_COMMANDS(0, 0, "") #undef BAN_COMMAND @@ -203,7 +234,7 @@ float BanCommand_macro_usage(float argc) void BanCommand_macro_write_aliases(float fh) { #define BAN_COMMAND(name,function,description) \ - { CMD_Write_Alias("qc_cmd_sv", name, description); } + { if(strtolower(description) != "") { CMD_Write_Alias("qc_cmd_sv", name, description); } } BAN_COMMANDS(0, 0, "") #undef BAN_COMMAND @@ -226,4 +257,4 @@ float BanCommand(string command) } return FALSE; -} \ No newline at end of file +}