Commit Graph

1506 Commits

Author SHA1 Message Date
Alibek Omarov
2d39a7fa24 engine: fix skewed ping calculation, drop --debug-all-servers 2026-06-07 03:17:45 +05:00
Alibek Omarov
61a84f6953 engine: cache negative master server DNS failures longer, remove dead UDP master server addresses 2026-06-07 02:24:30 +05:00
Alibek Omarov
75ffba64c5 engine: http: add support for redirects 2026-06-06 22:55:47 +05:00
Alibek Omarov
c134840148 engine: masterlist: add UDP master server deprecation notice, fix static master list address 2026-06-06 19:53:37 +05:00
Alibek Omarov
f155005bb1 engine: move out MAX_CLIENTS definition 2026-06-06 02:50:30 +05:00
Alibek Omarov
74fcab9bfb engine: implement new static master server protocol 2026-06-06 02:47:39 +05:00
Alibek Omarov
efad71bcc9 engine: in-memory HTTP downloader 2026-06-06 02:47:39 +05:00
Alibek Omarov
4cd6d25ee6 engine: common: account for header size when sending first file fragment (which contains filename + compressor on goldsrc) 2026-06-05 08:42:46 +05:00
Alibek Omarov
33e47ef5a9 engine: fix engine.log output 2026-06-02 06:44:39 +05:00
Alibek Omarov
fe1827f5e4 engine: common: don't let executing @ prefixed commands and cvars for unprivileged mode 2026-06-02 06:13:59 +05:00
Alibek Omarov
4a2c218cfc engine: common: xrcon: oops, fix build, forgot to stage the change 2026-06-01 21:32:45 +05:00
Alibek Omarov
b96dc61e31 engine: common: xrcon: do not print misleading "client disconnected" message on engine shutdown 2026-06-01 18:49:50 +05:00
Alibek Omarov
b997d5657b engine: common: xrcon: refactor macros and magic numbers 2026-06-01 18:49:50 +05:00
Alibek Omarov
e9f5bca5c4 engine: common: make single shared print buffer with stripped colorcodes
- in xrcon, make delay and timeout macros into cvars
2026-06-01 18:49:50 +05:00
Alibek Omarov
b36f107a2e engine: common: xrcon: use uint32_t for message types instead of null terminated small strings 2026-06-01 18:49:50 +05:00
Alibek Omarov
a305ffb33f engine: common: xrcon: replace XRCON_STATE with XRCON_PARSER for parser state machine types 2026-06-01 18:49:50 +05:00
Alibek Omarov
1cc1b60b10 engine: common: xrcon: add NUL at the end of print message 2026-06-01 18:49:50 +05:00
Alibek Omarov
648db4a2b3 engine: common: xrcon: fix potential overflow and another recursion case 2026-06-01 18:49:50 +05:00
SNMetamorph
17e167432a engine: common: xrcon: various code fixes 2026-06-01 18:49:50 +05:00
SNMetamorph
97b8ca6b38 engine: common: xrcon: strip color codes before sending message to client 2026-06-01 18:49:50 +05:00
SNMetamorph
6dabc6f2c5 engine: common: initial implementation of XRCON server 2026-06-01 18:49:50 +05:00
SNMetamorph
e808038fee engine: common: add function NET_MakeSocketReuseAddr 2026-06-01 18:49:50 +05:00
Владислав Сухов
a60d0d142d engine: add support for legacy 'm' query responses 2026-05-31 03:11:01 +05:00
Alibek Omarov
bf5d88d9a4 engine: net_chan: reset file fragment buffers early, right after they are consumed 2026-05-30 03:57:12 +05:00
Alibek Omarov
ef5295c5ab engine: workaround the misalignment issue when reading textures in BSP 2026-05-30 03:53:16 +05:00
Alibek Omarov
e5c4e49782 engine: client: introduce cookie protocol extension, when client connects to the server, it provides randomized 64-bit value to be prefixed into netchan messages
* Prevent clientuseragent from leaking data.
* Process qport in netchan, cleaning up code
2026-05-26 02:14:58 +05:00
Alibek Omarov
d61983a5d2 engine: randomize outgoing_sequence on server side 2026-05-26 02:14:58 +05:00
Alibek Omarov
c3f4eb026b engine: only allow net_sequence_window packets, prevent sudden, usually impossible, jumps 2026-05-26 02:14:58 +05:00
SNMetamorph
fe9b8bcaca engine: enable warning when client or server tries to access non-existent cvar 2026-05-25 13:44:26 +05:00
Alibek Omarov
eb9de1cac8 engine: fix NET_IsReservedAdr checks for IPv6, treat IPv4-mapped-as-IPv6 as IPv4 2026-05-23 21:23:10 +05:00
Alibek Omarov
24abd2deb2 engine: host: improve missing game libraries message so it's easier to understand 2026-05-23 21:23:10 +05:00
Alibek Omarov
996dcc637d engine: tighten file fragment msg by the (possibly) trunctated frag_message 2026-05-23 21:23:10 +05:00
Alibek Omarov
8b89bdca6f engine: validate size of the message before passing it to COM_UnMunge2 2026-05-23 21:23:10 +05:00
Alibek Omarov
3a6e3ba3ca engine: change Xash split packet id to unsigned short, as it never should be negative 2026-05-23 21:23:10 +05:00
Alibek Omarov
42ab099a07 engine: check server address if client received split packet 2026-05-23 21:23:10 +05:00
Alibek Omarov
09f15042fe engine: add target buffer size argument to MSG_ReadBits and MSG_ReadBytes 2026-05-23 21:23:10 +05:00
Alibek Omarov
25ca2ecb12 engine: fix Netchan_Validate units bug allowing oversized fragments 2026-05-23 03:12:23 +05:00
Alibek Omarov
f6b28e32e2 engine: fix use-after-free in Netchan_CopyNormalFragments on decompression failure; reject oversized fragmented messages. 2026-05-23 02:53:26 +05:00
Alibek Omarov
e118376735 engine: take total size to decompressors in Netchan_CopyNormalFragments, fix underflow when decompressing bzip2 stream 2026-05-23 02:42:28 +05:00
Alibek Omarov
5ef6123f03 engine: append log to the crash log on Android 2026-05-22 18:47:31 +05:00
SNMetamorph
2a284090ef engine: common: add console command "fs_find" 2026-05-21 02:45:27 +05:00
Alibek Omarov
3e24d5a347 engine: use vector initializer macros 2026-05-20 23:24:36 +05:00
Alibek Omarov
64be4251c8 engine: use designated initializers where possible 2026-05-20 23:24:36 +05:00
Alibek Omarov
c6c1163aa0 engine: common: refactor variable declarations 2026-05-20 23:24:36 +05:00
a1batross
4c2302ec6c engine: pass customization file fragments into IsSafeFileToDownload
This function already validates customization filenames.
2026-05-20 01:03:03 +05:00
Alibek Omarov
334bebb1fb engine: use memcpy when reading sprite model to avoid unaligned access 2026-05-17 12:34:21 +05:00
Alibek Omarov
fe2019ee06 engine: common: add more cases to COM_IsSafeToDownload 2026-05-17 11:20:00 +05:00
Alibek Omarov
9d050e7ed3 engine: limit decompressed buffer alloc size to 64MiB 2026-05-17 11:17:23 +05:00
Alibek Omarov
be35b3503e engine: limit maximum amount of pending fragbufs 2026-05-17 10:54:51 +05:00
Alibek Omarov
9082a47348 engine: validate paths before downloading 2026-05-17 10:41:59 +05:00