Commit graph

22 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
01367d0731
Use a more recent version of the gqueryreporting code
Some checks are pending
Build branch / build-all (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
2025-04-22 01:35:28 +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
d08027360f
Formatting 2025-03-01 23:34:24 +01:00
smallmodel
9427137dbd
Properly increment the packet number before sending the gamespy reply
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 32s
Some programs parse the packet number and stop working properly if the packet number is an incorrect value
2025-01-04 19:43:47 +01:00
smallmodel
874b034698
Corrected some compilation warnings 2024-06-11 21:24:01 +02:00
smallmodel
74ccb03e54
Reduced compilation warnings 2024-06-07 20:34:13 +02:00
smallmodel
92fdfe3f35
Moved MIN_HEARTBEAT_TIME and MAX_HEARTBEAT_TIME to sv_gqueryreporting.h 2023-08-29 18:45:46 +02:00
smallmodel
8b563e5232
Fixed heartbeat being always sent every frame 2023-08-29 08:17:23 +02:00
smallmodel
c95a6ee3fd
Cleaned code up 2023-08-26 21:13:14 +02:00
smallmodel
317aead26d
Replaced 1350 with MAX_INFO_STRING
Fixed wrong gamespy query being processed
2023-08-26 18:17:55 +02:00
smallmodel
5c9fceea2c
Use sizeof sockaddr_in instead of 16 2023-08-25 22:55:22 +02:00
smallmodel
803e53869b
Set qr_custom_handler to NULL instead of 0 2023-08-23 23:49:25 +02:00
smallmodel
a5259ebc05
Using MASTER_SERVER_HOST macro 2023-07-29 19:30:39 +02:00
smallmodel
d61218d7e2
Fixed const parameters 2023-07-28 21:44:43 +02:00
smallmodel
13828994fb
Used clang-format on gamespy files 2023-07-05 21:24:14 +02:00
OM
ba881b768d Added _LINUX define for gamespy 2023-06-17 01:43:42 +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
29061bea50 Fixed send_heartbeat sending to the wrong address 2023-02-05 02:08:47 +01:00
L
8ec6fcd9fe Added old qr gamespy implementation 2023-02-05 01:40:14 +01:00