]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/command/banning.qc
Merge branch 'master' into Mario/target_teleporter_v2
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / command / banning.qc
index add929004c0cece3df6467b8f2ec64e931acbea8..da495f7962f89210697c4dead7802da99df03d78 100644 (file)
@@ -1,13 +1,17 @@
-#include "../../common/command/command.qh"
 #include "banning.qh"
-#include "../_all.qh"
+
+#include <server/defs.qh>
+#include <server/miscfunctions.qh>
+#include <common/state.qh>
+#include <common/command/_mod.qh>
+#include "banning.qh"
 
 #include "common.qh"
 
-#include "../cl_player.qh"
+#include "../player.qh"
 #include "../ipban.qh"
 
-#include "../../common/util.qh"
+#include <common/util.qh>
 
 // =====================================================
 //  Banning and kicking command code, written by Samual
 
 void BanCommand_ban(float request, float argc, string command)
 {
-       switch(request)
+       switch (request)
        {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc >= 2)
+                       if (argc >= 2)
                        {
                                string ip = argv(1);
                                float reason_arg, bantime;
@@ -37,14 +41,14 @@ void BanCommand_ban(float request, float argc, string command)
                }
 
                default:
-                       LOG_INFO("Incorrect parameters for ^2ban^7\n");
+                       LOG_INFO("Incorrect parameters for ^2ban^7");
                case CMD_REQUEST_USAGE:
                {
-                       LOG_INFO("\nUsage:^3 sv_cmd ban address [bantime] [reason]\n");
-                       LOG_INFO("  'address' is the IP address or range of the player to ban,\n");
-                       LOG_INFO("  'bantime' is the amount of time that the ban is active (default if not provided),\n");
-                       LOG_INFO("  and 'reason' is the string to label the ban with as reason for banning.\n");
-                       LOG_INFO("See also: ^2banlist, kickban, unban^7\n");
+                       LOG_INFO("Usage:^3 sv_cmd ban address [bantime] [reason]");
+                       LOG_INFO("  'address' is the IP address or range of the player to ban,");
+                       LOG_INFO("  'bantime' is the amount of time that the ban is active (default if not provided),");
+                       LOG_INFO("  and 'reason' is the string to label the ban with as reason for banning.");
+                       LOG_INFO("See also: ^2banlist, kickban, unban^7");
                        return;
                }
        }
@@ -52,7 +56,7 @@ void BanCommand_ban(float request, float argc, string command)
 
 void BanCommand_banlist(float request)
 {
-       switch(request)
+       switch (request)
        {
                case CMD_REQUEST_COMMAND:
                {
@@ -63,9 +67,9 @@ void BanCommand_banlist(float request)
                default:
                case CMD_REQUEST_USAGE:
                {
-                       LOG_INFO("\nUsage:^3 sv_cmd banlist\n");
-                       LOG_INFO("  No arguments required.\n");
-                       LOG_INFO("See also: ^2ban, kickban, unban^7\n");
+                       LOG_INFO("Usage:^3 sv_cmd banlist");
+                       LOG_INFO("  No arguments required.");
+                       LOG_INFO("See also: ^2ban, kickban, unban^7");
                        return;
                }
        }
@@ -73,18 +77,18 @@ void BanCommand_banlist(float request)
 
 void BanCommand_kickban(float request, float argc, string command)
 {
-       switch(request)
+       switch (request)
        {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc >= 2)
+                       if (argc >= 2)
                        {
                                entity client = GetIndexedEntity(argc, 1);
                                float accepted = VerifyKickableEntity(client);
                                float reason_arg, bantime, masksize;
                                string reason;
 
-                               if(accepted > 0)
+                               if (accepted > 0)
                                {
                                        reason_arg = next_token;
 
@@ -98,56 +102,56 @@ void BanCommand_kickban(float request, float argc, string command)
                                }
                                else
                                {
-                                       LOG_INFO("kickban: ", GetClientErrorString(accepted, argv(1)), ".\n");
+                                       LOG_INFO("kickban: ", GetClientErrorString(accepted, argv(1)), ".");
                                }
                        }
                }
 
                default:
-                       LOG_INFO("Incorrect parameters for ^2kickban^7\n");
+                       LOG_INFO("Incorrect parameters for ^2kickban^7");
                case CMD_REQUEST_USAGE:
                {
-                       LOG_INFO("\nUsage:^3 sv_cmd kickban client [bantime] [masksize] [reason]\n");
-                       LOG_INFO("  'client' is the entity number or name of the player to ban,\n");
-                       LOG_INFO("  'bantime' is the amount of time that the ban is active (default if not provided),\n");
-                       LOG_INFO("  'masksize' is the range of the IP address (1-thru-4, default if not provided),\n");
-                       LOG_INFO("  and 'reason' is the string to label the ban with as reason for banning.\n");
-                       LOG_INFO("See also: ^2ban, banlist, unban^7\n");
+                       LOG_INFO("Usage:^3 sv_cmd kickban client [bantime] [masksize] [reason]");
+                       LOG_INFO("  'client' is the entity number or name of the player to ban,");
+                       LOG_INFO("  'bantime' is the amount of time that the ban is active (default if not provided),");
+                       LOG_INFO("  'masksize' is the range of the IP address (1-thru-4, default if not provided),");
+                       LOG_INFO("  and 'reason' is the string to label the ban with as reason for banning.");
+                       LOG_INFO("See also: ^2ban, banlist, unban^7");
                        return;
                }
        }
 }
 
