r5sdk/src/networksystem/CMakeLists.txt
Kawe Mazidjatari 63237361e9 NetworkSystem: fix numerous issues
This patch splits host logic from CServerListManager. CServerListManager is actually meant for the client to manage the server list to which the client could connect to. The hosting logic has been moved to the new CServerHostManager class.

Previously, we stored all the hosting details in CServerListManager, with connection criteria in CPylon, this data has been moved over to CServerHostManager as well.

Previously, we also needed a mutex to access the server host data, function HostState_KeepAlive() has been refactored to the point this mutex is no longer necessary as the only threaded process is the actual request, the rest is being applied in the main thread. We also now only construct a NetGameServer_t struct if we actually plan to host.

Access to CPylon::m_Language is now also protected by a mutex, as the change callback of cvar 'language' and the threaded method 'CPylon::QueryServer()' are competing for access.
2024-03-10 01:57:04 +01:00

23 lines
412 B
CMake

cmake_minimum_required( VERSION 3.16 )
add_module( "lib" "networksystem" "vpc" ${FOLDER_CONTEXT} TRUE TRUE )
start_sources()
add_sources( SOURCE_GROUP "Private"
"bansystem.cpp"
"bansystem.h"
"hostmanager.cpp"
"hostmanager.h"
"listmanager.cpp"
"listmanager.h"
"pylon.cpp"
"pylon.h"
)
add_sources( SOURCE_GROUP "Public"
"serverlisting.h"
"sm_protocol.h"
)
end_sources()