Commit graph

23 commits

Author SHA1 Message Date
smallmodel
cce81cabff
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
2025-04-27 22:14:08 +02:00
smallmodel
a2bbf6cff8
Use functions that return master host information
This splits gamespy client-specific and server-specific code and add common gamespy code to provide more flexibility in the future
2025-04-22 21:40:34 +02:00
smallmodel
fedc993e57
Initialize the player buffer list 2025-04-22 01:19:42 +02:00
smallmodel
ffc35fb5ab
Use the original gqueryreporting from GameSpy SDK
Potentially more stable and thoroughly tested
2025-04-22 00:27:00 +02:00
smallmodel
64f62583ce
Set a more explicit version number
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 44s
Makes it easier to identify the currently running OPM version from the server list, useful for troubleshooting and checking if the server is up to date
2025-04-20 21:42:33 +02:00
smallmodel
515a531abf
Use the length returned by Com_sprintf 2025-03-02 13:26:47 +01:00
smallmodel
d3d16ab7b6
Use the index of the entry in the player list, rather than the client number 2025-03-02 13:24:08 +01:00
smallmodel
d08027360f
Formatting 2025-03-01 23:34:24 +01:00
smallmodel
d01fa33e46
Use 0.31 for Breakthrough demo
This makes the Breakthrough demo client compatible with Breakthrough demo servers
2024-11-13 00:07:07 +01:00
smallmodel
ab84a6ea58
Add support for the demo version of the game
This allows the demo version of the game to be used, both for playing on demo servers, or for hosting a demo server
2024-11-12 23:09:37 +01:00
smallmodel
1ef1bad9ae
Add network profiling tool from Spearhead and Breakthrough
Profiling can be enabled with `cl_netprofile` and `sv_netprofile`, the overlay can be shown using `cl_netprofileoverlay` and `sv_netprofileoverlay` and the server can dump network profile using the `netprofiledump` command
2024-11-09 21:38:16 +01:00
smallmodel
e93780c66c
Fixed players_callback always returning players when there are none
Fixed gcd_think() crashing if it wasn't initialized
2023-08-26 18:17:28 +02:00
smallmodel
0209e8f782
Fixed call to GSICancelAvailableCheck() causing socket 0 (STDIN) to be closed, any read() afterwards would hang 2023-08-26 16:18:57 +02:00
smallmodel
c6ae5ed551
Added gamespy cd key authorization code (mohaas/mohaab only) 2023-08-24 23:19:21 +02:00
smallmodel
0f86a5ee8a
Fixed "gamename" on mohaab
Use GS_GetCurrentGameName() and GS_GetCurrentGameVersion() in basic_callback
Using DF_ALLOW_LEAN_MOVEMENT instead of raw dmflags
2023-08-23 23:50:40 +02:00
smallmodel
10981f706f
Added functions to get game key, game name and game ID 2023-07-28 21:45:07 +02:00
smallmodel
13828994fb
Used clang-format on gamespy files 2023-07-05 21:24:14 +02:00
OM
668f74ffc0 Set the game name depending on com_target_game 2023-07-02 20:10:38 +02:00
OM
4841d8026f Allow gamespy to run on the 3 different games at runtime 2023-07-02 20:07:15 +02:00
OM
c287638f99 Reworked file inclusion (using relative path) 2023-06-17 01:24:20 +02:00
L
0d2eb7f693 Added OPM header 2023-02-05 13:27:22 +01:00
L
5fecffc451 Fixed wrong client ping value in gamespy players callback 2023-02-05 01:58:52 +01:00
L
8ec6fcd9fe Added old qr gamespy implementation 2023-02-05 01:40:14 +01:00