-void BanCommand_mute(float request, float argc, string command) // TODO: Add a sort of mute-"ban" which allows players to be muted based on IP/cryptokey
+void BanCommand_mute(float request, float argc, string command)  // TODO: Add a sort of mute-"ban" which allows players to be muted based on IP/cryptokey
 {
-       switch(request)
+       switch (request)
        {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc >= 2)
+                       if (argc >= 2)
                        {
                                entity client = GetFilteredEntity(argv(1));
                                float accepted = VerifyClientEntity(client, true, false);
 
-                               if(accepted > 0)
+                               if (accepted > 0)
                                {
-                                       client.muted = true;
+                                       CS(client).muted = true;
                                        return;
                                }
                                else
                                {
-                                       LOG_INFO("mute: ", GetClientErrorString(accepted, argv(1)), ".\n");
+                                       LOG_INFO("mute: ", GetClientErrorString(accepted, argv(1)), ".");
                                }
                        }
                }
 
                default:
-                       LOG_INFO("Incorrect parameters for ^2mute^7\n");
+                       LOG_INFO("Incorrect parameters for ^2mute^7");
                case CMD_REQUEST_USAGE:
                {
-                       LOG_INFO("\nUsage:^3 sv_cmd mute client\n");
-                       LOG_INFO("  'client' is the entity number or name of the player to mute.\n");
-                       LOG_INFO("See also: ^2unmute^7\n");
+                       LOG_INFO("Usage:^3 sv_cmd mute client");
+                       LOG_INFO("  'client' is the entity number or name of the player to mute.");
+                       LOG_INFO("See also: ^2unmute^7");
                        return;
                }
        }
@@ -155,39 +159,32 @@ void BanCommand_mute(float request, float argc, string command) // TODO: Add a s
 
 void BanCommand_unban(float request, float argc)
 {
-       switch(request)
+       switch (request)
        {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argv(1))
+                       if (argv(1))
                        {
                                float tmp_number = -1;
                                string tmp_string;
 
-                               if(substring(argv(1), 0, 1) == "#")
+                               if (substring(argv(1), 0, 1) == "#")
                                {
                                        tmp_string = substring(argv(1), 1, -1);
 
-                                       if(tmp_string != "") // is it all one token? like #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
-                                       {
+                                       else if (argc > 2)    // no, it's two tokens? # 1
                                                tmp_number = stof(argv(2));
-                                       }
-                                       else
-                                               tmp_number = -1;
+                                       else tmp_number = -1;
                                }
-                               else // maybe it's ONLY a number?
+                               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) && (argv(1) != "0")) tmp_number = -1; }
 
-                               if(tmp_number >= 0)
+                               if (tmp_number >= 0)
                                {
                                        Ban_Delete(tmp_number);
                                        return;
@@ -198,9 +195,9 @@ void BanCommand_unban(float request, float argc)
                default:
                case CMD_REQUEST_USAGE:
                {
-                       LOG_INFO("\nUsage:^3 sv_cmd unban banid\n");
-                       LOG_INFO("  Where 'banid' is the ID of the ban of which to remove.\n");
-                       LOG_INFO("See also: ^2ban, banlist, kickban^7\n");
+                       LOG_INFO("Usage:^3 sv_cmd unban banid");
+                       LOG_INFO("  Where 'banid' is the ID of the ban of which to remove.");
+                       LOG_INFO("See also: ^2ban, banlist, kickban^7");
                        return;
                }
        }
