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
smallmodel
387ccd5cc3
Bump the minimum CMake version to 3.12
2024-11-30 00:36:33 +01:00
smallmodel
7cad7a4bd0
Fix printf format specifiers
2024-11-29 21:34:41 +01:00
smallmodel
6c9d6940cc
Disable sv_floodProtect by default
2024-11-25 19:35:37 +01:00
smallmodel
e2f4d8cd6b
Use explicit constants when checking g_gametype
2024-11-22 19:44:53 +01:00
smallmodel
154464cda1
Set the server huddraw elements on single-player mode
...
This fixes huddraw elements not being archived properly when the map starts
2024-11-17 18:26:00 +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
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
cd89d2c0b4
Don't execute reloadmap if the server is not running
2024-11-10 22:10:24 +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
2b06cc690e
Add reloadmap server command from Breakthrough
2024-11-09 16:03:08 +01:00
smallmodel
f646151ce2
Set medium difficulty by default
2024-11-09 13:27:24 +01:00
smallmodel
c2291e92c4
Add Anim_AngularDelta
2024-11-08 19:32:53 +01:00
smallmodel
b8cc3313b1
Check for valid tiki in PF functions
2024-11-08 19:26:37 +01:00