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. Messages start with a byte specifying its message type.
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 |
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 |
Appends a message to the chat log.
Type | Description |
---|---|
String | Message |
Type | Description |
---|---|
Uint32 | Net ID of brick |
String | Attribute type |
Sets position of brick.
Type | Description |
---|---|
Float | X position |
Float | Y position |
Float | Z position |
Old method of setting brick rotation. Only allows Z rotation to be set.
Type | Description |
---|---|
Uint32 | Z rotation |
Sets brick rotation.
Type | Description |
---|---|
Int32 | X rotation |
Int32 | Y rotation |
Int32 | Z rotation |
Sets brick scale.
Type | Description |
---|---|
Uint32 | X scale |
Uint32 | Y scale |
Uint32 | Z scale |
Time is in milliseconds.
Activates physics on brick and remove brick from world after set time.
Type | Description |
---|---|
Uint32 | Time |
Time is in milliseconds.
Deletes brick from world.
Type | Description |
---|---|
Float | Color |
Sets color of brick.
Type | Description |
---|---|
Float | Color |
Sets transparency of brick.
Type | Description |
---|---|
Float | Alpha |
Alpha value ranges from 0 to 1.
Sets light color of brick.
Type | Description |
---|---|
Uint32 | Color |
Sets light range of brick.
Type | Description |
---|---|
Uint32 | Mesh UUID |
Sets mesh on brick.
Type | Description |
---|---|
String | Mesh UUID |
String | Texture UUID |
A mesh UUID of none
will remove the mesh.
Sets clickable status on brick.
Type | Description |
---|---|
Boolean | Clickable enabled |
Uint32 | Click distance |
Sets collision of brick.
Type | Description |
---|---|
Boolean | Collision enabled |
Moves brick to the internal global cluster model.
Delete bricks from the world.
Loads bricks into the world.
Deletes all bricks from the world. No message data is specified.
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 |
todo