# rlbot [![crates.io](https://img.shields.io/crates/v/rlbot.svg)](https://crates.io/crates/rlbot) [![docs](https://docs.rs/rlbot/badge.svg)](https://docs.rs/rlbot/) [![Build Status](https://travis-ci.org/whatisaphone/rlbot-rust.svg?branch=master)](https://travis-ci.org/whatisaphone/rlbot-rust) [RLBot] is a framework for creating offline Rocket League bots. This crate lets you write bots using a simple, safe interface that should feel comfortable to Rust developers. **Documentation:** [We have it.](https://docs.rs/rlbot/) **Stability:** As you might notice, we're still on version 0.x. Breaking changes are still possible at this stage. Join the [Discord] to keep up-to-date! **Compatibility**: We target the latest version of RLBot, and the latest stable version of Rust. [RLBot]: https://github.com/RLBot/RLBot [Discord]: https://discordapp.com/invite/XhrQGf ## Usage Your code will look a little something like this: ```rust use rlbot::ffi; fn main() -> Result<(), Box> { rlbot::run_bot(MyBot { /* ... */ }) } struct MyBot { /* ... */ } impl rlbot::Bot for MyBot { fn tick(&mut self, packet: &ffi::LiveDataPacket) -> ffi::PlayerInput { // ... } } ``` This library comes with plenty of examples to get you started. For a list of examples, check out the [docs]. [docs]: https://docs.rs/rlbot/ ### Installing the framework RLBot is needed to use this RLBot binding, of course. If the framework is not found in any of Windows's [DLL search locations], `init()` will return this error: [DLL search locations]: https://docs.microsoft.com/en-us/windows/desktop/dlls/dynamic-link-library-search-order#standard-search-order-for-desktop-applications ```text Os { code: 2, kind: NotFound, message: "The system cannot find the file specified." } ``` RLBot is written in Python, so you can get a copy with `pip`: ```sh pip install rlbot ``` Then add RLBot's DLL directory to your `PATH`. On my system it ended up here: ```sh C:\Python36\Lib\site-packages\rlbot\dll ```