developer:legacy_protocol
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| developer:legacy_protocol [2025/03/08 18:19] – old revision restored mixamega | developer:legacy_protocol [2025/07/15 02:07] (current) – mixamega | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Legacy Protocol ====== | ====== Legacy Protocol ====== | ||
| - | A networking protocol used by the legacy client/ | + | |
| - | 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/ |
| + | |||
| ===== Data types ===== | ===== Data types ===== | ||
| All data types are little-endian. | All data types are little-endian. | ||
| Line 23: | Line 25: | ||
| | Uint32 | | Uint32 | ||
| | String | | String | ||
| + | A client may optionally append a byte specifying its [[https:// | ||
| + | ^ Type ^ Description ^ | ||
| + | | Byte | Client ID | | ||
| ==== Message (0x06) ==== | ==== Message (0x06) ==== | ||
| Line 28: | Line 33: | ||
| ^ Type ^ Description | ^ Type ^ Description | ||
| | String | | String | ||
| + | ==== Set brick attribute (0x09) ==== | ||
| + | ^ Type ^ Description | ||
| + | | Uint32 | ||
| + | | String | ||
| + | === 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 | | ||
| + | === Type: kill === | ||
| + | Activates physics on brick and remove brick from world after set time. | ||
| + | If time is 0 the brick will not be removed automatically. | ||
| + | ^ Type ^ Description ^ | ||
| + | | Uint32 | Time | | ||
| + | Time is in milliseconds. | ||
| + | === Type: destroy === | ||
| + | Deletes brick from world. | ||
| + | ^ Type ^ Description ^ | ||
| + | === Type: col === | ||
| + | Sets color of brick. | ||
| + | ^ Type ^ Description ^ | ||
| + | | Float | Color | | ||
| + | Color is in decimal format. | ||
| + | === 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 is in decimal format. | ||
| + | === Type: lightrange === | ||
| + | Sets light range of brick. | ||
| + | ^ Type ^ Description | ||
| + | | Uint32 | ||
| + | === Type: model === | ||
| + | Sets mesh on brick. | ||
| + | ^ Type ^ Description | ||
| + | | String | ||
| + | | String | ||
| + | A mesh UUID of '' | ||
| + | === Type: clickable === | ||
| + | Sets clickable status on brick. | ||
| + | ^ Type ^ Description | ||
| + | | Boolean | Clickable enabled | | ||
| + | | Uint32 | ||
| + | === 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 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) ==== | ||
| + | <WRAP todo> | ||
| + | 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 | ||
| + | | Uint32 | ||
| + | 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 | ||
| + | | Float | Alpha | | ||
| ===== Client to server ===== | ===== Client to server ===== | ||
| todo | todo | ||
developer/legacy_protocol.1741454389.txt.gz · Last modified: by mixamega
