diff options
| author | NoxNebula <patrick.kl@live.de> | 2010-06-02 10:42:17 +0800 |
|---|---|---|
| committer | SushiTee <weichel.sascha@gmail.com> | 2010-06-03 03:27:34 +0800 |
| commit | dd19074deba2df94592f454f4333fcbfe0f66893 (patch) | |
| tree | eb7801f51187be85b65dcecba18b5643df55f077 /src/game/server | |
| parent | 979f8d87651de60b88b885aac19ba235ce28c537 (diff) | |
| download | zcatch-dd19074deba2df94592f454f4333fcbfe0f66893.tar.gz zcatch-dd19074deba2df94592f454f4333fcbfe0f66893.zip | |
Admin-Kick-Protection
Add IsAuthed(int ClientID); function. Add kickprotection for admins (Remote Console logged in players) Add Anti-Self-Kick (minor)
Diffstat (limited to 'src/game/server')
| -rw-r--r-- | src/game/server/gamecontext.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index 795bb65f..c04dd945 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -647,6 +647,19 @@ void CGameContext::OnMessage(int MsgId, CUnpacker *pUnpacker, int ClientId) SendChatTarget(ClientId, "Invalid client id to kick"); return; } + if(KickId == ClientId) + { + SendChatTarget(ClientId, "You cant kick yourself"); + return; + } + if(Server()->IsAuthed(KickId)) + { + SendChatTarget(ClientId, "You cant kick admins"); + char aBufKick[128]; + str_format(aBufKick, sizeof(aBufKick), "%s called for vote to kick you", Server()->ClientName(ClientId)); + SendChatTarget(KickId, aBufKick); + return; + } str_format(aChatmsg, sizeof(aChatmsg), "%s called for vote to kick '%s'", Server()->ClientName(ClientId), Server()->ClientName(KickId)); str_format(aDesc, sizeof(aDesc), "Kick '%s'", Server()->ClientName(KickId)); |