Commit graph

94 commits

Author SHA1 Message Date
smallmodel
c742dc34f7
Fix server list transitioning to idle even when it hasn't finished fetching 2025-04-27 21:20:45 +02:00
smallmodel
c3c9808248
Modified the comment 2025-04-27 21:11:33 +02:00
smallmodel
3a1705da41
Close the server list socket after 10 seconds of no response 2025-04-27 20:47:02 +02:00
smallmodel
e3ebedc5e4
Set the number of server list sockets based on the number of concurrent updates divided by 4 2025-04-27 20:33:27 +02:00
smallmodel
d07093fd96
Initialize master variables cleanly 2025-04-27 20:18:48 +02:00
smallmodel
b9bbc64a68
Correctly initialize filter if it's null 2025-04-27 20:12:16 +02:00
smallmodel
bf35007fdd
Set the server list state to xfer for async fetch 2025-04-27 20:08:52 +02:00
smallmodel
b593da7c2a
Refresh variables that were modified 2025-04-27 19:58:41 +02:00
smallmodel
63bea5156a
Only add masters that were resolved to a valid IP address 2025-04-27 19:58:06 +02:00
smallmodel
6faf22d9d9
Add functions to restart gamespy client/server 2025-04-27 19:56:35 +02:00
smallmodel
938ab07ce0
Fix masterlist not being freed when shutting down qr 2025-04-27 19:27:19 +02:00
smallmodel
7697fc49f6
Move GameSpy server functions to sv_gamespy.h 2025-04-27 18:23:17 +02:00
smallmodel
0eb8f9f466
Rework shared gamespy code to use variables instead 2025-04-27 18:00:00 +02:00
smallmodel
3660d4448d
Implement multimaster heartbeat requests 2025-04-27 17:58:38 +02:00
smallmodel
43a36db9a4
Implement multimaster server list query 2025-04-27 17:02:44 +02:00
smallmodel
8aa1ebef5f
Fetch server list from multiple masters to improve redundancy 2025-04-27 00:07:41 +02:00
smallmodel
007c680b45
Use a separate state that defines the status of the socket 2025-04-26 21:13:38 +02:00
smallmodel
236897cfcc
Set the server list socket as non-blocking
Some checks are pending
Build branch / build-all (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
This prevents the game from freezing when the connection is slow or if the master server is unreachable
2025-04-23 00:37:48 +02:00
smallmodel
73b4569c07
Add Com_InitGameSpy() for future use 2025-04-22 22:51:06 +02:00
smallmodel
25de66ed80
Fix wrong function name 2025-04-22 22:01:29 +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
fedc993e57
Initialize the player buffer list 2025-04-22 01:19:42 +02:00
smallmodel
b597240cfd
Link gcd_key to gcd_qr2
This is primarily used for clarity
2025-04-22 00:48:39 +02:00
smallmodel
127c9fe8f4
Uncomment WSACleanup()
The previous issue was because gqueryreporting was not calling SocketStartUp() as expected
2025-04-22 00:31:39 +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
aa7639485e
Use __linux__ definition to check for linux 2025-04-22 00:25:29 +02:00
smallmodel
a4267d4f77
Initialize update list only for queries that are neither grouprooms or masterinfo 2025-04-21 22:31:41 +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
689da52ddf
Master server address update
This uplinks directly with 333networks instead of using a domain as an alias
2025-04-17 22:55:31 +02:00
Sébastien Noel
fdab158290
fix build on Debian mips64el (#700)
Some checks failed
Build branch / build-all (push) Failing after 59s
CodeQL / Analyze (push) Has been cancelled
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-03-19 15:26:26 +01: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
c1c70a53be
Transition to idle after grouprooms or masterinfo requests are finished 2025-02-28 18:12:34 +01:00
smallmodel
f89bfba5dc
Replace tabs by spaces 2025-02-28 18:11:09 +01:00
smallmodel
32ba71693c
Remove some unnecessary endian swap 2025-02-22 22:56:57 +01:00
smallmodel
7fff3192a6
Fix server object mistakenly casted to int 2025-02-22 22:34:19 +01:00
smallmodel
83aa818c00
Don't add the same server twice 2025-02-22 22:24:19 +01:00
smallmodel
56d61bdef3
Implement support for parsing group rooms and master info 2025-02-22 22:13:23 +01:00
smallmodel
ebd86b32bd
Improve code clarity 2025-02-22 22:12:34 +01:00
smallmodel
08c718d232
Add support for server list encryption and tell the master server to return the server list encrypted 2025-02-22 20:39:10 +01:00
smallmodel
a36bbb0cda
Remove useless qr fields
Some checks failed
Build branch / build-all (push) Failing after 39s
CodeQL / Analyze (push) Has been cancelled
2025-02-19 20:39:56 +01:00
smallmodel
8a9e0f0b01
Update master server address
It's now using master.openmohaa.org, which provides more flexibility for configuring the domain
2025-02-19 20:39:44 +01:00
ysdragon
38d9f98221
Update gsPlatformThread.h to include pthread for OpenBSD 2025-02-08 03:49:24 +02:00
ysdragon
7ba29029e1
Add support for additional BSD platforms in platform detection 2025-01-08 11:26:54 +02: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
387ccd5cc3
Bump the minimum CMake version to 3.12 2024-11-30 00:36:33 +01:00
smallmodel
f1e5d02169
Fix insecure printf format 2024-11-29 21:48:56 +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