@@ -208,34 +205,34 @@ void BanCommand_unban(float request, float argc)
 
 void BanCommand_unmute(float request, float argc)
 {
-       switch(request)
+       switch (request)
        {
                case CMD_REQUEST_COMMAND:
                {
-                       if(argc >= 2)
+                       if (argc >= 2)
                        {
                                entity client = GetFilteredEntity(argv(1));
                                float accepted = VerifyClientEntity(client, true, false);
 
-                               if(accepted > 0)
+                               if (accepted > 0)
                                {
-                                       client.muted = false;
+                                       CS(client).muted = false;
                                        return;
                                }
                                else
                                {
-                                       LOG_INFO("unmute: ", GetClientErrorString(accepted, argv(1)), ".\n");
+                                       LOG_INFO("unmute: ", GetClientErrorString(accepted, argv(1)), ".");
                                }
                        }
                }
 
                default:
-                       LOG_INFO("Incorrect parameters for ^2mute^7\n");
+                       LOG_INFO("Incorrect parameters for ^2mute^7");
                case CMD_REQUEST_USAGE:
                {
-                       LOG_INFO("\nUsage:^3 sv_cmd unmute client\n");
-                       LOG_INFO("  'client' is the entity number or name of the player to unmute.\n");
-                       LOG_INFO("See also: ^2mute^7\n");
+                       LOG_INFO("Usage:^3 sv_cmd unmute client");
+                       LOG_INFO("  'client' is the entity number or name of the player to unmute.");
+                       LOG_INFO("See also: ^2mute^7");
                        return;
                }
        }
@@ -245,22 +242,22 @@ void BanCommand_unmute(float request, float argc)
 ** ADD ALL NEW COMMANDS TO commands.cfg WITH PROPER ALIASES IN THE SAME FASHION!
 void BanCommand_(float request)
 {
-       switch(request)
-       {
-               case CMD_REQUEST_COMMAND:
-               {
-
-                       return;
-               }
-
-               default:
-               case CMD_REQUEST_USAGE:
-               {
-                       print("\nUsage:^3 sv_cmd \n");
-                       print("  No arguments required.\n");
-                       return;
-               }
-       }
+    switch(request)
+    {
+        case CMD_REQUEST_COMMAND:
+        {
+
+            return;
+        }
+
+        default:
+        case CMD_REQUEST_USAGE:
+        {
+            print("\nUsage:^3 sv_cmd \n");
+            print("  No arguments required.\n");
+            return;
+        }
+    }
 }
 */
 
@@ -270,7 +267,7 @@ void BanCommand_(float request)
 // ==================================
 
 // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;)
-#define BAN_COMMANDS(request,arguments,command) \
+#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("kickban", BanCommand_kickban(request, arguments, command), "Disconnect a client and ban it at the same time") \
@@ -281,46 +278,42 @@ void BanCommand_(float request)
 
 void BanCommand_macro_help()
 {
-       #define BAN_COMMAND(name,function,description) \
-               { if(strtolower(description) != "") { LOG_INFO("  ^2", name, "^7: ", description, "\n"); } }
+       #define BAN_COMMAND(name, function, description) \
+               { if (strtolower(description) != "") { LOG_INFO("  ^2", name, "^7: ", description); } }
 
        BAN_COMMANDS(0, 0, "");
-       #undef BAN_COMMAND
-
-       return;
+#undef BAN_COMMAND
 }
 
 float BanCommand_macro_command(float argc, string command)
 {
-       #define BAN_COMMAND(name,function,description) \
-               { if(name == strtolower(argv(0))) { function; return true; } }
+       #define BAN_COMMAND(name, function, description) \
+               { if (name == strtolower(argv(0))) { function; return true; } }
 
        BAN_COMMANDS(CMD_REQUEST_COMMAND, argc, command);
-       #undef BAN_COMMAND
+#undef BAN_COMMAND
 
        return false;
 }
 
 float BanCommand_macro_usage(float argc)
 {
-       #define BAN_COMMAND(name,function,description) \
-               { if(name == strtolower(argv(1))) { function; return true; } }
+       #define BAN_COMMAND(name, function, description) \
+               { if (name == strtolower(argv(1))) { function; return true; } }
 
        BAN_COMMANDS(CMD_REQUEST_USAGE, argc, "");
-       #undef BAN_COMMAND
+#undef BAN_COMMAND
 
        return false;
 }
 
 void BanCommand_macro_write_aliases(float fh)
 {
-       #define BAN_COMMAND(name,function,description) \
-               { if(strtolower(description) != "") { CMD_Write_Alias("qc_cmd_sv", name, description); } }
+       #define BAN_COMMAND(name, function, description) \
+               { if (strtolower(description) != "") { CMD_Write_Alias("qc_cmd_sv", name, description); } }
 
        BAN_COMMANDS(0, 0, "");
-       #undef BAN_COMMAND
-
-       return;
+#undef BAN_COMMAND
 }
 
 float BanCommand(string command)
@@ -332,10 +325,8 @@ float BanCommand(string command)
        // argv:   0    - 1      - 2     - 3
        // cmd     vote - master - login - password
 
-       if(BanCommand_macro_command(argc, command)) // continue as usual and scan for normal commands
-       {
-               return true; // handled by one of the above GenericCommand_* functions
-       }
+       if (BanCommand_macro_command(argc, command)) // continue as usual and scan for normal commands
+               return true;                             // handled by one of the above GenericCommand_* functions
 
        return false;
 }