From 34b779735e85c21769b8cb34f0947029116f1a2f Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Sat, 17 Sep 2022 20:29:14 +0200 Subject: [PATCH] Don't allow server to execute 'disconnect' on client Removed extraneous 'FCVAR_SERVER_CAN_EXECUTE' flag. We disconnect clients using 'CClient::Disconnect(..)', relying on the client is useless without an anti-cheat and anti-tamper. Client can still use this to disconnect on its own though. 'migrateme' seemed useless as well, removed 'FCVAR_SERVER_CAN_EXECUTE'. This makes all 'FCVAR_SERVER_CAN_EXECUTE' require 'FCVAR_DEVELOPMENTONLY' to be stripped, in order to execute without the '-devsdk' parameter (development launch arg), --- r5dev/engine/sys_dll2.cpp | 3 --- r5dev/tier1/cmd.cpp | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/r5dev/engine/sys_dll2.cpp b/r5dev/engine/sys_dll2.cpp index e1114e2e..9a2a5973 100644 --- a/r5dev/engine/sys_dll2.cpp +++ b/r5dev/engine/sys_dll2.cpp @@ -55,9 +55,6 @@ bool CEngineAPI::ModInit(CEngineAPI* pEngineAPI, const char* pModName, const cha g_pEngineClient->SetRestrictServerCommands(true); // Restrict server commands. g_pEngineClient->SetRestrictClientCommands(true); // Restrict client commands. #endif // !DEDICATED - - ConCommandBase* disconnect = g_pCVar->FindCommandBase("disconnect"); - disconnect->AddFlags(FCVAR_SERVER_CAN_EXECUTE); // Make sure server is not restricted to this. } return results; } diff --git a/r5dev/tier1/cmd.cpp b/r5dev/tier1/cmd.cpp index 16a79ea9..2b4d9c8a 100644 --- a/r5dev/tier1/cmd.cpp +++ b/r5dev/tier1/cmd.cpp @@ -382,6 +382,7 @@ void ConCommand::InitShipped(void) ///------------------------------------------------------ [ CALLBACK SWAP ] //------------------------------------------------------------------------- // ENGINE DLL | + ConCommand* migrateme = g_pCVar->FindCommand("migrateme"); ConCommand* help = g_pCVar->FindCommand("help"); ConCommand* changelevel = g_pCVar->FindCommand("changelevel"); ConCommand* convar_list = g_pCVar->FindCommand("convar_list"); @@ -435,6 +436,7 @@ void ConCommand::InitShipped(void) } } + migrateme->RemoveFlags(FCVAR_SERVER_CAN_EXECUTE); help->RemoveFlags(FCVAR_DEVELOPMENTONLY); changelevel->RemoveFlags(FCVAR_DEVELOPMENTONLY); convar_list->RemoveFlags(FCVAR_DEVELOPMENTONLY);