IcePixelx 212eeb87af Squashed commit of the following:
commit 477152b35443246dace6f5b4deccd52ea1cc6e9c
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Fri Dec 31 03:45:48 2021 +0100

    Fix compiler error

commit 5f664d8e6ba9a2e0bd72c29c5f4ba5279e29e75a
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Fri Dec 31 03:41:33 2021 +0100

    Create signatures for all used Dedicated functions

commit 2c7ced128d8c48a5abf8fd64dbb06909dc632f35
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Thu Dec 30 22:13:15 2021 +0100

    Heavy dedicated cleanup

    * Since the material mode is set to '2', all of the render loops and shader loading functions are no longer called. These have all been removed.
    * Added description for patches that missed them
    * Traced root caller/cause for certain patches to skip even more unnecessary code and save more memory.

commit 22c0b5c867664a2524c18d865dbc54ff067dda22
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Thu Dec 30 17:20:41 2021 +0100

    Dedicated server improvements

commit 6d4f7e345f38872ce45751604b40871b969cec8f
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Thu Dec 30 02:47:42 2021 +0100

    Fix a typo

commit 39a8a8fd30612522a274e1474c9a66e5019aeea3
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Thu Dec 30 02:36:43 2021 +0100

    Implement patch to enable 'DrawAllOverlays()'.

commit 83129e88f8a6033f8f4c13e3cac639097068cb3c
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Wed Dec 29 22:59:34 2021 +0100

    Fix LLVM compiler error

commit c48ed7f7a53a9985e3c2642db3639007d7c9129a
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Wed Dec 29 18:06:37 2021 +0100

    Rename dedicated variables

commit d1ba2bd56720a0776824a8e309d7d859704244bc
Author: IcePixelx <41352111+PixieCore@users.noreply.github.com>
Date:   Wed Dec 29 15:35:48 2021 +0100

    Fixed changelevel, needs more research tho.

commit 46950125716c05171f25a12d8805811112e90551
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Wed Dec 29 13:58:03 2021 +0100

    Fix 'C_PropDoor' not spawning properly on the server

commit 6a9a00735a9d4b8c415acc248c83e6e8d6dc2ff1
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Wed Dec 29 13:57:16 2021 +0100

    Rename hooked command callbacks

commit b514f928a69a9c4ac1d3d1e5c662f93a1f0d131d
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Wed Dec 29 02:16:21 2021 +0100

    Use a separate executable for dedicated server

    The dedicated server still has directx dll imports which will cause issues with ReShade or 3DMigoto, or trying to load it on a headless machine with no directx installed. The imports have to be cleared to avoid issues. The most convenient approach is to do this with a separate exe rather then patching it in runtime.

commit bc8f9400d3911e360757059700a31510e329546d
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Wed Dec 29 00:18:56 2021 +0100

    Fix collisions for headless dedicated server

commit 0e36aa647ffb15ca4f8c76b0431f7c3a83741d80
Author: Amos <48657826+Mauler125@users.noreply.github.com>
Date:   Tue Dec 28 20:19:17 2021 +0100

    Dedicated without ShaderApi and DirectX pre-alpha

    The instruction at 'CalcPropStaticFrustumCull' [0x14028F3B0 + 0x5C7] moves RSP + 0x70 into the R13 register.
    RSP + 0x70 seems to contain a pointer to collission data for that particular prop model.
    When running NoShaderApi() and passing the dedicated server the '-noshaderapi' command line parameter, RSP + 0x70 will be a nullptr.
    This has to be fixed to have prop static collissions on the server.
2022-01-03 14:59:32 +01:00
2022-01-03 14:59:32 +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%