No description
Find a file
2025-06-04 19:08:10 +02:00
src Fix material naming 2025-06-04 19:08:10 +02:00
.gitignore Init 2025-06-01 12:33:53 +02:00
build.zig Fix material naming 2025-06-04 19:08:10 +02:00
build.zig.zon Fix ring buffer 2025-06-01 18:15:51 +02:00
LICENSE Init 2025-06-01 12:33:53 +02:00
README.md Fix material naming 2025-06-04 19:08:10 +02:00

craftflut

Alternative gateway implementation for https://codeberg.org/MoKe12g/Pixelflut3D

Building

A minimum Zig version of 0.14.0 is required.

zig build -Doptimize=(ReleaseSafe|ReleaseFast) -Dmaterial_max_len=(<int>, default: 40)

CLI options

  • --unix-socket: Path to Unix socket to bind to and to send block updates to
  • --queue: Block update queue capacity (default: 1024)
  • --web-port: Web server port
  • --web-threads: Web server thread count (default: 1)

API

TODO: Classic Pixelflut TCP

HTTP

Path Method Headers Body Response Description
/api/block PUT {"dimension":<i32>,"x":<i32>,"y":<i32>,"z":<i32>,"material":<str>} 201 Created Enqueues given block update

Gateway

This application relays and batches the received block updates and sends them as CSV data to an existing Unix socket.

Connect to the socket with: socat - UNIX:<path>

TODO: Accept multiple clients

Payload

Each packet is seperated by a newline (\n).

dimension,x,y,z,material
<int32>,<int32>,<int32>,<int32>,<str>

E.g.: 0,42,42,42,DIRT puts a dirt block in dimension 0 (Overworld) at coordinates 42,42,42.