Commit Graph

320 Commits

Author SHA1 Message Date
Alibek Omarov d9a245dcb5 engine: reset cheat cvars on remote games 2022-12-01 02:44:01 +03:00
Alibek Omarov b6bd4bc6f8 engine: server: precisely set client connected time after they were spawned 2022-11-25 05:45:20 +03:00
Alibek Omarov 3da736a1eb engine: server: try to solve issue when server dll has no voice mgr 2022-11-17 21:06:15 +03:00
Alibek Omarov 64e97124c3 Merge master to ipv6 2022-11-17 19:34:46 +03:00
Alibek Omarov dd881d3da9 engine: server: remove duplicate function 2022-11-16 23:37:26 +03:00
Alibek Omarov 7b74015c4d engine: server: check if player can hear other before sending voicedata 2022-11-16 20:59:18 +03:00
SNMetamorph 32372654c2 engine: server: sv_client: fixed working ent_create command on XashXT/PrimeXT 2022-11-11 16:12:56 +03:00
Alibek Omarov 17d0b19f9e engine: use generic S_USAGE macro everywhere 2022-11-10 13:18:20 +03:00
SNMetamorph 5d73c6cb84 engine: server: backported enttools from old engine 2022-11-10 11:56:10 +03:00
Alibek Omarov 5678d9a253 engine: server: support MAP_ANON synonym for MAP_ANONYMOUS, disable allocating string pool near server library for OSX 2022-09-12 08:42:50 +03:00
Alibek Omarov 24763f9b07 engine: server: request client to use Opus Custom codec 2022-08-31 06:54:58 +03:00
Alibek Omarov f633b3dbf6 engine: increase MAX_INIT_MSG to 192 kilobytes limit
* also avoid magic number in sv_client.c
2022-08-27 22:13:21 +03:00
Alibek Omarov 905bbf1515 engine: server: read full voicedata message even if voice is disabled server wide 2022-08-19 22:22:40 +03:00
Alibek Omarov c5dbbea9ef engine: server: drop bots fake ping to zero 2022-08-19 04:33:41 +03:00
SNMetamorph 97879430e9 engine: small code fixes related to voice chat 2022-08-18 04:46:11 +03:00
SNMetamorph 8d0209b122 engine: server: added support for variable voice chat quality 2022-08-18 04:46:11 +03:00
Velaron 2b9e050f57 engine: voice support 2022-08-18 04:46:11 +03:00
Alibek Omarov 0d2552c3f6 engine: server: prevent DoS through master server query 2022-08-17 21:23:08 +03:00
Alibek Omarov b3c9637422 engine: server: send server info to all master servers 2022-08-17 21:18:16 +03:00
Alibek Omarov d202a6c572 engine: server: emulate pfnPEntityOfEntIndex bug only with explicitly enabled GoldSrc bug compatibility 2022-08-15 06:00:00 +03:00
Alibek Omarov 6ef76fe665 engine: server: fix bots are counted as real players 2022-08-13 22:46:20 +03:00
SNMetamorph 5b97c2135a engine: server: fixed "wrong version" spamming in NAT bypass mode (fix #953) 2022-08-10 04:11:17 +03:00
SNMetamorph a5ba43ea39 engine: fixed vulnerability in NAT bypass mechanism 2022-08-02 18:01:28 +03:00
Alibek Omarov c326853617 engine: server: restore original PEntityOfEntIndex function, but still bug-compatible with GoldSrc 2022-07-21 01:52:10 +03:00
Alibek Omarov a2d11f670a engine, public: fix float precision issues in mathlib and monster navigation code 2022-07-13 19:26:38 +03:00
SNMetamorph d8724f0be4 engine: common: net_ws: disabled read-only flag for ip cvar 2022-07-10 18:28:06 +03:00
SNMetamorph fce3959d15 engine: server: added "c" command to SV_ConnectionlessPacket 2022-07-10 18:28:06 +03:00
SNMetamorph cf84ad12f1 engine: server: backported NAT bypass feature 2022-07-10 18:28:06 +03:00
SNMetamorph 8f91830997 engine: added changeport parameter for NET_Config 2022-07-10 18:28:06 +03:00
Alibek Omarov f0a856d9c8 engine: server: fix writing message size for engine messages, as it's expected to be 2-bytes 2022-06-26 15:05:06 +03:00
Alibek Omarov 85895c5311 engine: pmove: initialize trace argument in PM_TraceModel 2022-06-26 04:39:52 +03:00
Alibek Omarov c076f4ff8e engine: common: add generic trace_t initialize function 2022-06-26 04:39:15 +03:00
Alibek Omarov 5524aaae1e engine: server: fix server dll leak when no map was loaded 2022-06-12 03:07:09 +03:00
Alibek Omarov 2b8b3e1993 engine: server: new IP filter, rewritten with IPv6 in mind 2022-06-09 03:10:02 +03:00
Alibek Omarov 6f36edfd16 engine: various const qualifier fixes 2022-05-29 04:22:43 +03:00
Alibek Omarov 8445567ab4 engine: server: remove unused arguments passed to Con_Printf 2022-05-29 02:27:39 +03:00
Alibek Omarov db48d0ded7 engine: server: fix useless double assignment 2022-05-29 01:59:15 +03:00
Alibek Omarov 0d195ee6fe engine: server: fix output of maps command 2022-05-29 01:29:51 +03:00
Alibek Omarov 5e4996b119 engine: server: fix bot count 2022-05-28 22:16:08 +03:00
Alibek Omarov 33d79ddb24 engine: server: fix possible array overruns 2022-05-25 17:57:47 +03:00
Alibek Omarov 51526948c0 engine: server: make PEntityOfEntIndex bug-compatible with GoldSrc
Add new undocumented GoldSrc eiface function, PEntityOfEntIndexAllEntities,
a bug-free version of PEntityOfEntIndex

Ref: https://github.com/ValveSoftware/halflife/issues/2272
2022-05-21 03:03:59 +03:00
SNMetamorph 22815d2784 engine: server: sv_main: added status line for dedicated server console 2022-04-06 15:17:15 +03:00
SNMetamorph d7431783d4 engine: sv_save: added entity_state_t->startpos to save fields 2022-04-06 14:28:13 +03:00
Alibek Omarov c8410f7e46 engine: server: don't issue an assert on invalid client names 2022-04-02 13:36:53 +03:00
Alibek Omarov 12da44a3d7 engine: server: send protocol version to distinguish old engine and new 2022-03-08 07:00:36 +03:00
Alibek Omarov 36d757c74a engine: server: fix message trace output 2022-01-27 03:48:54 +03:00
Alibek Omarov 2fa964e939 engine: server: restore sv_trace_messages from old engine 2022-01-27 03:32:52 +03:00
Alibek Omarov 4f89288ccf common: cleanup port.h 2021-12-23 19:17:11 +03:00
Alibek Omarov ca3544d559 engine: server: don't assert for NULL player in FatPAS/PVS if we don't need it 2021-12-18 03:32:40 +03:00
Alibek Omarov 94dc74a37f engine: restrict potentially harmful engine commands 2021-11-23 05:23:38 +03:00
Alibek Omarov d9fd6aa05c engine: server: restore log functionality from old engine. Thanks to @ValeTheVioletMote for initial patch. 2021-10-27 19:40:05 +03:00
Alibek Omarov a8c877c841 engine: server: fix ParseFile calls 2021-10-08 17:31:32 +03:00
SNMetamorph ec95948b69 engine: server: implemented instant game library loading 2021-10-03 04:38:05 +03:00
Alibek Omarov 7b8ec0ad4b engine: server: fix another const qualifier lose 2021-07-20 17:09:16 +03:00
Alibek Omarov 0efc5e82ec engine: fix some const qualifier lose and pointer-to-int casts 2021-07-20 16:03:06 +03:00
Alibek Omarov a547526e86 engine: fix some signed char cases 2021-07-20 15:18:55 +03:00
Alibek Omarov 37c5dfa49f engine: generalize maps command and map command autocompletion 2021-06-18 00:05:34 +03:00
tyabus 0260a6c234 engine: server: backport maps command implementation from old engine 2021-06-18 00:05:34 +03:00
lilmayofuksu 2ad209b973
engine: server: updated TSource query to be more compatible with GoldSrc standard (#497)
Mark TSource queries as connectionless.
Only send Windows as the os if the engine was built on it.
2021-06-16 13:09:31 +03:00
Barış 18d8ef287d
engine: fix client can use kill command while not connected (#492) 2021-06-12 18:19:23 +03:00
Alibek Omarov 9313f7e80e engine: replace pool pointer by pool handle 2021-06-07 02:33:15 +03:00
Alibek Omarov 49a20a9ac5 engine: server: fix memleak after previous commit 2021-06-02 22:06:17 +03:00
Alibek Omarov 8966172ce0 engine: server: avoid crash if map entity doesn't have classname (tfc map flagwar for example) 2021-06-01 23:45:55 +03:00
Alibek Omarov ddd48c420b engine: decrease instanced baseline index by minus one to avoid zero offset which interpreted as no baseline at all 2021-06-01 21:52:33 +03:00
Alibek Omarov f31e9ae19e engine: server: fix bounds check in SV_GetFragmentSize 2021-06-01 18:35:38 +03:00
Alibek Omarov 4543008012 engine: server: declare sv_client_t::flags as unsigned 2021-06-01 17:58:33 +03:00
SNMetamorph 75e80bc2ff engine: server: fixed cvars sv_max/minupdaterate, sv_max/minrate 2021-05-30 09:40:03 +03:00
Alibek Omarov f5e400de69 server: fix wrong xashid key on server, it's uuid now 2021-03-28 01:57:40 +03:00
Alibek Omarov c62db950f1 server: implement rcon redirection, add redirect command from old engine 2021-03-27 23:46:57 +03:00
Alibek Omarov 9c9953bb60 server: fix some cvars being registered incorrectly or not registered at all 2021-03-27 23:23:37 +03:00
Alibek Omarov e5a40fd745 server: fix password presence wasn't advertised to clients on info message #359 2021-03-15 03:40:46 +03:00
Alibek Omarov ed0ca2b2d2 engine: fix predicting oldbuttons 2021-03-12 00:10:51 +03:00
Alibek Omarov 42f47f51b5 server: implement GetFileSize and GetApproxWavePlayLen from HLSDK 2.4 2021-03-07 02:46:38 +03:00
Alibek Omarov aea9e8efa2 server: sv_validate_changelevel is deprecated now and disabled by default
If anyone wants this feature back, use +sv_validate_changelevel 1 in command line.
2021-03-07 02:20:30 +03:00
Alibek Omarov 585ae28dd2 server: fix some int <> unsigned int conversions 2021-03-07 02:00:46 +03:00
Alibek Omarov fa555c1f09 server: add hardcoded list of chapters for HL, BS and OF, same as GoldSrc
Fix incomplete comment in save file when server DLL provides SV_SaveGameComment.
Fix possible buffer overflow when reading comment from save file.
2021-03-01 19:53:17 +03:00
Ivan Avdeev 012d1fa8bd fix USE_MMAP usage
should fix CI failures
2021-02-26 16:04:45 +03:00
Ivan Avdeev 1b426b67e7 partially fix amd64 build on windows
Quality of this commit is questionable. I have no idea whether what I did
here makes sense or not.
But it compiles and runs (provided with hlsdk-xash3d amd64 build, which
is another story).

This omits necessary waf changes that are necessary to make a valid
64-bit build. Apparently it's not enough to just pass `-8` on Windows,
you also need to hack wscript to add `x64` target to MSVC. I'll do that
later when I figure out how.

This change is a precursor for RTX Vulkan effort --
VK_KHR_ray_tracing_pipeline and friends are only available on 64-bit
nvidia drivers (no idea about AMD, pls send GPUs onegai).
2021-02-26 16:04:45 +03:00
Gleb Mazovetskiy 5e0a0765ce Trim all trailing whitespace
The `.editorconfig` file in this repo is configured to trim all trailing
whitespace regardless of whether the line is modified.

Trims all trailing whitespace in the repository to make the codebase easier
to work with in editors that respect `.editorconfig`.

`git blame` becomes less useful on these lines but it already isn't very useful.

Commands:

```
find . -type f -name '*.h' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
find . -type f -name '*.c' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
```
2021-01-04 20:55:10 +03:00
Andrey Akhmichin 1332381e2d engine: server: simplified strings operations. 2020-12-29 20:20:25 +03:00
Alibek Omarov ce1fc386a2 engine: server: reformat SV_Init 2020-05-02 19:14:23 +03:00
Alibek Omarov 77bebe3000 engine: server: remove FCVAR_SERVER from gamedir cvar, set FCVAR_READ_ONLY instead. Seems it was used when Xash had hot change game, i.e. without restarting engine. 2020-05-02 19:08:43 +03:00
Andrey Akhmichin 87340ceca8 engine: server: fix godmode behavior. 2020-03-12 05:48:51 +06:00
Andrey Akhmichin e3b547c8a9 public: rename mathlib to xash3d_mathlib. 2020-02-12 14:32:26 +05:00
mittorn 303a88730c server: fix crash when sorting entities on watcom libc 2020-02-08 23:15:40 +07:00
mittorn 3a416636f1 engine: mark GAME_EXPORT's 2020-01-19 08:15:54 +07:00
mittorn bbd033c254 lib: restore dll loader support 2020-01-19 07:38:37 +07:00
Alibek Omarov 0fe18ae6dc engine: fix -Wmaybe-uninitialized 2019-12-24 02:47:51 +03:00
Alibek Omarov e11a08064d engine: fix implicit-fallthrough, uninitialized, enum-conversation compiler diagnostics 2019-12-23 06:48:17 +03:00
Alibek Omarov 4a56dfcd00 engine: fix extra zeros in %0 2019-12-23 06:29:20 +03:00
Alibek Omarov 9421457b3a engine: big refactoring commit, instead of using platform-specific platform-specific macros, use appropriate macros set by public/build.h 2019-11-24 03:52:08 +03:00
Alibek Omarov 428e8ef427 engine: server: simplify game saving code, hide GL_FreeImage under XASH_DEDICATED macro 2019-11-08 01:09:55 +03:00
mittorn 37cba10c14 lowmemory: fix sentences 2019-10-28 12:07:15 +07:00
mittorn 114a256675 Implement XASH_LOW_MEMORY, memory-reduced configuration 2019-10-26 07:06:26 +07:00
Alibek Omarov 78baf568ae engine: more double promotion fixes 2019-10-18 16:46:54 +03:00
Alibek Omarov 531c6cc375 engine: server: explicitly cast literals to floats 2019-10-18 16:46:54 +03:00
Wei Mingzhi 88772a1c34 engine: GetGameDir should return gamedir only. Add proper stub functions for some engine APIs. 2019-10-07 16:08:10 +03:00
Alibek Omarov d382f6886d engine: fix build 2019-10-05 04:02:25 +03:00
Jonathan Poncelet 214f53b8a7 SV_DropClient: Prevented transmission to fake clients 2019-07-30 15:46:10 +03:00
Alibek Omarov 2f8fec6b70 Remove trailing spaces, convert mistakenly put spaces to tabs. The most useful commit ever. 2019-07-19 20:23:08 +03:00
Alibek Omarov 4beba75159 engine: fix various compiler warnings 2019-07-13 23:25:03 +03:00
Alibek Omarov a0cbac4fc7 engine: server: use generic SV_RejectConnection instead of directly sending errormsg 2019-07-13 20:59:43 +03:00
Alibek Omarov 3e4bd20919 engine: client: implement sending input devices list to server, using protinfo 2019-07-09 03:48:09 +03:00
Andrey Akhmichin 83953c7fb3 Port ip filter and partially useragent from old engine. 2019-07-09 03:48:09 +03:00
Alibek Omarov 54920f13df engine: rename library naming function, as it returns a full path and not just library name 2019-07-07 02:47:45 +03:00
Alibek Omarov 89a3fd6323 engine: make use of platform-unique library naming scheme 2019-07-01 05:50:04 +03:00
Alibek Omarov f2c927906f Merge 4511 update 2019-06-17 07:36:46 +03:00
Alibek Omarov b16529cc65 Apply 4511 update 2019-06-17 07:05:36 +03:00
Jonathan Poncelet d14ce5ac39 SV_LoadProgs: Fixed potential memory leak if function failed (#46)
SV_LoadProgs: Fixed potential memory leak if function failed
2019-06-06 15:02:22 +03:00
Alibek Omarov 70d45f23de public: crclib now is part of public library 2019-06-06 04:33:57 +03:00
Alibek Omarov b797e0af1a Merge 4483 update 2019-05-25 02:44:24 +03:00
Alibek Omarov c215b89923 Apply 4483 update 2019-05-19 15:01:23 +03:00
Alibek Omarov fe14a360b4 engine: fix fs_offset_t/size_t conversion, const qualifiers 2019-05-02 19:12:23 +03:00
Alibek Omarov 62f04137a5 engine: hide ref calls under Host_IsDedicated checks, replace ref function ptr checks by \!Host_IsDedicated 2019-03-22 18:41:57 +03:00
Alibek Omarov 1483b21f00 Merge branch '0.20-renderdll' 2019-03-22 18:19:13 +03:00
Alibek Omarov 743c5ca8d5 engine: make dedicated work again 2019-03-22 16:47:52 +03:00
mittorn bf2f829382 Disable Mod_ClearUserData in SV_UnloadProgs (it is still called on restart) 2019-03-17 21:26:38 +07:00
Alibek Omarov 97aba69ed0 ref: implement API interface for ref_gl, get rid of RenderAPI, RenderInterface and vgui_support API references 2019-03-15 21:23:59 +03:00
Alibek Omarov 574f03c139 ref: initial engine to ref API draft, not compiling, work in progress [ci skip] 2019-02-24 18:45:44 +03:00
Alibek Omarov 99bd7c81da ref: render code moved out of engine, doesn't compile, first API prototype 2019-02-18 21:25:26 +03:00
mittorn 2b1ed2b20a
Merge branch 'master' into netsplit 2019-02-08 07:59:52 +00:00
mittorn 7b36796f41
Merge pull request #20 from x6herbius/improve-logging
Made various log messages more informative
2019-02-01 05:59:35 +00:00
Alibek Omarov 398d6007be Merge branch 'master' into resource 2019-01-30 22:14:13 +03:00
Alibek Omarov 4d63eb4413 sv_game: fix pfnSetModel theoretically may ignore precached models 2019-01-30 21:55:53 +03:00
Alibek Omarov cd30812607 sv_frame: fakeclients must be kicked on changelevel(GoldSrc compatibity) (port from Old Engine #b5b493) 2019-01-30 20:09:43 +03:00
mittorn 8b30a7631d
Merge branch 'master' into resource 2019-01-30 13:38:36 +00:00
mittorn 40574d9be0 Network extensions 2019-01-30 16:06:32 +07:00
mittorn 23af5dcaf1 In-game fragment size setting 2019-01-30 13:56:08 +07:00
mittorn a97d8c119b network: enable new netsplit, netsplit size settings 2019-01-30 03:44:48 +07:00
Jonathan Poncelet 35869586c9 Made various log messages more informative 2019-01-28 18:32:29 +00:00
mittorn 298393b653 Initial amd64 port 2018-12-05 23:57:05 +07:00
Alibek Omarov b9945d62a3 Apply 4312 update 2018-11-27 16:15:24 +03:00
Alibek Omarov 622de7a7f1 Apply 4312 update 2018-11-27 16:11:26 +03:00
Alibek Omarov f0d0861160 PhysicAPI: fix callback list initialization 2018-11-16 15:34:33 +03:00
Alibek Omarov a03aa3ddb3 Merge 4281 update 2018-10-28 00:39:29 +03:00
Alibek Omarov aae3510763 Apply 4281 update 2018-10-27 23:32:09 +03:00
mittorn 491188a0f3 Merge branch 'original' 2018-10-04 14:27:14 +07:00
mittorn 5c738b3402 Apply 4253 update 2018-10-04 13:08:48 +07:00
Alibek Omarov 2edbcb996d Merge 4150 update. Fix some mistypings. Rename CL_IsQuakeCompatible to Host_IsQuakeCompatible, as it may be used in whole engine and even in dedicated builds. IN_RecalcCenter was not added, window center positions should be updated by backends. 2018-06-19 16:59:53 +03:00
Alibek Omarov 1e7f9d00c3 Apply 4150 update 2018-06-19 16:22:30 +03:00
Alibek Omarov 7cdead7bac Merge 4143 update 2018-06-12 12:18:14 +03:00
Alibek Omarov a539384a76 Apply 4143 update 2018-06-12 12:14:56 +03:00
Alibek Omarov f26ac52102 Merge 4140 update 2018-06-11 14:04:50 +03:00
Alibek Omarov 814b7eda07 Apply 4140 update 2018-06-09 01:28:35 +03:00
mittorn 817206815d reslist.txt support 2018-05-05 02:24:55 +07:00
mittorn 37aa201ed7 Fix memory leak 2018-05-05 01:20:46 +07:00
mittorn d3a0146b5a Fix sound downloading 2018-05-05 00:12:30 +07:00
mittorn 30771fefa6 Forbid download not precached files 2018-05-05 00:01:32 +07:00
Alibek Omarov ec6bfa2421 Let server physics simulate even when there is no players(GoldSrc behaviour) 2018-05-03 17:53:49 +03:00
Alibek Omarov 46a3e729db Fix collision being calculated on unlagged value for both players and bots. 2018-05-03 17:43:26 +03:00
Alibek Omarov 0681209114 Remove useless host.type set, replace HOST_DEDICATED checks by Host_IsDedicated 2018-05-01 17:30:33 +03:00
Alibek Omarov dcc19aeafb Merge 4097 2018-04-26 03:23:00 +03:00
Alibek Omarov 9bab7d222a Apply 4097 update 2018-04-26 03:09:36 +03:00
Alibek Omarov efe8ddf151 Fix missing const-qualifiers in engine code. Fix qboolean/int mixing in interface implementations(int is preferred). Replace long by int in COM_RandomLong. 2018-04-23 23:07:54 +03:00
Alibek Omarov fd649905ea Fix some format warnings 2018-04-23 21:49:37 +03:00
Alibek Omarov bd4988e588 More _format() attribute 2018-04-23 21:37:35 +03:00
Alibek Omarov 4ef527a92d Print version by _sv_build_info server command 2018-04-23 21:36:59 +03:00
Alibek Omarov e8d13cd0d5 Rebrand from Xash3D to Xash3D FWGS. Add _format() attrubute to print-like functions 2018-04-23 21:36:33 +03:00
mittorn 8704c07e4b Merge branch 'original' 2018-04-21 13:44:06 +00:00
mittorn ab0bcc55f8 Apply Apr20 update 2018-04-21 08:06:55 +00:00
Alibek Omarov 314a6deba9 Remove gamedir[] from engine-side gameinfo_t 2018-04-21 01:22:00 +03:00
Alibek Omarov b7622e6009 Fix implicit function declaration. Fix struct declaration in parameter list 2018-04-21 00:05:08 +03:00
mittorn 926b909f3d Merge branch 'original' 2018-04-20 12:38:53 +00:00
mittorn db92c918b2 Apply Apr19 update 2018-04-20 08:41:02 +00:00
mittorn af7123f7dd Merge branch 'original' (except gldebug, msaa) 2018-04-19 20:47:41 +00:00
mittorn 050d2a3d0f Apply Apr18 update 2018-04-19 20:11:24 +00:00
Alibek Omarov 5d13112e25 Dedicated build 2018-04-18 18:32:30 +03:00
Alibek Omarov 7c9b724531 Implement dynamic library loading and symbol resolving 2018-04-17 03:43:27 +03:00
Alibek Omarov 136123eeb3 SV_BroadcastPrintf already defined in common.h. Remove definition from server.h. 2018-04-13 19:58:47 +03:00
Alibek Omarov 8d6e3b7f79 Pure engine source code(LF line endings, UTF8 encoded) 2018-04-13 19:23:45 +03:00