1500 Commits

Author SHA1 Message Date
Kawe Mazidjatari
bef7f352d6 Implement '-novid' param check
the parameter check for '-novid' has been removed from S2 onwards, but later added back in. Our S3 build doesn't have it as well. This commit adds it back in and allows user to launch the game without the startup video's by adding '-novid' to the launch arguments. ('-dev' also works, but this enables developer and sv_cheats..).
2022-09-25 13:36:55 +02:00
Kawe Mazidjatari
94db7b2faa Version gate (006) 2022-09-25 12:15:49 +02:00
Kawe Mazidjatari
0c3817e372 Add 'mp_rr_desertlands_64k_x_64k_tt' to VPK build system 2022-09-25 01:46:43 +02:00
Kawe Mazidjatari
b1dac77175 Update playlists file 2022-09-25 01:24:46 +02:00
Kawe Mazidjatari
734d3307ed Update R5R emblem 2022-09-25 01:20:48 +02:00
rexx
6310d239af
Merge pull request #82 from AyeZeeBB/indev
Update playlist name vars
2022-09-24 22:15:40 +01:00
Kawe Mazidjatari
61be76dfb7 Merge branch 'master' into indev 2022-09-24 22:46:00 +02:00
Kawe Mazidjatari
2fa2fd1433 Make 'pak_listpaks' FCVAR_RELEASE 2022-09-24 22:44:57 +02:00
rexx
769cfc1d29 change pylon_showdebuginfo flag to FCVAR_RELEASE 2022-09-24 21:12:26 +01:00
rexx
93f482d412
Merge pull request #83 from kralrindo/master 2022-09-24 08:15:39 +01:00
kralrindo
ddb7a51776 Merge branch 'master' of https://github.com/kralrindo/r5sdk 2022-09-24 09:43:21 +03:00
kralrindo
72dfb940f5 update playlist 2022-09-24 09:41:04 +03:00
I-Am-Zee
b4dd58c96e Merge branch 'indev' of https://github.com/AyeZeeBB/r5sdk into indev 2022-09-24 00:57:24 -05:00
I-Am-Zee
3daa8a8696 Update playlist name vars 2022-09-24 00:56:14 -05:00
I-Am-Zee
0733835ce0 Merge remote-tracking branch 'upstream/master' into indev 2022-09-24 00:50:05 -05:00
Kawe Mazidjatari
72fcb28f63 Update playlists file 2022-09-24 00:13:39 +02:00
Kawe Mazidjatari
422c9952d2 Force no net processing budget on development launch v2.1_rc9 2022-09-23 00:15:28 +02:00
Kawe Mazidjatari
524962ac44 Pass -dev from the launcher
Must be passed from the launcher, as this is removed from the configuration files for prod. Ticking the development box will pass '-dev' and '-devsdk'.
2022-09-22 22:25:32 +02:00
Kawe Mazidjatari
5ce4af6ec6 Update configuration files
-dev is now removed from every prod cfg.
-developer 1 is now removed from every prod cfg.
2022-09-22 22:24:40 +02:00
Kawe Mazidjatari
23eba316df Cmd: add rate limit logic for 'Cmd_ForwardToServer'
If the client happens to exceed the quota by accident, the client will not be disconnected. This is a quality of life change. Client could still increase cl_quota_stringCmdsPerSecond to allow more submissions per second, or disabling the throttle entirely by setting cl_quota_stringCmdsPerSecond to 0.
2022-09-22 21:37:58 +02:00
Kawe Mazidjatari
484f3251d1 Variable rename for readability 2022-09-22 21:20:37 +02:00
Kawe Mazidjatari
bf16fc1a38 Fix dedicated.dll compile errors 2022-09-22 21:20:14 +02:00
Kawe Mazidjatari
d0b989be26 SQVM: fix undefined behavior when getting the error line
Leave 1 byte for the null terminator.
2022-09-22 17:51:41 +02:00
Kawe Mazidjatari
41083a7324 Revert typedef 2022-09-22 17:13:05 +02:00
Kawe Mazidjatari
de2400f6a2 Implement StrintCount utility
Counts the number or delimiters found in a given string
2022-09-22 17:08:20 +02:00
Kawe Mazidjatari
4cda4371cb ScriptFunctionBinding_t: light cleanup and map out more fields 2022-09-22 17:07:36 +02:00
Kawe Mazidjatari
7818385fa0 Improve naming convention in sqcript.h/cpp
Use Squirrel's naming convention.
2022-09-22 16:26:55 +02:00
Kawe Mazidjatari
8e880b8052 CSquirrelVM: define "DEVELOPER" at the earliest stage possible
'Script_DestroySignalEntryListHead' is the last function to be called before 'init.nut' is loaded and parsed. Defining "DEVELOPER" with value of "developer" convar allows us to utilize this constant in 'init.nut'.
2022-09-22 15:26:21 +02:00
Kawe Mazidjatari
eec4d9598e CSquirrelVM: define "DEVELOPER" to value of "ceveloper" convar
In this retail engine, "DEV" is always zero, except for scripts.rson. I think Respawn Entertainment defined this as zero for production builds under each context except the global one.. To fix this problem, we define a new constant named "DEVELOPER", change all references in scripts that where DEV (now R5DEV due to legacy reasons to mitigate this problem), to DEVELOPER. When the game is launched with -dev, anything within #if DEVELOPER with compiled, like the development behavior of DEV.
2022-09-22 15:00:01 +02:00
Kawe Mazidjatari
3af0c7c0b0 Fix dedicated.dll compile errors 2022-09-22 00:22:43 +02:00
Kawe Mazidjatari
42c6be9e08 Fix client.dll compile errors 2022-09-22 00:08:49 +02:00
Kawe Mazidjatari
678909f40f Increment SDK version
Version gate next release due to several security fixes.
2022-09-21 21:47:45 +02:00
Kawe Mazidjatari
df986f7d3b ConVar renames
Renamed:
- sv_pylonRefreshInterval => sv_pylonRefreshRate.
- sv_banlistRefreshInterval  => sv_banlistRefreshRate.
- sv_statusRefreshInterval => sv_statusRefreshRate.
2022-09-21 21:23:09 +02:00
Kawe Mazidjatari
0b77621129 Add missing function dbg print 2022-09-21 21:07:43 +02:00
Kawe Mazidjatari
63f4aafb67 Update playlists file 2022-09-21 21:04:41 +02:00
Kawe Mazidjatari
4c7ed95894 Update CFG files
Set 'sv_quota_stringCmdsPerSecond' to "256" for development.
Enable 'bhit_enable' for development.
2022-09-21 20:57:26 +02:00
Kawe Mazidjatari
c269d297b8 Update basepanel.cpp 2022-09-21 20:41:10 +02:00
Kawe Mazidjatari
8e75c57f0d Use retail/dev naming convention
Renamed 'debug' cfg's to 'dev', refered anything in code as retail/dev/prod.
2022-09-21 20:40:34 +02:00
Kawe Mazidjatari
693516ceb3 CL_CopyExistingEntity: remove Host_Error call
Calling Host_Error at this stage will cause a dead lock. Removed the call after performing several test (i think the reason all error calls are removed as of Titanfall 2 and Apex Legends (compared to Titanfall 1) is for this reason). Returning false does the job and allows the client to recover as soon as a valid packet comes in.
2022-09-21 20:13:51 +02:00
Kawe Mazidjatari
7912b79fa2 CL_CopyExistingEntity: implement missing bounds check
Implement bounds check for non-sanitized value of u.m_nNewEntity.
Debug builds of the engine have an assertion, however in release these are stripped.
This fixes a full chain client RCE exploit, for more information, see: https://ctf.re/source-engine/exploitation/2021/05/01/source-engine-2/
2022-09-21 02:38:58 +02:00
Kawe Mazidjatari
7a48c5ab6e Use shifted pointer 2022-09-21 00:38:46 +02:00
Kawe Mazidjatari
7804241376 CClient: add rate limit logic for 'ProcessStringCmd'
Client's can run string commands on the server with no rate limit. This means when you run 50k+ commands that are unknown, or spam 30k 'status' commands, you will be able to hang the server for 800/1200ms (15k/30kms if script printing to console is enabled!). Although the netchan processing budget system will kick you, the damage has already been done at this point. This change effectively breaks the ability to DOS the server from the client using networked string commands.
In easier words; binding 'status' to your mousewheel will get you kicked from the server, without hitching the server.
2022-09-20 22:48:55 +02:00
Kawe Mazidjatari
793c2e8e50 Rename 'Reputation_t' enumerant 2022-09-20 02:04:25 +02:00
Kawe Mazidjatari
dcc2c6224b Improve NetChan process time limit
* Check if m_MessageHandler is removed before running limit test.
* Add warning DevMsg if client exceeds value.
* Default 'net_processTimeBudget' value to '200'.
2022-09-20 02:00:52 +02:00
Kawe Mazidjatari
21756f8057 Update SDK version to 'VGameSDK004' 2022-09-19 20:21:40 +02:00
Kawe Mazidjatari
41f801365a CConsole: fixed color bug when missing newline
* Fixed bug where the in-game console could not color the line when no newline was found.
* Changed behavior to only newline when: '\n' has been found, or the context has changed (using a print without newline will continue to print on the same line in the console).
* Pass ImVec4 parameter in 'CTextLogger::InsertTextAt' by reference.
2022-09-19 20:21:18 +02:00
I-Am-Zee
f2eb97bb26 Merge remote-tracking branch 'upstream/master' into indev 2022-09-18 20:25:39 -05:00
Kawe Mazidjatari
7b0baf5d1f CLogSystem: make notify fade out animation 500ms slower 2022-09-19 01:46:35 +02:00
Kawe Mazidjatari
58cadb529b 'Bad behaving player' systems improvement
* Use 'CClient::Disconnect(..)' for all kicks and bans (this automatically clears the entire CClient slot, and removes the net channel).
* Only force disconnect when 'CNetChan::m_nSignonState' has a value that is not NULL.
* Clear the ServerPlayer slot on 'CClient::Disconnect(..)' and 'CClient::Connect(..)'.
* Only kick player for NetChannel overflow when value exceeds processing budget (not equals).
2022-09-19 01:28:43 +02:00
Kawe Mazidjatari
3311c99917 SQVM: use const qualifiers for SQCONTEXT 2022-09-19 01:18:14 +02:00