https://github.com/rlbot/core
RLBotServer implementation in C#, with a smaller closed-source portion.
https://github.com/rlbot/core
flatbuffers rocket-league
Last synced: 2 days ago
JSON representation
RLBotServer implementation in C#, with a smaller closed-source portion.
- Host: GitHub
- URL: https://github.com/rlbot/core
- Owner: RLBot
- License: mit
- Created: 2022-04-18T23:57:41.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2026-06-06T03:26:08.000Z (6 days ago)
- Last Synced: 2026-06-06T05:11:02.316Z (6 days ago)
- Topics: flatbuffers, rocket-league
- Language: C#
- Homepage: https://rlbot.org/v5
- Size: 8.03 MB
- Stars: 16
- Watchers: 1
- Forks: 10
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RLBot Core
The RLBot Core Project builds a `RLBotServer.exe` binary that allows custom bots and scripts
to interface with Rocket League.
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.
## 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"`
## 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. 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.
## Maintenance
### Formatting
This project uses the CSharpier formatter. You can run it with `dotnet csharpier format .`
### 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:
- `cd flatbuffers-schema`
- `git checkout main`
- `git pull`
The needed Flatbuffers code is automatically generated upon compilation of the project.
### Bridge
The `Bridge.dll` file in `RLBotCS/lib` is built from a _closed-source_ repository due to legal reasons.
It is maintained by RLBot developers who have signed an agreement with Psyonix to keep it private.
The dll file is platform-independent and works for building the project on both Windows and Linux.
### 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 `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 .