YOU PROBABLY SHOULDN'T PULL THIS REPO
Bot Makers Read This!
If you just want to make a bot, you don't need to be here. Instead, start with one of these:
- Python - https://github.com/RLBot/RLBotPythonExample
- Java - https://github.com/RLBot/RLBotJavaExample
- C# (and other .NET languages) - https://github.com/RLBot/RLBotCSharpExample
- Scratch - https://github.com/RLBot/RLBotScratchInterface
- Rust - https://crates.io/crates/rlbot
If you just want to play with some bots, you can go to RLBotGUI to easily start matches with bots
Framework Contributors
This repository is currently incomplete to meet the legal needs of the Psyonix API. It is missing the source code behind RLBot.exe, and a few other files. If you want to make a code change that involves RLBot.exe (or the interface dll since it's closely related), you'll need some help from someone with access to the closed repo.
We expect we'll be able to open-source everything eventually, and then this repo will be back in business.
NOTICE: We intend to cherry-pick any commits you make here into the closed repo. At a later date, when we have permission to open-source everything, we will force push the closed repo to this master branch. Your commits will still be there with proper attribution, but if you have any work in progress, it will need to be rebased at that time.
RLBot
Framework Info
The RLBot framework helps people create bots for use in Rocket League's offline modes, just for fun. It provides values from the game like car and ball position, and carries back button presses. RLBot works for up to 10 bots reliably; it can be used up to 64, but can result in issues (bots disappearing after goals, spawning inside one another, etc).
Requirements
Rocket League, Python 3.6+
Quick Start
- Run setup.bat (or equivalent if you're on Linux or Mac)
- Open a terminal and execute
python runner.py
Development Workflow
The first thing you'll want to do is run setup.bat
. This does a lot of important things:
- Sets up your rlbot installation in pip to link to your local files in this folder. Once you've done this, running rlbot from anywhere on your computer will reference these local files, including the dlls, etc.
- Generates important code based on the
.fbs
message spec. Therefore it's a prerequisite for running anything. - Installs python package dependencies.
If you're doing work that affects our .dll
or .exe
files, you should also be aware of:
copy-dlls.bat
- This copies the debug versions any built dlls from visual studio into the correct subdirectory in the python source folder.copy-dlls-release.bat
- This copies the release versions any built dlls from visual studio into the correct subdirectory in the python source folder.
For deploying changes, please see https://github.com/RLBot/RLBot/wiki/Deploying-Changes
When you're done with development and want to get back to the official rlbot version vended from https://pypi.org/project/rlbot/, the easiest way to do that is simply pip uninstall rlbot
. Then the next time you execute a bat file from one of the RLBot*Example repos, a fresh copy will be installed from pip.
Wikis
There's tons of good information at https://github.com/RLBot/RLBot/wiki
Extras
Community Info
- We have a Discord server (the heart of the community, please join!)
- We also have a subreddit.
- We are now on v4 of RLBot so be wary of outdated information.
Video Example
Tournament History
Tournament results are recorded in our braacket league.
Videos:
- Tournament 1 highlights
- Tournament 1 1v1 highlights
- Tournament 2 2v2 highlights
- Full video of the first tournament, day 1