Commit graph

50 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
02fc573e31
Apply client and server config tweaks when loading the original config 2025-01-21 22:56:05 +01:00
smallmodel
2c738fa28e
Fix occasional errors related to SV_FindIndex
Some maps (and mods) declare many sounds, sounds with the same name would be present more than once because the case was taken into account
2025-01-05 19:54:32 +01:00
smallmodel
861338b0fc
Add support for smaller lightmaps
Large lightmap can be disabled for very low-end hardware. A BSP file with a smaller lightmap (_sml.bsp) will be used instead of the standard one if the map supports it
2024-12-02 20:36:45 +01:00
smallmodel
6c9d6940cc
Disable sv_floodProtect by default 2024-11-25 19:35:37 +01:00
smallmodel
d85455e9ec
Don't export referenced paks if download is disabled on the server 2024-11-15 21:00:20 +01:00
smallmodel
6fc7199719
Register server sounds in multiplayer 2024-10-28 23:28:05 +01:00
smallmodel
6d0b4f8cb7
Fix PVS sound overflow 2024-10-18 23:50:52 +02:00
smallmodel
6136bbd019
Set g_netoptimize to 1 when spawning server 2024-10-18 23:05:53 +02:00
smallmodel
5136aa4886
Properly handle and delete unused non visible entity sounds to free up sound indexes 2024-10-18 23:01:27 +02:00
smallmodel
6a107419e3
Only change the maxclients when the map is different
It fixes an issue where on restart, only the number of snapshot entities was changed without the memory being reallocated for it
2024-10-18 20:26:27 +02:00
smallmodel
6d69a8033f
Initialize the radar 2024-10-18 20:12:47 +02:00
smallmodel
290e45062d
Set the server time before calling ge->RunFrame() in SV_SpawnServer()
This fixes an issue where some scripts wouldn't be initialized in time, like those that set AI animations. For example this caused an issue with the plane passenger in e2l1, where the animation would get reset due to a very specific chain of events
2024-09-26 01:18:11 +02:00
smallmodel
f9d264058b
Use safe version of sprintf and strcpy 2024-09-20 23:08:53 +02:00
smallmodel
11f5870a8b
Add ioq3 server fixes and improvement
- Add a rate limit to protect against DoS attacks
- Better IPv6 support
2024-08-31 21:04:10 +02:00
smallmodel
e70cdfb898
Improve code readability 2024-08-25 22:01:03 +02:00
smallmodel
dfb6c37c9e
Don't copy the server name if it's from the same string address 2024-06-22 16:42:39 +02:00
smallmodel
a5691d7779
Allows clients to join a single-player game 2024-06-16 20:48:34 +02:00
smallmodel
46b3f4eb5e
Adds differentMap parameter for G_ClientConnect, it clears the selected DM weapon.
On each map change, the player gets asked for the primary weapon like in 2.0 and above
2024-06-16 18:14:26 +02:00
smallmodel
e970e29953
Use a constant expression for clarity 2024-03-05 22:59:12 +01:00
smallmodel
bb4b10d752
Use result from Cvar_InfoString_Big for CS_SYSTEMINFO 2024-02-21 20:13:24 +01:00
smallmodel
c1258f160b
Do not clear sv_fps cvar when restarting/switching map 2023-12-27 18:43:37 +01:00
smallmodel
65a8b03ee4
Fixed infinite loop in SV_SendConfigstring when sending multiple chunks 2023-12-27 15:13:17 +01:00
smallmodel
d351ced78b
Added comment for sv_pure 2023-11-14 17:54:53 +01:00
smallmodel
4b29c63fc9
Added ioq3 features like bans 2023-11-14 17:30:17 +01:00
smallmodel
5bec3d8471
sv_maxclients must be initialized to 1 by default 2023-10-01 23:09:26 +02:00
smallmodel
ddd127352f
Initialize svs.numSnapshotEntities in SV_ChangeMaxClients 2023-10-01 23:07:38 +02:00
smallmodel
f84794acbe
Added sv_pure support from ioq3 and mohaas/mohaab 2023-08-30 20:35:47 +02:00
smallmodel
519ccc90f7
Added sv_netoptimize_vistime 2023-08-29 20:00:27 +02:00
smallmodel
243b0fd109
Added sv_netprofile, sv_netprofileoverlay, sv_netoptimize and g_netoptimize 2023-08-29 00:03:28 +02:00
smallmodel
b53466ea0d
Fixed cheats variable being improperly configured 2023-08-28 20:44:33 +02:00
smallmodel
58321be1ce
sv_fps must have CVAR_SAVEGAME and CVAR_SERVERINFO 2023-08-21 00:08:08 +02:00
smallmodel
72715c1a85
Fixed CL_Disconnect being passed with arguments 2023-08-14 03:15:42 +02:00
smallmodel
91dc3e5884
Fixed configstring index because of denormalization 2023-08-14 02:24:48 +02:00
OM
1776ac2344 Fixed configstring not sending after post-loading 2023-07-04 23:06:02 +02:00
OM
cbe6354d2d Denormalize configstring when sending it to the client 2023-06-29 21:27:19 +02:00
OM
c287638f99 Reworked file inclusion (using relative path) 2023-06-17 01:24:20 +02:00
OM
c1213e6027 Various fixes and additions 2023-05-28 20:19:35 +02:00
OM
dc45c33c79 ioq3 updates 2023-05-26 20:53:00 +02:00
OM
04b5fdb934 Added Spearhead/Breakthrough client support 2023-05-21 21:21:20 +02:00
L
53c1c94dac Using Quake 3 renderer 2023-05-08 14:33:37 +02:00
L
d48f252bb0 Include tiki.h 2023-04-30 01:09:57 +02:00
L
a07a7359b6 Changed default hostname (so openmohaa can be recognized) 2023-02-07 21:23:27 +01:00
L
64520b9073 Added GameSpy initialization and shutdown 2023-02-05 01:41:45 +01:00
L
d4faf0c0e0 Fixed compilation errors on Unix 2023-02-01 00:28:40 +01:00
L
dc6229dfec Moved localization file to sys/ folder (platform-specific) 2023-01-31 01:22:43 +01:00
mohabhassan
be261c011b Fix sv.state values. 2018-07-20 16:08:19 +02:00
Ley0k
83da6f144e Fixed openmohaa console not executing anything 2017-02-19 22:00:42 +01:00
Ley0k
85b7ac3ed5 Using size_t for lengths (also remove most warnings when compiling for x64) 2017-02-19 21:14:27 +01:00
Ley0k
09bed43f97 Hard reset 2016-03-27 11:49:47 +02:00