r5sdk/r5dev/engine/server/sv_main.cpp
2022-08-28 17:12:58 +02:00

30 lines
1.0 KiB
C++

#include "core/stdafx.h"
#include "tier0/threadtools.h"
#include "tier0/frametask.h"
#include "engine/server/sv_main.h"
#include "networksystem/pylon.h"
#include "networksystem/bansystem.h"
//-----------------------------------------------------------------------------
// Purpose: checks if particular client is banned on the comp server
//-----------------------------------------------------------------------------
void SV_IsClientBanned(CPylon* pPylon, const string& svIPAddr, const uint64_t nNucleusID)
{
string svError;
bool bCompBanned = pPylon->CheckForBan(svIPAddr, nNucleusID, svError);
if (bCompBanned)
{
DevMsg(eDLL_T::SERVER, "Connection rejected for '%s' ('%llu' is banned from the master server!)\n", svIPAddr.c_str(), nNucleusID);
if (!ThreadInMainThread())
{
g_TaskScheduler->Dispatch([svError, nNucleusID]
{
g_pBanSystem->AddConnectionRefuse(svError, nNucleusID); // Add to the vector.
}, 0);
}
}
}
///////////////////////////////////////////////////////////////////////////////