User Tools

Site Tools


developer:legacy_protocol

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

developer/legacy_protocol.txt · Last modified: 2025/01/24 23:38 by bunnynabbit