RLBot Sockets Specification
Data Types
Bold items indicate the messages that bots/scripts/etc. can recieved from RLBot.
- None
- Aka the disconnect request. This can be sent to indicate that you want to disconnect, and this message will be sent back as confirmation of the disconnect. Ideally your bot only disconnects after this message is sent. If anything else happens, an error should be put out.
- GamePacket
- Received by sessions at a high rate according to tick rate
- FieldInfo
- Received by a session after it sends
ConnectionSettings
.
- Received by a session after it sends
- StartCommand
- Starts a new match after reading the given config file.
- MatchConfig
- Received by a session after it sends
ConnectionSettings
. - Can be sent by sessions to start a new match.
- Received by a session after it sends
- PlayerInput
- Sent by sessions to control their cars.
- DesiredGameState
- Sent by sessions to change the game state.
- Ignored if state setting was disabled in the match settings.
- RenderGroup
- Sent by sessions to render lines & text in the game.
- Ignored if render setting was disabled in the match settings.
- RemoveRenderGroup
- Sent by sessions to remove a render group.
- Ignored if render setting was disabled in the match settings.
- MatchComm
- A copy is received by sessions when another session sends the message.
- Messages may not be received if the message was filtered due to
team_only
being requested in the message. - Only received if enabled in
ConnectionSettings
.
- BallPrediction
- Received by sessions right before every
GamePacket
if enabled inConnectionSettings
.
- Received by sessions right before every
- ConnectionSettings
- Sessions send this immediately after connecting.
- Tells the server what kind of data it wants to receive.
- StopCommand
- Ends the current match, and optionally tells
RLBotServer.exe
to shut itself down.
- Ends the current match, and optionally tells
- SetLoadout
- Sent by sessions to change the loadout of their cars.
- Will always work if a loadout was not specified in match settings and when sent before
InitComplete
. - Ignored if state setting was disabled in the match settings, and a loadout was set in match settings.
- InitComplete
- Indicates that the session has finished all initialization and is ready to start receiving game messages without delay.
- The match will not start until all sessions have sent this message.
- There is no data associated with this message.
- ControllableTeamInfo
- Contains information about the cars that the client can control.
- Received by a session after it sends
ConnectionSettings
. - There may be more than one car in case the bot is a hivemind.