From 2a3e13d27af16ab2efc26e278279367b9d551b55 Mon Sep 17 00:00:00 2001 From: Leigh MacDonald Date: Sat, 18 Nov 2023 05:04:14 -0700 Subject: [PATCH 1/2] Disable autoteam command --- sourcemod/scripting/gbans.sp | 3 +++ sourcemod/scripting/gbans/balance.sp | 12 ++++++++++++ sourcemod/scripting/gbans/globals.sp | 3 +++ 3 files changed, 18 insertions(+) create mode 100644 sourcemod/scripting/gbans/balance.sp diff --git a/sourcemod/scripting/gbans.sp b/sourcemod/scripting/gbans.sp index 1d55044e6..7bc6a396a 100644 --- a/sourcemod/scripting/gbans.sp +++ b/sourcemod/scripting/gbans.sp @@ -12,6 +12,7 @@ #include // system2 extension #include "gbans/auth.sp" +#include "gbans/balance.sp" #include "gbans/ban.sp" #include "gbans/commands.sp" #include "gbans/common.sp" @@ -55,6 +56,7 @@ public void onPluginStartCore() gServerKey = CreateConVar("gb_core_server_key", "", "GBans server key used to authenticate with the service"); gHideConnections = CreateConVar("gb_hide_connections", "1", "Dont show the disconnect message to users", _, true, 0.0, true, 1.0); + gDisableAutoTeam = CreateConVar("gb_disable_autoteam", "1", "Dont allow the use of autoteam command", _, true, 0.0, true, 1.0); AutoExecConfig(true, "gbans"); @@ -63,6 +65,7 @@ public void onPluginStartCore() RegConsoleCmd("gb_mod", onCmdMod, "Ping a moderator"); RegConsoleCmd("mod", onCmdMod, "Ping a moderator"); RegConsoleCmd("report", onCmdReport, "Report a player"); + RegConsoleCmd("autoteam", onCmdAutoTeamAction, "Disabled"); RegAdminCmd("gb_ban", onAdminCmdBan, ADMFLAG_BAN); RegAdminCmd("gb_reauth", onAdminCmdReauth, ADMFLAG_ROOT); diff --git a/sourcemod/scripting/gbans/balance.sp b/sourcemod/scripting/gbans/balance.sp new file mode 100644 index 000000000..bcbdaef2d --- /dev/null +++ b/sourcemod/scripting/gbans/balance.sp @@ -0,0 +1,12 @@ +#pragma semicolon 1 +#pragma tabsize 4 +#pragma newdecls required + +public Action onCmdAutoTeamAction(int clientId, int argc) +{ + if (gDisableAutoTeam.BoolValue) { + return Plugin_Handled; + } + + return Plugin_Continue; +} \ No newline at end of file diff --git a/sourcemod/scripting/gbans/globals.sp b/sourcemod/scripting/gbans/globals.sp index 11d3a9553..627ef4285 100644 --- a/sourcemod/scripting/gbans/globals.sp +++ b/sourcemod/scripting/gbans/globals.sp @@ -40,6 +40,9 @@ ConVar gHost = null; ConVar gServerName = null; ConVar gServerKey = null; +// Balancing options +ConVar gDisableAutoTeam = null; + // STV options ConVar gTvEnabled = null; ConVar gAutoRecord = null; From 89a7e5742c185b17545d50d1fb646552a8a127f4 Mon Sep 17 00:00:00 2001 From: Leigh MacDonald Date: Tue, 21 Nov 2023 05:48:00 -0700 Subject: [PATCH 2/2] Add log for autoteam --- sourcemod/scripting/gbans.sp | 2 +- sourcemod/scripting/gbans/balance.sp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sourcemod/scripting/gbans.sp b/sourcemod/scripting/gbans.sp index 7bc6a396a..c6e545ddd 100644 --- a/sourcemod/scripting/gbans.sp +++ b/sourcemod/scripting/gbans.sp @@ -65,7 +65,7 @@ public void onPluginStartCore() RegConsoleCmd("gb_mod", onCmdMod, "Ping a moderator"); RegConsoleCmd("mod", onCmdMod, "Ping a moderator"); RegConsoleCmd("report", onCmdReport, "Report a player"); - RegConsoleCmd("autoteam", onCmdAutoTeamAction, "Disabled"); + RegConsoleCmd("autoteam", onCmdAutoTeamAction); RegAdminCmd("gb_ban", onAdminCmdBan, ADMFLAG_BAN); RegAdminCmd("gb_reauth", onAdminCmdReauth, ADMFLAG_ROOT); diff --git a/sourcemod/scripting/gbans/balance.sp b/sourcemod/scripting/gbans/balance.sp index bcbdaef2d..30b79e8e6 100644 --- a/sourcemod/scripting/gbans/balance.sp +++ b/sourcemod/scripting/gbans/balance.sp @@ -5,6 +5,23 @@ public Action onCmdAutoTeamAction(int clientId, int argc) { if (gDisableAutoTeam.BoolValue) { + KickClient(clientId, "Please stop trying to stack :("); + + char auth_id[50]; + if(!GetClientAuthId(clientId, AuthId_Steam3, auth_id, sizeof auth_id, true)) + { + ReplyToCommand(clientId, "Failed to get auth_id of user: %d", clientId); + return Plugin_Continue; + } + + char name[64]; + if(!GetClientName(clientId, name, sizeof name)) + { + gbLog("Failed to get user name?"); + return Plugin_Continue; + } + + gbLog("Autoteam blocked: %s [%s]", name, auth_id); return Plugin_Handled; }