No description
  • Rust 83.5%
  • Nix 12.4%
  • HTML 1.8%
  • JavaScript 1.4%
  • CSS 0.9%
Find a file
2026-08-09 20:37:39 +02:00
.vscode initial commit 2024-07-11 19:05:37 +02:00
assets add a favicon 2026-08-08 21:33:38 +02:00
src add 5sec cooldown to always send a frame 2026-08-09 20:37:39 +02:00
.envrc feat: true async 2024-07-12 15:59:27 +02:00
.gitignore add result to gitignore 2024-10-18 16:49:58 +02:00
Cargo.lock remove unused dependencies 2026-08-08 19:56:13 +02:00
Cargo.toml implement palette protocol 2026-08-08 23:35:27 +02:00
config.toml use crane for the flake 2024-12-16 15:32:27 +01:00
deny.toml update dependencies 2025-03-08 10:15:46 +01:00
flake.lock flake.lock: Update 2026-07-27 14:28:25 +02:00
flake.nix nice buildsystem 2026-08-09 00:06:10 +02:00
flurry.nix nice buildsystem 2026-08-09 00:06:10 +02:00
LICENSE Create LICENSE 2024-12-11 20:23:47 +01:00
module.nix nice buildsystem 2026-08-09 00:06:10 +02:00
protocol.md initial commit 2024-07-11 19:05:37 +02:00
README.md feat: swap from u16_le to u16 2024-10-10 09:37:43 +02:00

Flurry is a pixelflut compatible server written in rust with a focus on minimizing latency while keeping high performance.

Protocols

Multiple protocols are supported:

  • Text: The default protocol, it is compliant with pixelflut but it defines some extra commands
    • CANVAS <id>: used to change to a completely seperate canvas, the amount and size is defined by the host
    • PROTOCOL <protocol name>: used to change to different protocols, the useable names are:
      • text: goes to the Text protocol
      • binary: goes to the Binary protocol
  • Binary: A binary analog to the text version, about twice as efficient with bandwidth, the commands are
    • size: 0x73 <u8 canvas> -> <u16 x> <u16 y>
    • help: 0x68 -> help message (in UTF-8)
    • get pixel: 0x20 <u8 canvas> <u16 x> <u16 y> -> <u8 red> <u8 green> <u8 blue>
    • set pixel rgb: 0x80 <u8 canvas> <u16 x> <u16 y> <u8 red> <u8 green> <u8 blue>
    • blend pixel rgba: 0x81 <u8 canvas> <u16 x> <u16 y> <u8 red> <u8 green> <u8 blue> <u8 blend>
    • set pixel grayscale: 0x82 <u8 canvas> <u16 x> <u16 y> <u8 white>