User Tools

Site Tools


developer:legacy_protocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
developer:legacy_protocol [2025/01/24 23:38] – [Brick model (0x14)] Add TODO notice for testing duplicate meshes bunnynabbitdeveloper:legacy_protocol [2025/06/29 20:00] (current) – Add client type byte bunnynabbit
Line 1: Line 1:
 ====== Legacy Protocol ====== ====== Legacy Protocol ======
  
-A networking protocol used by the legacy client/server. It is built on the message format of the [[https://www.maartenbaert.be/game-maker-dlls/http-dll-2/|Http Dll 2]] GameMaker extension. Every message may be optionally compressed with deflate. Client and server will always attempt to decompress messages.+A networking protocol used by the legacy client/server. It is built on the message format of the [[https://www.maartenbaert.be/game-maker-dlls/http-dll-2/|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.
  
  
Line 25: Line 25:
 | Uint32    | Set ID                | | Uint32    | Set ID                |
 | String    | Set Name              | | String    | Set Name              |
 +A client may optionally append a byte specifying its [[https://docs.sandpile.xyz/enums/Client.html|client identifier]].
 +^ Type ^ Description ^
 +| Byte | Client ID   |
  
 ==== Message (0x06) ==== ==== Message (0x06) ====
Line 31: Line 34:
 | String    | Message      | | String    | Message      |
 ==== Set brick attribute (0x09) ==== ==== Set brick attribute (0x09) ====
 +^ Type    ^ Description     ^
 +| Uint32  | Net ID of brick |
 +| String  | Attribute type  |
 +=== Type: pos ===
 +Sets position of brick.
 +^ Type  ^ Description ^
 +| Float | X position  |
 +| Float | Y position  |
 +| Float | Z position  |
 +=== Type: rot ===
 +Old method of setting brick rotation. Only allows Z rotation to be set.
 +^ Type  ^ Description ^
 +| Uint32 | Z rotation  |
 +=== Type: rot2 ===
 +Sets brick rotation.
 +^ Type  ^ Description ^
 +| Int32 | X rotation  |
 +| Int32 | Y rotation  |
 +| Int32 | Z rotation  |
 +=== Type: scale ===
 +Sets brick scale.
 +^ Type  ^ Description ^
 +| Uint32 | X scale    |
 +| Uint32 | Y scale    |
 +| Uint32 | Z scale    |
 +Time is in milliseconds.
 +=== Type: kill ===
 +Activates physics on brick and remove brick from world after set time.
 +^ Type  ^ Description ^
 +| Uint32 | Time       |
 +Time is in milliseconds.
 +=== Type: destroy ===
 +Deletes brick from world.
 +^ Type  ^ Description ^
 +| Float | Color       |
 +=== Type: col ===
 +Sets color of brick.
 +^ Type  ^ Description ^
 +| Float | Color       |
 +=== Type: alpha ===
 +Sets transparency of brick.
 +^ Type  ^ Description ^
 +| Float | Alpha       |
 +Alpha value ranges from 0 to 1.
 +=== Type: lightcol ===
 +Sets light color of brick.
 +^ Type    ^ Description ^
 +| Uint32  | Color       |
 +=== Type: lightrange ===
 +Sets light range of brick.
 +^ Type    ^ Description  ^
 +| Uint32  | Mesh UUID    |
 +=== Type: model ===
 +Sets mesh on brick.
 +^ Type    ^ Description  ^
 +| String  | Mesh UUID    |
 +| String  | Texture UUID |
 +A mesh UUID of ''none'' will remove the mesh.
 +=== Type: clickable ===
 +Sets clickable status on brick.
 +^ Type    ^ Description       ^
 +| Boolean | Clickable enabled |
 +| Uint32  | Click distance    |
 +=== Type: collide ===
 +Sets collision of brick.
 +^ Type    ^ Description       ^
 +| Boolean | Collision enabled |
 +=== Type: global ===
 +Moves brick to the internal global cluster model.
 ==== Delete bricks (0x10) ==== ==== Delete bricks (0x10) ====
 Delete bricks from the world. Delete bricks from the world.
developer/legacy_protocol.1737758282.txt.gz · Last modified: 2025/01/24 23:38 by bunnynabbit