From a5b72fef424dde907e6faf219142a884164aa6a8 Mon Sep 17 00:00:00 2001 From: heinrich5991 Date: Sun, 19 Nov 2023 14:59:14 +0100 Subject: [PATCH] Allow antibot to kick people --- src/antibot/antibot_data.h | 3 ++- src/engine/server/antibot.cpp | 6 ++++++ src/engine/server/antibot.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/antibot/antibot_data.h b/src/antibot/antibot_data.h index 15493bd1f..ea244aa19 100644 --- a/src/antibot/antibot_data.h +++ b/src/antibot/antibot_data.h @@ -6,7 +6,7 @@ enum { - ANTIBOT_ABI_VERSION = 8, + ANTIBOT_ABI_VERSION = 9, ANTIBOT_MSGFLAG_NONVITAL = 1, ANTIBOT_MSGFLAG_FLUSH = 2, @@ -88,6 +88,7 @@ struct CAntibotData int64_t m_Now; int64_t m_Freq; + void (*m_pfnKick)(int ClientID, const char *pMessage, void *pUser); void (*m_pfnLog)(const char *pMessage, void *pUser); void (*m_pfnReport)(int ClientID, const char *pMessage, void *pUser); void (*m_pfnSend)(int ClientID, const void *pData, int DataSize, int Flags, void *pUser); diff --git a/src/engine/server/antibot.cpp b/src/engine/server/antibot.cpp index ead44840a..238e8420f 100644 --- a/src/engine/server/antibot.cpp +++ b/src/engine/server/antibot.cpp @@ -23,6 +23,11 @@ CAntibot::~CAntibot() if(m_Initialized) AntibotDestroy(); } +void CAntibot::Kick(int ClientID, const char *pMessage, void *pUser) +{ + CAntibot *pAntibot = (CAntibot *)pUser; + pAntibot->Server()->Kick(ClientID, pMessage); +} void CAntibot::Log(const char *pMessage, void *pUser) { CAntibot *pAntibot = (CAntibot *)pUser; @@ -67,6 +72,7 @@ void CAntibot::Init() m_Data.m_Now = time_get(); m_Data.m_Freq = time_freq(); + m_Data.m_pfnKick = Kick; m_Data.m_pfnLog = Log; m_Data.m_pfnReport = Report; m_Data.m_pfnSend = Send; diff --git a/src/engine/server/antibot.h b/src/engine/server/antibot.h index 245982eb4..00af4b0ae 100644 --- a/src/engine/server/antibot.h +++ b/src/engine/server/antibot.h @@ -19,6 +19,7 @@ class CAntibot : public IEngineAntibot bool m_Initialized; void Update(); + static void Kick(int ClientID, const char *pMessage, void *pUser); static void Log(const char *pMessage, void *pUser); static void Report(int ClientID, const char *pMessage, void *pUser); static void Send(int ClientID, const void *pData, int Size, int Flags, void *pUser);