Amos d5b2e58dae Code base refactor + major performance and readability improvement. Read description for details.
* Codebase restructured to SourceSDK codebase style and .cpp/.h assertion paths in the game executable.
* Document most functions with valve style 'Purpose' blocks.
* Rename variables to match the rest of the codebase and Valve's naming convention.
* Dedicated DLL and the SDKLauncher now share the same codebase as the DevSDK.

* Obtain globals or pointers directly instead of waiting for runtime initialized data.
* Dynamically search for all functions and globals (this doesn't count for dedicated yet!).
* Initialize most in-SDK variables.

* Move certain prints and other utilities under ConVars to reduce verbosity and increase performance.
* Print all pattern scan results through a virtual function to make it easier to add and debug new patterns in the future.
* Type global var pointers appropriately if class or type is known and implemented.
* Forward declare 'CClient' class to avoid having 2 'g_pClient' copies.
* Add IDA's pseudo definitions for easier prototyping with decompiled assembly code.

* RPAK decompress Command callback implementation.
* Load decompressed RPaks from 'paks\Win32\' overriding the ones in 'paks\Win64\' (the decompress callback will automatically fix the header and write it to 'paks\Win32\').

* VPK decompress Command callback implementation.
* Move CRC32 ands Adler32 to implementation files.

* Server will print out more details about the connecting client.

* Upgrade ImGui lib to v1.86.
* Don't compile id3dx.h for dedicated.
* Don't compile id3dx.cpp for dedicated
* Implement DevMsg print function allowing to print information to the in-game VGUI/RUI console overlay, ImGui console overlay and the external windows console

* Fixed bug where the Error function would not properly terminate the process when an error is called. This caused access violations for critical/non-recoverable errors.
* Fixed bug where the game would crash if the console or server browser was enabled while the game was still starting up.
* Several bug fixes for the dedicated server (warning: dedicated is still considered work-in-progress!).
2021-12-25 22:36:38 +01:00
2021-07-16 23:10:10 +03:00
2021-08-15 00:49:28 +02:00

Note [Important]

This is not a cheat or hack. Do not attempt to use this on the latest version of the game

Apex

APEX Legends / R5 Server Engine research

  • Detours-based Visual Studio project for hooking the game engine

R5Dev

Instructions are kinda outdated. Will be updated soon.

To use the vs project / engine hooking, here are some basic instructions:

  1. Build the solution
    • or get the binaries from the releases page of this repo
  2. Copy r5detours.dll and launcher.exe to the apex game folder
  3. Copy the unpacked version of r5apex.exe over the original in your game folder
  4. Run launcher.exe

The game will pop a debug terminal, that will forward your commands directly to the in-game source console backend. SQVM prints are also enabled, and the hooks will attempt to load game vscripts out of platform\ relative from the game executable before falling back to the SearchPath's defined in GameInfo.txt or the in-memory VPK structures.

R5Net DISCLAIMER

When hosting to the Server Browser (R5Net) you will stream your IP to that database which will be stored there till you stop hosting the server.

This is NEEDED so you can even connect to other players servers.

There is a Checkbox that is by default disabled that allows you to stream to the server browser.

If you tick that and don't assign a password your server will be visible in the server browser.

But if you assign a password you will get a token as a response and a password and it won't be visible in the server browser.

People can join with that over the "Private Servers" button.

If you do that your IP will still be stored on the database till you stop hosting the server to ensure people can connect.

Alternative way is just to host the server without ticking the server browser checkbox and just give the people you want to connect the IP including the port.

TL;DR If you tick the server browser box in "Host Server" your IP will be stored till you close the server.

Description
No description provided
Readme 47 MiB
Languages
C++ 83.8%
C 14.8%
CMake 1.1%
Batchfile 0.2%
Python 0.1%