No description
Find a file
github-actions[bot] 05f047ec63 flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/3c6d3186ab06737d1defd2b5ae556d0ecd161603?narHash=sha256-Bcf7iBwrfjYPO7roKCz%2B3yPAFqgNqfKCp51sLKETjxU%3D' (2024-12-28)
  → 'github:rustsec/advisory-db/d63efe8c21f28b0690df6dc0a9879856bc0ffd88?narHash=sha256-jmfA08xkDtjy9pT6YC5sL4iRtW4TlCSaURSaUnpc4/g%3D' (2025-04-29)
• Updated input 'crane':
    'github:ipetkov/crane/72e2d02dbac80c8c86bf6bf3e785536acf8ee926?narHash=sha256-3aH/0Y6ajIlfy7j52FGZ%2Bs4icVX0oHhqBzRdlOeztqg%3D' (2024-12-21)
  → 'github:ipetkov/crane/efd36682371678e2b6da3f108fdb5c613b3ec598?narHash=sha256-oLvmxOnsEKGtwczxp/CwhrfmQUG2ym24OMWowcoRhH8%3D' (2025-04-24)
• Updated input 'fenix':
    'github:nix-community/fenix/3743208cafd7bc3c150f0c77c25ef7430e9c0de2?narHash=sha256-a5EMHpDAxLShxBKUdDVmqZMlfiuOtOUzet2xT/E/RiM%3D' (2024-12-28)
  → 'github:nix-community/fenix/6d93c0f68d080e6f5b42d2958708955c8ab8acd9?narHash=sha256-LNElDnQlQXiSGfJiPu4IJJ3PzHnoM31qEWElhz2VyH0%3D' (2025-04-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7cc0bff31a3a705d3ac4fdceb030a17239412210?narHash=sha256-7QEFnKkzD13SPxs%2BUFR5bUFN2fRw%2BGlL0am72ZjNre4%3D' (2024-12-27)
  → 'github:NixOS/nixpkgs/ffa0bb043c25cfc79ff3bc20ba2e44c3724499b1?narHash=sha256-ZGi2gjgPtmPmplCVz7dNufqkBr00g6EeAloX3GrFQls%3D' (2025-04-29)
• Updated input 'tsunami':
    'github:itepastra/tsunami/d781e154b6632da6719e769ad92f09c42f788911?narHash=sha256-EfLu9OremzI%2BQ052Sd2toX3KMrNMv2QjB0H3KPZ9Wc8%3D' (2024-12-17)
  → 'github:itepastra/tsunami/e47ca589d0c2d2cbe2a1b90d1bdbf1f431547374?narHash=sha256-0c9H2oDQvQ0gPlqidQdBZ7pU7qW0zjsupOkY7IAn0Ik%3D' (2025-03-08)
• Updated input 'tsunami/advisory-db':
    'github:rustsec/advisory-db/ec9ce28714bb38d77a2223e7266df705500a7f11?narHash=sha256-2Ug80Uf/oUujxgh02Iy5vTG0V%2BAb9%2BYUHuRLRY0ayiY%3D' (2024-12-09)
  → 'github:rustsec/advisory-db/74ff50e899726ef85314978f60e9f7858462b21f?narHash=sha256-QsTWsBWXvcrTHMhZK5sTz8Omyxn4tSszg/U5Y1BLzFM%3D' (2025-03-07)
• Updated input 'tsunami/crane':
    'github:ipetkov/crane/60d7623f1320470bf2fdb92fd2dca1e9a27b98ce?narHash=sha256-omYTR59TdH0AumP1cfh49fBnWZ52HjfdNfaLzCMZBx0%3D' (2024-12-16)
  → 'github:ipetkov/crane/aaebfb7ce7e13c691aea178aff7621906f466662?narHash=sha256-js4c6tqxluo4Fysn8gloLnlZ6ZjQkuWMgGjHN8%2BWssE%3D' (2025-03-08)
• Updated input 'tsunami/fenix':
    'github:nix-community/fenix/a18d41b26e998e95a598858fdb86ba22fb5da47d?narHash=sha256-32x1Z%2BPz3Jv0cK9EG56cFTKXy/mZ/c%2BIkxw%2BaVfKHp4%3D' (2024-12-17)
  → 'github:nix-community/fenix/37e933dde18c77a219e0d6d48e16f2e2a22d3976?narHash=sha256-FUhq3GLsUw/5Go3zsrvXWrU1QJ/0Y4YHuw%2BsUpBfUh0%3D' (2025-03-08)
• Updated input 'tsunami/nixpkgs':
    'github:NixOS/nixpkgs/71a6392e367b08525ee710a93af2e80083b5b3e2?narHash=sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU%3D' (2024-12-13)
  → 'github:NixOS/nixpkgs/de0fe301211c267807afd11b12613f5511ff7433?narHash=sha256-aizILFrPgq/W53Jw8i0a1h1GZAAKtlYOrG/A5r46gVM%3D' (2025-03-07)
2025-04-30 06:15:44 +02:00
.github/workflows add --features all to github workflows 2024-12-11 19:57:19 +01:00
.vscode initial commit 2024-07-11 19:05:37 +02:00
assets add website components 2024-12-12 15:09:16 +01:00
src update dependencies 2025-03-08 10:15:46 +01: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 update dependencies 2025-03-08 10:15:46 +01:00
Cargo.toml update dependencies 2025-03-08 10:15:46 +01: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 2025-04-30 06:15:44 +02:00
flake.nix use crane for the flake 2024-12-16 15:32:27 +01:00
LICENSE Create LICENSE 2024-12-11 20:23:47 +01: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>