about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/engine/server.h2
-rw-r--r--src/engine/server/server.h2
-rw-r--r--src/game/server/gamecontext.cpp4
3 files changed, 6 insertions, 2 deletions
diff --git a/src/engine/server.h b/src/engine/server.h
index 7896f911..ef7f34bd 100644
--- a/src/engine/server.h
+++ b/src/engine/server.h
@@ -70,6 +70,8 @@ public:
 	virtual bool DemoRecorder_IsRecording() = 0;
 	//zCatch
 	virtual void MapReload() = 0;
+	
+	virtual int GetNumLoggedInAdmins() = 0;
 };
 
 class IGameServer : public IInterface
diff --git a/src/engine/server/server.h b/src/engine/server/server.h
index 02106004..c0216242 100644
--- a/src/engine/server/server.h
+++ b/src/engine/server/server.h
@@ -278,6 +278,8 @@ public:
 	static void ConVoteban(IConsole::IResult *pResult, void *pUser);
 	static void ConUnvoteban(IConsole::IResult *pResult, void *pUser);
 	static void ConVotebans(IConsole::IResult *pResult, void *pUser);
+	
+	virtual int GetNumLoggedInAdmins() { return m_numLoggedInAdmins; }
 };
 
 #endif
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp
index 2c34af8c..ee906059 100644
--- a/src/game/server/gamecontext.cpp
+++ b/src/game/server/gamecontext.cpp
@@ -529,8 +529,8 @@ void CGameContext::OnTick()
 
 	// bot detection
 	// it is based on the behaviour of some bots to shoot at a player's _exact_ position
-	// check each player
-	if(g_Config.m_SvBotDetection)
+	// check each player, check only if an admin is online
+	if(g_Config.m_SvBotDetection && Server()->GetNumLoggedInAdmins())
 	{
 		char aBuf[128];
 		const CCharacter::LastPosition *pos, *posVictim;