Skip to content

Network Protocol

Trollhunters501 edited this page Jun 13, 2026 · 8 revisions

BrickRPBridge Protocol is a project to connect game servers that only use the HTTP protocol, enabling cross-play or optimized communication based on data packets in bytes to make communication as compressed as possible.

Support (in progress)

servers that fully support:

Most Nukkit Cores

clients that fully support:

Roblox, Polytoria

Negotiation

To connect to a BrickRPBridge server you need to provide a password, the server id, world name, game id (see GameIds), uuidpass (unused in client, provide an empty string) and the protocol version.

LoginServer Packet

Packet ID Field Name Field Type Example Notes
Password String helloworld123 Password to log in
ServerId String 19292939402 Server ID (can be random or depends on the game)
0x01 (1) Level String Lobby Name of the world to which the game belongs or place of the experience
GameId String RBX Game ID that logs in: See GameIds
UuidPass String DUUID A generated double UUID (The client sends an empty string and the server responds with a valid double UUID)

After sending the Login, in subsequent requests you must add the "UUID" header with the UuidPass provided by the server and "IdServer" with the server ID.

Packets

Note

The String is patched with a short and bytes from the String; the short represents the length of bytes of the String to be patched (see ByteBufProvider).

Packet ID Is Byte

Chat

Send messages to specific players.

Packet ID Field Name Field Type Example Notes
Message String Hello World Player/Server Message
0x02 (2) PlayerIdRP String 20283739103 Player ID sending the message (empty if it's a server message)
Type byte 0x01 Message type, the player is always 0x01 for the server there are different types, (see ChatPacket.Type)

Move

Send or receive data on the movement of players or entities

Packet ID Field Name Field Type Example Notes
X Float 230.5 Position X in the world
Y Float 230.5 Position Y in the world
Z Float 230.5 Position Z in the world
0x03 (3) Yaw Float 100.0 Orientation (right-left) at the entity location.
Pitch Float 10.0 Orientation (up-down) at the entity location.
Eid Long 5 Entity ID (0 if it is an RP Player)
PlayerIdRP String 1927402831 Player ID (empty if it's a Entity)

Form

Send forms based on Minecraft Bedrock Forms or receive form responses if you are a client.

Packet ID Field Name Field Type Example Notes
ID Int 5 form id
Close Boolean/byte false/0 close Form (server only, client is always false), if true no more data is written or read after the player id
0x04 (4) PlayerIdRP String 1927402831 Player ID
Window Serialized FormWindow Serialized SimpleFormWindow Data to display in the Form (this data only for server)
Response String 5 Response data according to form type (this data only for client)

Serialized FormsWindows

Type ID Is byte

FormWindowModal

Type ID Field Name Field Type Example Notes
Title String Selection Form title
0x02 (2) Content String you're sure? Form content
Button1 String yes Button 1 content
Button2 String no Button 2 content

...

Clone this wiki locally