Repository navigation
Network Protocol
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.
servers that fully support:
clients that fully support:
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.
| 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.
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
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) |
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) |
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) |
Type ID Is byte
| 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 |
...