From cf41004f742be688c1706a51f0867c2f2d8d2102 Mon Sep 17 00:00:00 2001 From: Amos Date: Sun, 13 Aug 2023 18:08:14 +0200 Subject: [PATCH] Cleanup 'CServerGameClients::ProcessUserCmds' Client gets dropped if buffer overflow flag is set, remove old code and just print the warning. --- r5dev/game/server/gameinterface.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/r5dev/game/server/gameinterface.cpp b/r5dev/game/server/gameinterface.cpp index 1273ef65..57a5bd41 100644 --- a/r5dev/game/server/gameinterface.cpp +++ b/r5dev/game/server/gameinterface.cpp @@ -15,6 +15,7 @@ #include "gameinterface.h" #include "entitylist.h" #include "baseanimating.h" +#include "engine/server/server.h" #include "game/shared/usercmd.h" #include "game/server/util_server.h" @@ -137,16 +138,11 @@ void CServerGameClients::ProcessUserCmds(CServerGameClients* thisp, edict_t edic if (totalCmds < 0 || totalCmds >= (MAX_BACKUP_COMMANDS_PROCESS - 1) || numCmds < 0 || numCmds > totalCmds) { - //const char* name = "unknown"; - //if (pPlayer) - //{ - // name = pPlayer->GetPlayerName(); - //} - - //Warning(eDLL_T::SERVER, "%s: too many cmds %i sent for player %s\n", __FUNCTION__, totalCmds, name); - // !TODO: Drop the client from here. + CClient* pClient = g_pServer->GetClient(edict-1); + Warning(eDLL_T::SERVER, "%s: Player '%s' sent too many cmds (%i)\n", __FUNCTION__, pClient->GetServerName(), totalCmds); buf->SetOverflowFlag(); + return; } @@ -158,7 +154,7 @@ void CServerGameClients::ProcessUserCmds(CServerGameClients* thisp, edict_t edic from = to; } - // Client not fully connected or server has gone inactive or is paused, just ignore + // Client not fully connected or server has gone inactive or is paused, just ignore if (ignore || !pPlayer) { return;