438 Commits

Author SHA1 Message Date
Amos
fd924b56e8 Shutdown dedicated dll properly
Systems where not getting shutdown properly. For dedicated 'ExitProcess()' in the GameDLL caused 'abort()' to get called even when systems where shutdown properly. We call TerminateProcess after all systems have shutdown properly in the SDK and GameDLL.
2022-02-18 14:00:58 +01:00
Amos
9e21284172 Fix dedicated crash during script error + shutdown game properly when tasked by user 2022-02-18 02:51:16 +01:00
Amos
5d60324a2e Add more color logging + RCON color logging 2022-02-17 18:00:29 +01:00
Amos
15897c0ea1 Small logging improvement 2022-02-16 01:53:31 +01:00
Amos
d3aea2a33f Add RCON config files 2022-02-15 02:33:20 +01:00
Amos
12c537284f Slight cleanup 2022-02-15 02:31:41 +01:00
Amos
22cfc084af Fix linker warning 2022-02-15 02:29:40 +01:00
Amos
10174a6206 Initial game client RCON implementation 2022-02-14 23:16:24 +01:00
Amos
976e8d9a41 Use SHA256 for password comparison
Put debug logging under cvar to avoid abusing by attempting to slow down server.
2022-02-14 03:02:38 +01:00
Amos
04be5e0e64 Use WSA error codes for startup/shutdown 2022-02-14 02:33:13 +01:00
Amos
6e3fb73a82 Update comment blocks 2022-02-14 02:31:42 +01:00
IcePixelx
308160369e RTech::UnloadAsset comment and rpak header rename. 2022-02-13 17:13:54 +01:00
IcePixelx
71dabb52e1 RTech var renames and struct renames. 2022-02-13 17:07:02 +01:00
Amos
a5b3b2dea4 Update comment blocks 2022-02-13 15:16:09 +01:00
Amos
9c8644e645 Implement stream serialization/deserialization in RCON server and client 2022-02-13 15:10:38 +01:00
IcePixelx
0dd4d9bdfa WE:AD changes in playlist. Read description.
Including every map in the playlists is a good idea.
The present issue is WE:AD not being shipped in retail season 3.
It's a separate download.

Setting it to 1 will include it in the randomized map select.
Setting it to 0 will make it able to be used with the playlist but will be exluded from said randomized map select.

