Skip to content

Commit

Permalink
Merge Event reassembly default (mr-496)
Browse files Browse the repository at this point in the history
1bed4cd - fix(server): event reassembly default
  • Loading branch information
prikolium-cfx committed Aug 29, 2024
2 parents 3768dee + 1bed4cd commit 56f6e38
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions code/components/citizen-server-impl/src/ServerResources.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,8 @@ namespace
fx::scripting::Warningf("natives", "TRIGGER_LATENT_CLIENT_EVENT_INTERNAL requires setr sv_enableNetEventReassembly true\n");
}

void EnableEventReassemblyChanged(internal::ConsoleVariableEntry<bool>* variableEntry)
void EnableEventReassemblyChangedWithInstance(internal::ConsoleVariableEntry<bool>* variableEntry, fx::ServerInstanceBase* instance, const fwRefContainer<fx::EventReassemblyComponent>& rac)
{
const auto resourceManager = fx::ResourceManager::GetCurrent();
const auto instance = resourceManager->GetComponent<fx::ServerInstanceBaseRef>()->Get();

const auto rac = resourceManager->GetComponent<fx::EventReassemblyComponent>();

instance->GetComponent<fx::GameServer>()->OnNetworkTick.Disconnect(g_eventReassemblyNetworkCookie);

g_eventReassemblyNetworkCookie = -1;
Expand All @@ -139,6 +134,15 @@ namespace
fx::ScriptEngine::RegisterNativeHandler("TRIGGER_LATENT_CLIENT_EVENT_INTERNAL", TriggerDisabledLatentClientEventInternal);
}
}

void EnableEventReassemblyChanged(internal::ConsoleVariableEntry<bool>* variableEntry)
{
const auto resourceManager = fx::ResourceManager::GetCurrent();
const auto instance = resourceManager->GetComponent<fx::ServerInstanceBaseRef>()->Get();
const auto rac = resourceManager->GetComponent<fx::EventReassemblyComponent>();

EnableEventReassemblyChangedWithInstance(variableEntry, instance, rac);
}
}

static void ScanResources(fx::ServerInstanceBase* instance)
Expand Down Expand Up @@ -408,7 +412,10 @@ static InitFunction initFunction([]()
{
fx::scripting::Warningf("sv_netEventReassemblyMaxPendingEvents", "sv_netEventReassemblyMaxPendingEvents needs to be between [0, 254]. To allow unlimited pending events set sv_netEventReassemblyUnlimitedPendingEvents to true.\n");
}


// Used to enable the EventReassemblyComponent when the setr sv_enableNetEventReassembly is not inside the server config
EnableEventReassemblyChangedWithInstance(g_enableNetEventReassemblyConVar->GetHelper().get(), instance, rac);

instance
->GetComponent<fx::GameServer>()
->GetComponent<fx::HandlerMapComponent>()
Expand Down

0 comments on commit 56f6e38

Please sign in to comment.