smallmodel
f53dc80d7c
fix(server): use multiplayer gametype as default for dedicated servers
...
Dedicated servers are only playable with a multiplayer gametype. Making it the default value simplifies setup for users.
2026-02-01 01:47:21 +01:00
smallmodel
d77873ccf7
chore: use explicit enum for checking g_gametype
2026-01-29 19:54:37 +01:00
smallmodel
be4e3fd7ac
fix(gamespy): fix gamespy gcd authorize issues
...
This fixes:
- gcd not working when enabled
- a crash that occurs when the server processes gcd verification
2025-12-23 01:09:44 +01:00
smallmodel
46798d46dc
refactor(network): clarify net profiling struct and field names
2025-12-20 23:32:47 +01:00
smallmodel
f648db6b52
feat(fgame): send vote options between multiple client frames ( #861 )
...
It is now possible for servers to send large vote configuration files to clients without causing disconnections due to packets being larger than 50 KB.
The issue also occurs on vanilla servers.
2025-12-10 21:14:37 +01:00
smallmodel
26508d26f0
docs: correctly annotate version changes in comments
2025-11-21 23:19:46 +01:00
smallmodel
c1c230f04c
fix: clear all medals if the game has no config file ( #822 )
2025-11-02 18:14:48 +01:00
Tim Angus and smallmodel
2c9e500570
XDG home directory support
...
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
2025-10-19 21:03:23 +02:00
Tim Angus
353ae6a12f
Better un-pure client error message
2025-10-17 20:29:32 +02:00
Tim Angus
bc5217915c
Remove inconsistent '.' in server message
2025-10-17 20:29:25 +02:00
Tim Angus
28e6ea159c
SV_RehashBans_f may be executed when the server isn't running ( #785 )
2025-09-24 00:54:51 +02:00
Tim Angus
258c5f53f9
Wrap __attribute__s in macros
2025-09-07 20:19:05 +02:00
Tim Angus
6e57eb7d00
Fix various warnings
2025-09-07 19:45:51 +02:00
Tim Angus and smallmodel
e299031470
Reduce duplication in FS path search code
...
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
2025-09-04 23:28:07 +02:00
smallmodel
ecf70528a7
Move all C++ core classes to the corepp directory
2025-08-24 16:51:11 +02:00
smallmodel
31e6830aee
Add Cvar_Find
2025-08-17 18:37:03 +02:00
smallmodel
480a377292
Expose API to kick client with reason for game
...
This will let the client know why it gets kicked by game.
2025-08-16 21:08:10 +02:00
smallmodel and Tim Angus
e556f58cc4
Reimplement CMake from upstream ioq3 ( #781 )
...
This reuse the CMake build system from ioq3, modified to make it work with the C++ code.
---------
Co-authored-by: Tim Angus <tim@ngus.net >
2025-08-08 01:03:07 +02:00
smallmodel
a72bc153db
Fix configstring replacement causing the model to be referenced twice on base MOHAA clients ( #779 )
2025-08-03 02:21:35 +02:00
smallmodel
d1bfeeadbf
Improve default graphic settings for d-day ( #771 )
2025-07-21 21:56:12 +02:00
smallmodel
567ec755b1
Fix duplicated configstrings
...
This caused issues such as clients crashing as they were improperly unregistering used models
2025-07-06 17:20:50 +02:00
smallmodel
17ab3d1114
Fix the value of the RF_ALWAYSDRAW flag
...
This caused entities such as smoke grenades marked as alwaysdraw to not always be drawn
2025-07-05 20:57:04 +02:00
smallmodel
ba42479dbc
Add asserts to check that model user count won't go below 0
2025-07-05 20:39:59 +02:00
smallmodel
95dff2536b
Add contextual print feature ( #727 )
...
Add metadata to client-specific messages such as text and join events.
Can be disabled via `sv_logContext 0`.
2025-05-31 22:31:36 +02:00
smallmodel
fa18824a8a
Fix client being refused forever after being rejected for high ping
2025-05-21 23:52:43 +02:00
smallmodel
ffcec02aa6
Allow a certain amount of challenges to have the same IP address
2025-05-21 23:51:16 +02:00
smallmodel
d790fa398f
Add verbose print when rejecting due to user info being too long
2025-05-17 00:18:18 +02:00
smallmodel
23e7df2796
Print the userinfo string when debugging print SV_DirectConnect()
2025-05-16 23:29:52 +02:00
smallmodel
ba502a9d39
Log name changes from the server instead of the game module
2025-05-16 22:21:55 +02:00
smallmodel
3ce9621715
Print the correct client number for clients connecting
2025-05-16 22:18:20 +02:00
smallmodel
d533bc450f
Display the IP address of the connecting client
2025-05-16 21:12:27 +02:00
smallmodel
fc33dfe656
Set output remote command buffer size to 8192 bytes
...
This fixes issues where some tools fail to handle multiple print packets. On a 64-player server, the status command can generate around 5000 bytes of output.
The buffer size in the original game is 49152 bytes, but that's excessively large and can lead to excessive IPv4 fragmentation.
2025-05-15 22:16:36 +02:00
smallmodel
831695f288
Rework the version string ( #720 )
...
Rework the version string.
- Make the original game version appear first in the `version` variable.
- Use `com_target_shortversion` for the short version number.
- Use `com_target_version` for the original game version.
Some software, such as HLSW, as well as certain mods, check if the version string begins with "Medal of Honor ....". This commit makes these changes to ensure most software properly handles the game version.
2025-05-03 13:38:00 +02:00
smallmodel
cce81cabff
Implement multi-master queries and heartbeats ( #717 )
...
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
ffc35fb5ab
Use the original gqueryreporting from GameSpy SDK
...
Potentially more stable and thoroughly tested
2025-04-22 00:27:00 +02:00
ysdragon
f164e889cc
Add optional reason to kick/ban commands
...
And enhance `SV_IsBanned` to return ban reason and update `SV_DirectConnect` to display it
2025-03-12 07:30:40 +02:00
ysdragon
1e2a331518
Add reason field to serverBan structure with defined maximum length
2025-03-12 07:30:22 +02:00
smallmodel
c345035e12
Add Cvar_CheckRange exports
2025-01-27 00:13:01 +01:00
smallmodel
7e26814cfa
Use a signed integer to display the score
2025-01-24 21:39:09 +01:00
smallmodel
02fc573e31
Apply client and server config tweaks when loading the original config
2025-01-21 22:56:05 +01:00
smallmodel
4e174fd5bf
Fix cheats mistakenly being disabled when loading a saved game, when developer mode is enabled
2025-01-19 16:08:28 +01:00
smallmodel
6d71cabbda
Export FS_FOpenFile
2025-01-13 23:22:33 +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
2656000ce4
Print chat message from the game module instead of the server
2024-12-29 18:46:40 +01:00
smallmodel
cb1c3c0b1c
Remove call to SV_WriteDownloadToClient() when sending snapshots, as it's already called when sending download messages
2024-12-24 18:42:05 +01:00
smallmodel
da5c35ec2b
Prevent connecting clients from receiving snapshots and CG messages while connecting
2024-12-24 18:30:08 +01:00
smallmodel
932367d061
Append "demo" to the keywords if fs_restrict is enabled
2024-12-15 21:32:34 +01:00
smallmodel
da0c36cc88
Also show the port of clients in status
2024-12-08 12:40:21 +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