Alibek Omarov
c76752cc5f
engine: server: validate uuid in protinfo, it's an md5 string
2025-03-01 22:45:01 +03:00
Alibek Omarov
fc2888e107
engine: server: fix incorrect ID string generation, hashedcdkey is already an MD5 string
2025-03-01 22:27:22 +03:00
Alibek Omarov
674b4c1506
engine: server: reorder sv_client_t struct for better memory efficiency, remove unused fields
2025-03-01 22:07:05 +03:00
Alibek Omarov
cddd50f1e9
engine: server: completely erase sv_client_t on client connect, so we always start from scratch for every user
2025-03-01 22:07:05 +03:00
Alibek Omarov
6c9d5bc1fb
engine: server: cleanup penalties and warns for new players
2025-03-01 16:03:39 +03:00
Alibek Omarov
29c8818557
engine: server: do not continue processing command if the player was kicked during it (for example, by speedhack prevention)
2025-03-01 14:58:15 +03:00
Alibek Omarov
cb5dffd554
engine: server: don't bother printing about unsupported connectionless packets if sv_log_outofband is set to 0
2025-02-26 17:06:33 +03:00
Alibek Omarov
b1eb3390e3
engine: server: let server dll to register it's own showtriggers cvar
2025-02-24 06:41:11 +03:00
Alibek Omarov
448dc720ed
engine: server: immediately exit from SV_GetChallenge on unknown type addresses
2025-02-15 09:31:20 +03:00
Alibek Omarov
9c50288bbb
engine: server: rewrite challenge generator to something more simple: salted MD5 of an IP address
...
The idea was taken from ReHLDS project.
2025-02-15 08:01:44 +03:00
Alibek Omarov
c5d4af802c
engine: server: even if user set non-integer value for cl_updaterate, clamp it to sv_minupdaterate
2025-02-15 08:01:44 +03:00
Alibek Omarov
340a8b5e0c
engine: server: fixes for userinfo change ratelimiting
...
* Add pentalty earlier
* Increase disallowed timewindow according to penality multiplier
* Allow first change even if it falls into ignore timewindow
2025-02-15 08:01:44 +03:00
Alibek Omarov
bc1b86c19c
engine: server: refactor SV_ConnectClient, simplify LAN IP check
2025-02-15 08:01:44 +03:00
xiaodo
fdc2ed8093
engine: server: pfnClientCommand and pfnQueryClientCvarValue should execute on unspawned player
2025-02-14 20:52:45 +03:00
xiaodo
a27375d1f5
engine: server: cmds: fix kick command incorrect argc
2025-02-14 20:52:45 +03:00
Alibek Omarov
ca9a3f0491
engine: server: fix out of bounds write in SV_FindTouchedLeafs
2025-02-11 21:15:54 +03:00
Alibek Omarov
67c73bdcbe
engine: server: remove impulse 204, it's not used anywhere
...
Thanks @tyabus for reminding me about this feature.
2025-02-09 17:16:05 +03:00
Alibek Omarov
eb51d17cd2
engine: server: enable sv_zmax clamping back to avoid overflowing zmax value encoded in delta
2025-02-08 16:38:11 +03:00
Alibek Omarov
add02dc6f9
engine: fix potential UB in netadr_t
2025-02-06 20:54:18 +03:00
Alibek Omarov
c86c45503f
engine: replace few more Xash3D strings by XASH_ENGINE_NAME macro
2025-01-23 10:33:22 +03:00
Alibek Omarov
1e075d25b7
engine: make LZSS compression optional for 49 protocol, disable it for local clients (singleplayer)
2025-01-22 21:18:19 +03:00
Alibek Omarov
375998dffb
Cleanup xash3d_types.h from engine-specific macros and types
2025-01-22 15:10:18 +03:00
Alibek Omarov
2065ef143a
engine: server: fix ent_create under PrimeXT
2025-01-21 16:09:56 +03:00
Alibek Omarov
1d4f7b2f94
engine: server: slight refactoring, make SV_ModelHandle inlined, move PlayerIsFrozen to sv_client, fix packet loss data type
2025-01-14 12:09:23 +03:00
Alibek Omarov
38c82a3f76
engine: don't bother calculating crc32 for local clients for better performance (thanks @tyabus for the idea)
2025-01-14 11:55:28 +03:00
Alibek Omarov
69341e36a3
public: expose commit and branch as global variables instead of functions
2025-01-13 20:02:59 +03:00
Alibek Omarov
a0b46da04b
engine: consolidate all box clipnodes used in studio models, pmove and server in a single place
2025-01-09 08:02:39 +03:00
Alibek Omarov
8a41be9d47
engine: server: finally, make a union for large leaf indices in edict_t so we can run bsp2 maps without recompiling
2025-01-09 08:02:39 +03:00
Alibek Omarov
47aff9e30b
engine: hack mnode_t struct so we can have 24-bit face and children indices to support BSP2 format in runtime
2025-01-09 08:02:39 +03:00
Alibek Omarov
734c07ddab
engine: split clipnodes struct into two with 16-bit indicies and 32-bit indicies to support BSP2 format in runtime
2025-01-08 14:46:07 +03:00
Alibek Omarov
9811988cce
engine: server: set mapname globals field before making first call into DLL, as some mods tend to read it too early
2024-12-26 02:50:30 +03:00
Alibek Omarov
48bdd4238e
engine: always include reason to server shutdown
2024-12-26 02:13:13 +03:00
Alibek Omarov
65750f0cf3
engine: server: hack save fields that use types unsupported by Half-Life Unified SDK through array types
2024-12-26 00:36:28 +03:00
Alibek Omarov
72d0d70587
engine: server: get rid of NULL sentinels at the end of arrays
2024-12-22 07:12:32 +03:00
Alibek Omarov
a834f4996f
engine: move client adding functions to their appropriate subsystems and make them static. Make in-engine functions inlined.
2024-12-20 05:47:46 +03:00
Alibek Omarov
7f2ebd1b5e
engine: server: add command sv_list_messages to print all registered user messages
2024-12-20 02:37:38 +03:00
Alibek Omarov
68b2d9f269
engine: server: fix possible message number inconsistency if server requested it twice
2024-12-20 02:37:01 +03:00
Alibek Omarov
93c5853356
engine: server: merge SV_FindBestBaseline for normal entities and static entities into single function
2024-12-18 06:57:43 +03:00
Alibek Omarov
ca0c5f929a
engine: slight refactoring of lightstyle handling functions
2024-12-17 17:04:26 +03:00
Alibek Omarov
75adb2e686
engine: server: for entities physics code directly use cvar values rather than movevars. Leave movevars to player movement only
2024-12-08 01:39:24 +03:00
Alibek Omarov
0a85734ae7
engine: server: avoid useless copying in SV_GetClientIDString for bots or local clients
2024-12-05 19:49:51 +03:00
Alibek Omarov
f7062498c2
engine: turn old pfnGetGameDir behavior into a bugcomp flag get_game_dir_full
...
This function is kinda nasty, some mods (like old RCBot builds) expect a slash,
some newer mods (like Sandbot) doesn't. To preserve compatibility with both old
and new mods, just add it as bug compatibility flag.
2024-12-05 18:14:15 +03:00
Alibek Omarov
18a973d4f2
engine: server: always set sv_background to zero on server shutdown rather than on server dll unload
2024-12-03 21:02:37 +03:00
Alibek Omarov
38ef16b08b
engine: server: do not unload server library on win327
2024-12-01 11:21:02 +03:00
Alibek Omarov
1f5c97964b
engine: return full path in server's pfnGetGameDir, if possible
2024-11-30 09:28:30 +03:00
Alibek Omarov
e7f939c87b
engine: always add .wad extension to wadlist names to simplify how it's being used
2024-11-23 14:01:09 +03:00
Alibek Omarov
c5471fe6fd
engine: server: make SV_IsPlayerIndex and SV_HavePassword inline
2024-11-17 13:36:40 +03:00
Alibek Omarov
0ceb0d9e11
engine: provide compatible replacement for CompareFileTime function
2024-11-17 04:33:13 +03:00
Alibek Omarov
779cb2f721
engine: server: use calloc in SV_AllocString, allocate strings at stringspool preventing memory leaks. Fix strings deduplication on 64-bits.
2024-11-13 23:36:53 +03:00
Alibek Omarov
88c42d50f2
engine: server: always allocate svgame.stringspool, it's used to track temp string allocations like in SV_CopyString
...
Potentially fixes memory leakage on 64-bit when game uses instanced baselines or consistency lists
2024-11-13 23:35:45 +03:00