It's set to 0 now to avoid the game from closing incase it hits said scenario.
2022-02-12 16:41:50 +01:00
Amos
32a9e2e91b Merge branch 'indev' of https://github.com/Mauler125/r5sdk into indev 2022-02-11 12:32:17 +01:00
PixieCore
db5b841b2c
fix typo in readme 2022-02-11 11:15:50 +01:00
Amos
822f2b3de8 Rename request to response
Small mistake
2022-02-11 01:23:37 +01:00
Amos
4ffa3d7113 Change pre/post build events
* Compile protobuf if static lib isn't found
* Only copy dll's and exe's after build if the SDK is cloned into the mod directory of the game
2022-02-11 00:46:41 +01:00
Amos
e864f773a1 Add protobuf files
.proto for sv_rcon and cl_rcon + compiled results
2022-02-11 00:38:50 +01:00
Amos
6aabd822e7 Add playlist file to repo 2022-02-10 00:48:56 +01:00
Amos
f4839bdd9a Add pdef files to repo 2022-02-10 00:48:44 +01:00
Amos
79038a59aa Add mandatory cfg files to repo 2022-02-10 00:48:24 +01:00
Amos
15b5aefc63 Compile static 2022-02-10 00:39:40 +01:00
Amos
69aec8e205 Rename to gamesdk 2022-02-10 00:29:19 +01:00
Amos
f7df14d153 Add protobuf library to project 2022-02-10 00:19:49 +01:00
Amos
ad65ff1f63 Small change 2022-02-09 21:29:34 +01:00
IcePixelx
8d33d01cd6 take strings by reference and not copy in netadr2.cpp 2022-02-09 17:02:43 +01:00
Amos
a5da2e81bf RCON improvements (see description)
** SERVER **
* Close redundant connections if max sockets have been reached.
* Ban if client keeps spamming without authing first (ignoring message).
* Check for whitelisted address before issuing bans (whitelisted address in ConVar 'sv_rcon_whitelist_address' will never get banned or get its connection terminated.
* Transmit SQVM and DevMsg logs over the wire to the net console.

** NETCON **
* IPv6 support.
* Close connection properly after FIN request.
* Prompt user to reconnect after connection has been terminated instead of closing the application.
* Add proper quit command.

** SDKLAUNCHER **
* Rename to 'launcher.exe' to describe its purpose better. Our logo gets printed nice and large on the console during startup.

** SDK **
* Cleanup.
v2.0.2 v2.0.3
2022-02-08 16:32:00 +01:00
Amos
3411c41eac ConVar optimizations 2022-02-06 19:15:34 +01:00
Amos
7fff22ccec Slight cleanup 2022-02-06 17:27:47 +01:00
Amos
bba0120e88 Fix small bug in netconsole
Changed member params but forgot to change thread invocation params
2022-02-06 17:07:27 +01:00
Amos
d555c39434 Rename to 'cmd' 2022-02-06 17:06:22 +01:00
Amos
c187bed4c5 RCON implementation (see description)
* Fully rewritten protocol agnostic CNetAdr class
* Fully rebuilded legacy CNetAdr class
* Fully rebuilded dual-stack CSocketCreator class
* New project "netconsole" added (lightweight netconsole for RCON)

RCON is still work in progress
2022-02-06 16:48:52 +01:00
Amos
d3d1e673ae Fix IConsole assertions 2022-02-06 16:33:11 +01:00
Amos
f51bd431f4 Add comment regarding exception 2022-02-06 16:30:05 +01:00
Amos
ee82a58133 Create RCON ConCommand 2022-02-06 15:59:46 +01:00
Amos
70a5f77121 Create RCON ConVar's 2022-02-06 15:54:52 +01:00
Amos
174db2fd95 Initialize Winsock 2022-02-06 15:44:39 +01:00
Amos
3a852b63d2 Fix Engine Error bug 2022-02-06 15:43:05 +01:00
IcePixelx
03b5f18435 load imgui config from disk only when creating dx instance. 2022-01-31 18:47:21 +01:00
IcePixelx
2037ffa1f2 convar creation suggestion. 2022-01-29 18:00:29 +01:00
Amos
2e8cc3e7b1 Update ImGui default theme 2022-01-28 12:56:51 +01:00
Amos
7704559869 Revert "Also load files from main directory"
This reverts commit ac566d73aaafd18c686579f7eba34430e54b44c7.
2022-01-28 01:32:55 +01:00
Amos
65299affa1 Fix issue where connected clients could kick/ban players
This was caused by a bad mistake I made when setting flags for ConVars and ConCommands.

Set 'IsFlagSet()' query debug ConVars as Replicated.
2022-01-28 01:32:27 +01:00
Amos
ac566d73aa Also load files from main directory
Still compatible with previous commit
2022-01-27 04:12:41 +01:00
Amos
3eec52e79b Fix dedicated server crash for Linux (Lutris and Wine)
The issue was caused by checking if a file with '//*/' in its path exist on the disk. This causes crashes on Lutris and Wine.
2022-01-27 03:55:47 +01:00
Amos
edac787bf7 Fix compiler error caused by merge from separate branch 2022-01-26 23:48:52 +01:00
Amos
f488b7e75e Load 'server' VPK's instead if the dedicated server is a standalone dedicated server
* Load server VPK's instead of client VPK's on standalone servers
* Dynamically search for 'g_bDedicated' global boolean instead of hardcoded address
* Add 'PatchString' to memory class
2022-01-26 23:45:58 +01:00