Implement multi-master queries and heartbeats (#717)
Some checks are pending
Build branch / build-all (push) Waiting to run
CodeQL / Analyze (push) Waiting to run

Implement multi-master server list query and multi-master heartbeats. The server list is fetched from multiple masters to improve redundancy, reliability and performance. This improves multiplayer availability by implementing support for using multiple masters.
- The server sends an heartbeat to all masters at once
- The client can query up to 4 masters in parallel depending on their rate
This commit is contained in:
smallmodel 2025-04-27 22:14:08 +02:00 committed by GitHub
parent 08a985d183
commit cce81cabff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 603 additions and 142 deletions

View file

@ -633,14 +633,6 @@ void SV_NET_UpdateClientNetProfileInfo(netprofclient_t* netprofile, int rate);
void SV_NET_UpdateAllNetProfileInfo();
void SV_NET_CalcTotalNetProfile(netprofclient_t* netprofile, qboolean server);
//
// sv_gamespy.c
//
void SV_GamespyHeartbeat();
void SV_ProcessGamespyQueries();
qboolean SV_InitGamespy();
void SV_ShutdownGamespy();
#ifdef __cplusplus
}
#endif

View file

@ -24,6 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "../client/client.h"
#include "../qcommon/tiki.h"
#include "../qcommon/bg_compat.h"
#include "../gamespy/sv_gamespy.h"
static char last_mapname[ MAX_QPATH ];
static int g_iSvsTimeFixupCount;