about summary refs log tree commit diff
path: root/src/engine/server/server.h
diff options
context:
space:
mode:
authorMarius "Teelevision" Neugebauer <marius@teele.eu>2014-03-27 21:25:55 +0100
committerMarius "Teelevision" Neugebauer <marius@teele.eu>2014-03-27 21:25:55 +0100
commit450c42145d0b04b3a40e8c2b397ddb98b35e5daa (patch)
treecf53aa4f989dbec9e0692c87e99fb5da30701d29 /src/engine/server/server.h
parente40e6f38bc3d9ed488b7baa3d6588ff5d0e8076c (diff)
downloadzcatch-450c42145d0b04b3a40e8c2b397ddb98b35e5daa.tar.gz
zcatch-450c42145d0b04b3a40e8c2b397ddb98b35e5daa.zip
fixed and improved votebans
Diffstat (limited to 'src/engine/server/server.h')
-rw-r--r--src/engine/server/server.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/engine/server/server.h b/src/engine/server/server.h
index 0d14d53e..3fb3bfb3 100644
--- a/src/engine/server/server.h
+++ b/src/engine/server/server.h
@@ -170,6 +170,7 @@ public:
 	CMapChecker m_MapChecker;
 
 	CServer();
+	~CServer();
 
 	int TrySetClientName(int ClientID, const char *pName);
 
@@ -251,6 +252,32 @@ public:
 	
 	//zCatch
 	virtual void MapReload();
+	
+	// voteban system
+	// struct CVotebanAddr
+	// {
+		// unsigned char ip[16];
+		// unsigned int type;
+	// };
+	struct CVoteban
+	{
+		// CVotebanAddr m_Addr;
+		NETADDR m_Addr;
+		int m_Expire;
+		CVoteban *m_Next;
+	};
+	CVoteban *m_Votebans;
+	int ClientVotebannedTime(int ClientID);
+	void AdjustVotebanTime(int offset);
+	void AddVotebanAddr(const NETADDR *addr, int expire);
+	void AddVoteban(int ClientID, int time);
+	void RemoveVoteban(int ClientID);
+	void RemoveVotebanAddr(const NETADDR *addr);
+	CVoteban **IsVotebannedAddr(const NETADDR *addr);
+	void CleanVotebans();
+	static void ConVoteban(IConsole::IResult *pResult, void *pUser);
+	static void ConUnvoteban(IConsole::IResult *pResult, void *pUser);
+	static void ConVotebans(IConsole::IResult *pResult, void *pUser);
 };
 
 #endif