Table of Contents
Legacy Protocol
A networking protocol used by the legacy client/server. It is built on the message format of the Http Dll 2 GameMaker extension. Every message may be optionally compressed with deflate. Client and server will always attempt to decompress messages.
Data types
All data types are little-endian.
Type | Format |
---|---|
String | Null terminated UTF-8 |
Byte | 8-bit byte |
Float | 32-bit float |
Boolean | 8-bit byte, non-zero meaning true |
Uint32 | |
Varint | todo |
Server to client
Login (0x01)
Used for identifying the player logging in and creates the brick loading message.
Type | Description |
---|---|
Uint32 | Net ID of player |
Uint32 | Brick count of world |
Uint32 | User ID of player |
String | Username of player |
Boolean | Is admin |
Byte | Membership type |
Uint32 | Set ID |
String | Set Name |
Message (0x06)
Appends a message to the chat log.
Type | Description |
---|---|
String | Message |
Set brick attribute (0x09)
Delete bricks (0x10)
Delete bricks from the world.
Create bricks (0x11)
Loads bricks into the world.
Clear world (0x0E)
Deletes all bricks from the world. No message data is specified.
Brick model (0x14)
What happens if a brick model is defined for an already existing mesh ID? Knowing what happens may be useful information.
Defines a mesh made out of bricks to the mesh cache. The model can then be used as a brick model or a hat by using the newly defined mesh ID.
Type | Description |
---|---|
String | Mesh ID |
Uint32 | Brick count of model |
Bricks are defined for the number of bricks in model.
Type | Description |
---|---|
Float | X position |
Float | Y position |
Float | Z position |
Float | X scale |
Float | Y scale |
Float | Z scale |
Int32 | X rotation |
Int32 | Y rotation |
Int32 | Z rotation |
Uint32 | Color |
Float | Alpha |
Client to server
todo