2023-03-19 01:54:59 +01:00
# Source SDK
* This repository houses the source code for the development package targeting the game **Apex Legends** .
## Building
2023-05-14 14:57:06 +02:00
R5sdk uses the CMake project generation and build tools. For more information, visit [CMake ](https://cmake.org/ ).< br />
2023-03-19 01:54:59 +01:00
In order to compile the SDK, you will need to install Visual Studio 2017, 2019 or 2022 with:
* Desktop Development with C++ Package.
* Windows SDK 10.0.10240.0 or higher.
* C++ MFC build tools for x86 and x64.
2023-04-01 22:45:27 +02:00
* [Optional] C++ Clang/LLVM compiler.
2023-03-19 01:54:59 +01:00
Steps:
2023-05-14 14:57:06 +02:00
1. Download or clone the project to anywhere on your disk.
1. Run `CreateSolution.bat` in the root folder, this will generate the files in `build_intermediate` .
2023-03-19 01:54:59 +01:00
2. Move all the game files in the `game` folder so that the path `game/r5apex(_ds).exe` is valid.
2022-10-10 21:33:04 +02:00
2. Open `r5sdk.sln` in Visual Studio and compile the solution.
2024-06-04 11:59:03 +02:00
1. All binaries and symbols are compiled to the `game` folder.
2023-05-14 14:57:06 +02:00
2. Run `launcher.exe` , toggle and set the desired options and hit the `Launch Game` button.
2023-03-19 01:54:59 +01:00
## Debugging
The tools and libraries offered by the SDK could be debugged right after they are compiled.
Steps:
2023-03-19 02:02:45 +01:00
1. Set the target project as **Startup Project** .
2023-03-19 11:09:42 +01:00
1. Select `Project -> Set as Startup Project` .
2023-03-19 01:54:59 +01:00
2. Configure the project's debugging settings.
2023-03-19 11:09:42 +01:00
1. Debug settings are found in `Project -> Properties -> Configuration Properties -> Debugging` .
2024-06-04 11:59:03 +02:00
2. Additional command line arguments could be set in the `Command Arguments` field.
2023-03-19 01:54:59 +01:00
## Launch Parameters
- The `-wconsole` parameter toggles the external console window to which output of the game is getting logged to.
2023-04-10 02:11:25 +02:00
- The `-ansicolor` parameter enables colored console output to enhance readability (NOTE: unsupported for some OS versions!).
2023-03-19 01:54:59 +01:00
- The `-nosmap` parameter instructs the SDK to always compute the RVA's of each function signature on launch (!! slow !!).
2023-03-19 11:09:42 +01:00
- The `-noworkerdll` parameter prevents the GameSDK DLL from initializing (workaround as the DLL is imported by the game executable).
2022-10-10 21:33:04 +02:00
2023-05-14 14:57:06 +02:00
Launch parameters can be added to the `startup_*.cfg` files,< br />
2022-10-10 21:33:04 +02:00
which are located in `<gamedir>\platform\cfg\startup_*.cfg` .
2021-08-15 00:48:07 +02:00
2023-03-19 11:09:42 +01:00
## Note [IMPORTANT]
2024-06-06 11:12:05 +02:00
This is not a cheat or hack; attempting to use the SDK on the live version of the game could result in a permanent account ban. The supported game versions are:
2021-08-15 00:48:07 +02:00
2023-03-19 02:02:45 +01:00
* S3 `R5pc_r5launch_N1094_CL456479_2019_10_30_05_20_PM` .
2021-08-15 00:47:41 +02:00
2023-03-19 11:09:42 +01:00
## Pylon [DISCLAIMER]
2023-03-19 02:02:45 +01:00
When you host game servers on the Server Browser (Pylon) you will stream your IP address to the database,
2023-03-19 01:54:59 +01:00
which will be stored there until you stop hosting the server; this is needed so other people can connect to your server.
2022-01-16 02:57:18 +01:00
2023-03-19 02:02:45 +01:00
There is a checkbox in the Server Browser called `Server Visibility` that defaults to `Offline` .
2024-06-06 11:10:08 +02:00
- `Offline` : No data is broadcasted to the master server; you are playing offline.
- `Hidden` : Your server will be broadcasted to the master server, but could only be joined using a private token.
- `Online` : Your server will be broadcasted to the master server, and could be joined from the public list.
2022-01-16 02:57:18 +01:00
2023-03-19 11:09:42 +01:00
Alternatively, you can host game servers without the use of our master server. You can grant people access to your game server
2022-10-10 21:33:04 +02:00
by sharing the IP address and port manually. The client can connect using the `connect` command. The usage of the `connect`
2023-03-19 02:02:45 +01:00
command is as follows: IPv4 `connect 127.0.0.1:37015` , IPv6 `connect [::1]:37015` . NOTE: the IP address and port were examples.