mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 10:08:18 +00:00
Merge remote branch 'upstream/master' into experimental
This commit is contained in:
commit
fee651735f
|
@ -76,7 +76,7 @@ function NewConfig(on_configured_callback)
|
|||
local options_table = {}
|
||||
|
||||
if not options_func then
|
||||
print("auto configuration", options_func)
|
||||
print("auto configuration")
|
||||
self:Config(filename)
|
||||
options_func = loadfile(filename)
|
||||
end
|
||||
|
|
|
@ -49,6 +49,8 @@ public:
|
|||
virtual void *SnapNewItem(int Type, int Id, int Size) = 0;
|
||||
|
||||
virtual void SnapSetStaticsize(int ItemType, int Size) = 0;
|
||||
|
||||
virtual bool IsAuthed(int ClientID) = 0;
|
||||
};
|
||||
|
||||
class IGameServer : public IInterface
|
||||
|
|
|
@ -293,6 +293,13 @@ int CServer::Init()
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool CServer::IsAuthed(int ClientID)
|
||||
{
|
||||
if(m_aClients[ClientID].m_Authed)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
int CServer::GetClientInfo(int ClientID, CClientInfo *pInfo)
|
||||
{
|
||||
dbg_assert(ClientID >= 0 && ClientID < MAX_CLIENTS, "client_id is not valid");
|
||||
|
|
|
@ -138,6 +138,7 @@ public:
|
|||
|
||||
int Init();
|
||||
|
||||
bool IsAuthed(int ClientID);
|
||||
int GetClientInfo(int ClientID, CClientInfo *pInfo);
|
||||
void GetClientIP(int ClientID, char *pIPString, int Size);
|
||||
const char *ClientName(int ClientId);
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in a new issue