Crate rlbot[][src]

RLBot is a framework for creating offline Rocket League bots. This crate exposes Rust bindings to RLBot's RLBot_Core_Interface.dll. It presents a simple, safe interface that should feel comfortable to Rust developers.

Most types in this crate come directly from RLBot, so for anything not documented here, you'll need to use RLBot's docs as the authoritative reference.

When using this crate, you'll always start out by calling init. It will return an RLBot instance with which you can begin using the framework.

Example usage:

let rlbot = rlbot::init()?;
rlbot.start_match(rlbot::MatchSettings::simple_1v1("Hero", "Villian"))?;

let mut packets = rlbot.packeteer();

// Wait for the match to start. `packets.next()` sleeps until the next
// packet is available, so this loop will not roast your CPU :)
while !packets.next()?.GameInfo.RoundActive {}

loop {
    let packet = packets.next()?;
    let input: rlbot::PlayerInput = Default::default();
    rlbot.update_player_input(input, 0)?;
}

Structs

BallInfo
BoostInfo
BoostPad
FieldInfo
GameInfo
GoalInfo
LiveDataPacket
MatchSettings
MutatorSettings
Packeteer

An iterator-like object that yields LiveDataPackets from the game as they occur.

Physics
PlayerConfiguration
PlayerInfo
PlayerInput
RLBot

The main interface to RLBot. All the RLBot calls that are available can be made through this struct.

Rotator
ScoreInfo
Touch
Vector3

Enums

BallBouncinessOption
BallMaxSpeedOption
BallSizeOption
BallTypeOption
BallWeightOption
BoostOption
BoostStrengthOption
DemolishOption
GameMap
GameMode
GameSpeedOption
GravityOption
MatchLength
MaxScore
OvertimeOption
QuickChatPreset
RLBotCoreStatus
RespawnTimeOption
RumbleOption
SeriesLengthOption

Functions

init

Injects the RLBot core DLL into Rocket League, and initializes the interface DLL. This function might sleep for a bit while it waits for RLBot to fully initialize.

Type Definitions

CallbackFunction