diff options
| -rw-r--r-- | src/engine/server.h | 2 | ||||
| -rw-r--r-- | src/engine/server/server.cpp | 5 | ||||
| -rw-r--r-- | src/game/server/gamecontext.cpp | 5 | ||||
| -rw-r--r-- | src/game/server/gamecontext.h | 1 |
4 files changed, 11 insertions, 2 deletions
diff --git a/src/engine/server.h b/src/engine/server.h index ef7f34bd..9ff700f4 100644 --- a/src/engine/server.h +++ b/src/engine/server.h @@ -102,6 +102,8 @@ public: virtual const char *GameType() = 0; virtual const char *Version() = 0; virtual const char *NetVersion() = 0; + + virtual bool IsClientAimBot(int ClientID) = 0; }; extern IGameServer *CreateGameServer(); diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index c283af20..2d6a16da 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -1667,8 +1667,9 @@ void CServer::ConStatus(IConsole::IResult *pResult, void *pUser) { const char *pAuthStr = pThis->m_aClients[i].m_Authed == CServer::AUTHED_ADMIN ? "(Admin)" : pThis->m_aClients[i].m_Authed == CServer::AUTHED_MOD ? "(Mod)" : ""; - str_format(aBuf, sizeof(aBuf), "id=%d addr=%s name='%s' score=%d %s", i, aAddrStr, - pThis->m_aClients[i].m_aName, pThis->m_aClients[i].m_Score, pAuthStr); + const char *pAimBotStr = pThis->GameServer()->IsClientAimBot(i) ? "[aimbot]" : ""; + str_format(aBuf, sizeof(aBuf), "id=%d addr=%s name='%s' score=%d %s %s", i, aAddrStr, + pThis->m_aClients[i].m_aName, pThis->m_aClients[i].m_Score, pAuthStr, pAimBotStr); } else str_format(aBuf, sizeof(aBuf), "id=%d addr=%s connecting", i, aAddrStr); diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index 307d446a..4dab670e 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -1940,6 +1940,11 @@ bool CGameContext::IsClientPlayer(int ClientID) return m_apPlayers[ClientID] && m_apPlayers[ClientID]->GetTeam() == TEAM_SPECTATORS ? false : true; } +bool CGameContext::IsClientAimBot(int ClientID) +{ + return m_apPlayers[ClientID] && m_apPlayers[ClientID]->m_IsAimBot; +} + const char *CGameContext::GameType() { return m_pController && m_pController->m_pGameType ? m_pController->m_pGameType : ""; } const char *CGameContext::Version() { return GAME_VERSION; } const char *CGameContext::NetVersion() { return GAME_NETVERSION; } diff --git a/src/game/server/gamecontext.h b/src/game/server/gamecontext.h index eb73e019..987e1c71 100644 --- a/src/game/server/gamecontext.h +++ b/src/game/server/gamecontext.h @@ -202,6 +202,7 @@ public: BOT_DETECTION_FAST_AIM=1, BOT_DETECTION_FOLLOW=2, }; + virtual bool IsClientAimBot(int ClientID); }; inline int CmaskAll() { return -1; } |