Skip to content

Abyssinian

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Mar 09:33
· 9 commits to main since this release

Ferris-AO — Abyssinian v0.2.0

A privacy-first AO2 server supporting both AO2 desktop clients and WebAO browser clients simultaneously.

Just drop the binary and run — Ferris-AO writes all required files (config.toml, data/) on first launch. No manual setup needed to get started.


What's new since Crab

Feature Crab Abyssinian
DJ role + /play URL streaming — ✅ DJs can play in any area without CM
/roll [NdM] and /flip — ✅
Backpressure (bounded outbound queue) — ✅ Slow clients shed gracefully
Per-client outbound queue size config — ✅ outbound_queue_cap
Delta ARUP suppression — ✅ Skips unchanged area broadcasts
Per-restart DB key rotation (session forward secrecy) — ✅
DB write serialisation guard (connection pooling) — ✅
Startup DB integrity check (WAL verification) — ✅
Minimal logging mode ("minimal" log level) — ✅
Argon2id parameter tuning — ✅ argon2_memory_kib, _iterations, _parallelism
Binary protocol (MessagePack over WebSocket) — ✅ opt-in via BINARY#1#%
Packet batching (burst coalescing) — ✅
SIGHUP zero-downtime game data reload (Linux) — ✅
SIGUSR1 graceful restart with countdown (Linux) — ✅
/rotatekey — generate new DB encryption key — ✅
/rotatesecret — rotate HMAC server secret — ✅
Cluster gossip + consistent hash ring (scaffolding) — ✅
First-run bootstrap (writes all files on first launch) — ✅
WebSocket write-buffer tuning — ✅

Core features (both releases)

  • Full AO2 protocol — IC messages, music, evidence, pairing, HP, rebuttals, case alerts
  • Full WebAO interoperability — browser and desktop clients share areas in real time
  • Dual TCP + WebSocket transport
  • Privacy-by-design — IPs and HDIDs hashed immediately, never stored
  • AES-256-GCM encrypted database, Argon2id passwords
  • Role-based moderation (kick, ban, mute, shadowmute, watchlist)
  • PROXY Protocol v2 + Cloudflare / nginx reverse proxy support
  • Word censor, rate limiting, per-area evidence modes

Downloads

File Platform
nyahao-abyssinian-linux-x86_64 Linux x86_64
nyahao-abyssinian-windows-x86_64.exe Windows x86_64

Quick start

Linux:

chmod +x nyahao-abyssinian-linux-x86_64
./nyahao-abyssinian-linux-x86_64
# First run creates config.toml and data/ — edit config.toml then run again
export NYAHAO_DB_KEY="$(openssl rand -hex 32)"
./nyahao-abyssinian-linux-x86_64

Windows:

nyahao-abyssinian-windows-x86_64.exe
# First run creates config.toml and data\ — edit config.toml then run again
set NYAHAO_DB_KEY=<your 64-char hex key>
nyahao-abyssinian-windows-x86_64.exe

See the README for full setup, nginx/Cloudflare guide, and command reference.