From 99d58d760032ff89ff91df9afc58e23b50c011b9 Mon Sep 17 00:00:00 2001 From: BobTheBob <32057864+BobTheBob9@users.noreply.github.com> Date: Sun, 9 Jan 2022 03:29:56 +0000 Subject: restrict netchan limit checks to serverside calls only --- NorthstarDedicatedTest/gameutils.cpp | 2 ++ NorthstarDedicatedTest/gameutils.h | 3 +++ NorthstarDedicatedTest/serverauthentication.cpp | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) (limited to 'NorthstarDedicatedTest') diff --git a/NorthstarDedicatedTest/gameutils.cpp b/NorthstarDedicatedTest/gameutils.cpp index 1cbd8648..59f85194 100644 --- a/NorthstarDedicatedTest/gameutils.cpp +++ b/NorthstarDedicatedTest/gameutils.cpp @@ -45,6 +45,7 @@ ConVar* Cvar_communities_hostname; ErrorType Error; CommandLineType CommandLine; Plat_FloatTimeType Plat_FloatTime; +ThreadInServerFrameThreadType ThreadInServerFrameThread; void InitialiseEngineGameUtilFunctions(HMODULE baseAddress) { @@ -106,4 +107,5 @@ void InitialiseTier0GameUtilFunctions(HMODULE baseAddress) Error = reinterpret_cast(GetProcAddress(baseAddress, "Error")); CommandLine = reinterpret_cast(GetProcAddress(baseAddress, "CommandLine")); Plat_FloatTime = reinterpret_cast(GetProcAddress(baseAddress, "Plat_FloatTime")); + ThreadInServerFrameThread = reinterpret_cast(GetProcAddress(baseAddress, "ThreadInServerFrameThread")); } \ No newline at end of file diff --git a/NorthstarDedicatedTest/gameutils.h b/NorthstarDedicatedTest/gameutils.h index 43f387d1..ff6a0fbf 100644 --- a/NorthstarDedicatedTest/gameutils.h +++ b/NorthstarDedicatedTest/gameutils.h @@ -234,6 +234,9 @@ extern CommandLineType CommandLine; typedef double(*Plat_FloatTimeType)(); extern Plat_FloatTimeType Plat_FloatTime; +typedef bool(*ThreadInServerFrameThreadType)(); +extern ThreadInServerFrameThreadType ThreadInServerFrameThread; + void InitialiseEngineGameUtilFunctions(HMODULE baseAddress); void InitialiseServerGameUtilFunctions(HMODULE baseAddress); void InitialiseTier0GameUtilFunctions(HMODULE baseAddress); \ No newline at end of file diff --git a/NorthstarDedicatedTest/serverauthentication.cpp b/NorthstarDedicatedTest/serverauthentication.cpp index da84280c..4e3446c2 100644 --- a/NorthstarDedicatedTest/serverauthentication.cpp +++ b/NorthstarDedicatedTest/serverauthentication.cpp @@ -342,7 +342,7 @@ char __fastcall CNetChan___ProcessMessagesHook(void* self, void* buf) char ret = CNetChan___ProcessMessages(self, buf); // check processing limits, unless we're in a level transition - if (g_pHostState->m_iCurrentState == HostState_t::HS_RUN) + if (g_pHostState->m_iCurrentState == HostState_t::HS_RUN && ThreadInServerFrameThread()) { // player that sent the message void* sender = *(void**)((char*)self + 368); -- cgit v1.2.3