summaryrefslogtreecommitdiff
path: root/sourcemod/scripting/gokz-global/ban_player.sp
diff options
context:
space:
mode:
Diffstat (limited to 'sourcemod/scripting/gokz-global/ban_player.sp')
-rw-r--r--sourcemod/scripting/gokz-global/ban_player.sp42
1 files changed, 42 insertions, 0 deletions
diff --git a/sourcemod/scripting/gokz-global/ban_player.sp b/sourcemod/scripting/gokz-global/ban_player.sp
new file mode 100644
index 0000000..835d9e5
--- /dev/null
+++ b/sourcemod/scripting/gokz-global/ban_player.sp
@@ -0,0 +1,42 @@
+/*
+ Globally ban players when they are suspected by gokz-anticheat.
+*/
+
+
+
+// =====[ PUBLIC ]=====
+
+void GlobalBanPlayer(int client, ACReason reason, const char[] notes, const char[] stats)
+{
+ char playerName[MAX_NAME_LENGTH], steamid[32], ip[32];
+
+ GetClientName(client, playerName, sizeof(playerName));
+ GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
+ GetClientIP(client, ip, sizeof(ip));
+
+ DataPack dp = new DataPack();
+ dp.WriteString(playerName);
+ dp.WriteString(steamid);
+
+ switch (reason)
+ {
+ case ACReason_BhopHack:GlobalAPI_CreateBan(BanPlayerCallback, dp, steamid, "bhop_hack", stats, notes, ip);
+ case ACReason_BhopMacro:GlobalAPI_CreateBan(BanPlayerCallback, dp, steamid, "bhop_macro", stats, notes, ip);
+ }
+}
+
+public int BanPlayerCallback(JSON_Object response, GlobalAPIRequestData request, DataPack dp)
+{
+ char playerName[MAX_NAME_LENGTH], steamid[32];
+
+ dp.Reset();
+ dp.ReadString(playerName, sizeof(playerName));
+ dp.ReadString(steamid, sizeof(steamid));
+ delete dp;
+
+ if (request.Failure)
+ {
+ LogError("Failed to globally ban %s (%s).", playerName, steamid);
+ }
+ return 0;
+}