Skip to content

RLBot Sockets Specification

Data Types

Bold items indicate the messages that bots/scripts/etc. can recieved from RLBot.

  1. 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.
  2. GamePacket
    • Received by sessions at a high rate according to tick rate
  3. FieldInfo
    • Received by a session after it sends ConnectionSettings.
  4. StartCommand
    • Starts a new match after reading the given config file.
  5. MatchConfig
    • Received by a session after it sends ConnectionSettings.
    • Can be sent by sessions to start a new match.
  6. PlayerInput
    • Sent by sessions to control their cars.
  7. DesiredGameState
    • Sent by sessions to change the game state.
    • Ignored if state setting was disabled in the match settings.
  8. RenderGroup
    • Sent by sessions to render lines & text in the game.
    • Ignored if render setting was disabled in the match settings.
  9. RemoveRenderGroup
    • Sent by sessions to remove a render group.
    • Ignored if render setting was disabled in the match settings.
  10. 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.
  11. BallPrediction
    • Received by sessions right before every GamePacket if enabled in ConnectionSettings.
  12. ConnectionSettings
    • Sessions send this immediately after connecting.
    • Tells the server what kind of data it wants to receive.
  13. StopCommand
    • Ends the current match, and optionally tells RLBotServer.exe to shut itself down.
  14. 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.
  15. 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.
  16. 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.