From bd7822f17f09f9d2e309cf96486a8a7b4fc0a044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolaj=20=C3=98=20Jensen?= Date: Fri, 10 Jul 2026 19:30:54 +0200 Subject: [PATCH] Update README --- README.md | 52 ++++++++++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 0573749..4b759c8 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,28 @@ # RLBot Core -The RLBot Core Project builds a `RLBotServer.exe` binary that allows custom bots and scripts -to interface with Rocket League. +RLBot Core is the server component of the RLBot v5 framework. It allows custom bots, scripts, and match managers to communicate with Rocket League in offline mode. -This is a C# rewrite of the old C++ backend that lived at -[RLBot/src/main/cpp/RLBotInterface](https://github.com/RLBot/RLBot/tree/00720d1efc447e5495d3952a03e10b5b762421ee/src/main/cpp/RLBotInterface) in v4. +To use RLBot as a player or bot developer, please download the installer at https://rlbot.org/. ## Developer Setup -- Install .NET 10 SDK [https://dotnet.microsoft.com/en-us/download/dotnet/10.0] -- Install an IDE - - Visual Studio 2022 was used for initial development. - - Rider and VS Code are also known to work. -- Ensure submodules got cloned - - `git submodule update --init` - -## Building - -In Visual Studio 2022, you can build the solution in Release mode, and find the -compiled binaries at `RLBotCS\bin\Release\net10.0`. - -- Note: You can also build with the command `dotnet build -c "Release"` +1. Install (.NET 10 SDK)[https://dotnet.microsoft.com/en-us/download/dotnet/10.0] +1. Initialize submodules: `git submodule update --init` +1. Build: `dotnet build -c Release` ## Deployment 1. Ensure all changes are on the `master` branch. 1. Ensure the version number is correct in `RLBotCS/Main.cs`. -1. In GitHub’s UI, create and publish a new release (this will create the tag for you). - - Use the next version number, e.g. `v1.0.0`. - - Mark the release as **pre-release** initially. +1. In GitHub, create a new release. + - Name the release and the new tag after the version number, e.g. `v5.0.1` + - Mark the release as **pre-release** initially. + - Write/generate an appropriate change log. 1. Wait for the GitHub Actions workflow to build the release and upload it to the release page. 1. After the workflow finishes, edit the release and set it as the **latest release**. -### Release rollbacks - -Instances of RLBot download the version tagged as the latest release. To rollback a release or otherwise change the version being distributed, simply **mark any other verison at the latest release** in GitHub's UI. +> [!TIP] +> RLBot clients download the version tagged as the latest release. To rollback a release or otherwise change the version being distributed, simply mark an older version at the latest release in GitHub. ## Maintenance @@ -44,16 +32,16 @@ This project uses the CSharpier formatter. You can run it with `dotnet csharpier ### Flatbuffers -The Core project uses flatbuffers, which involves generating C# code based on a specification -file called `rlbot.fbs`. Find this in `./FlatBuffer` after it's been generated. - -The [flatbuffers-schema](https://github.com/RLBot/flatbuffers-schema) submodule should be kept update to date: +Communication with RLBotServer uses [FlatBuffers](https://flatbuffers.dev/). +The schema is held in the [flatbuffers-schema](https://github.com/RLBot/flatbuffers-schema) submodule +and used to generate FlatBuffers classes during compilation. +The generated C# files are written to `FlatBuffer/`. -- `cd flatbuffers-schema` -- `git checkout main` -- `git pull` +Update the submodule as follows: -The needed Flatbuffers code is automatically generated upon compilation of the project. +1. `cd flatbuffers-schema` +1. `git checkout main` +1. `git pull` ### Bridge @@ -64,7 +52,7 @@ The dll file is platform-independent and works for building the project on both ### rl_ball_sym -The native binaries that live in `RLBotCS/lib/rl_ball_sym` generate the ball prediction that core then distributes to bots & scripts that request it. +The native binaries that live in `RLBotCS/lib/rl_ball_sym` generate ball predictions that core then distributes to bots & scripts that request them. The `dll`/`so` are dynamically loaded at run time while developing core, and the `a`/`lib` files are statically linked during publishing. All source code and releases for building the dlls can be found at but the core of the code is a library that's published for anyone's use at .