r5sdk/README.md

57 lines
3.3 KiB
Markdown
Raw Normal View History

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
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:
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.
1. All binaries and symbols are compiled to the `game` folder.
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`.
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
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]
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.<br />
2023-03-19 11:09:42 +01:00
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`.
2023-03-19 01:54:59 +01:00
- `Offline`: No data is broadcasted to the Pylon master server; you are playing offline.
2023-03-19 11:09:42 +01:00
- `Hidden`: Your server will be broadcasted to the Pylon master server, but could only be joined using a private token.
2023-03-19 01:54:59 +01:00
- `Online`: Your server will be broadcasted to the Pylon 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.