Files
HexaHost-GameCloud/docs/IMPLEMENTATION_STATUS.md
smueller 4262464cd5
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 9s
CI / Go — node-agent tests (push) Failing after 9s
CI / Go — edge-gateway build (push) Successful in 13s
Phase4
2026-06-26 12:32:27 +02:00

2.2 KiB

HexaHost GameCloud — Implementation Status

Last updated: 2026-06-26

Current phase: Phase 4 — Worlds & backups

Phase 4 completed

Area Status Notes
Prisma backup models Done ServerBackup, BackupRestore, BackupSchedule, WorldUpload
@hexahost/storage Done S3/MinIO presigned URLs, object keys
@hexahost/contracts phase 4 Done backups, worlds schemas
Go agent v0.4 Done Archive, validate, RCON prepare/release, S3 transfer
Worker backup queue Done create/restore/upload, retention, schedule tick
API BackupsModule Done CRUD, restore, schedule, download URL
API WorldsModule Done World info, upload, download via backup
Web worlds/backups tabs Done Upload, list, backup management
State machine Done BACKING_UP, RESTORING

Abnahmekriterium Phase 4

  • World backup to S3 (MinIO in dev)
  • World download (presigned URL)
  • World upload and replace (server stopped)
  • Backup restore with safety backup
  • Retention enforcement
  • Scheduled backups (interval-based)
  • Manual E2E validation (requires Docker + agent + MinIO)

Local vertical slice

pnpm dev:infra   # includes MinIO on :9000
pnpm db:migrate
pnpm db:seed
pnpm dev

# Node Agent (Go + Docker)
cd apps/node-agent && make run
  1. Stop server → Welten.tar.gz hochladen
  2. Backups → manuelles Backup erstellen → Download
  3. Backup wiederherstellen (Server gestoppt)
  4. Geplante Backups aktivieren

Known limitations

  • Upload expects gzip-compressed tar (.tar.gz) with world folder or level.dat at root.
  • Restore/download require agent on node; worker orchestrates S3 transfer.
  • Scheduled backups use simple intervalHours (no cron expressions yet).
  • No server-side encryption of backups beyond MinIO/S3 transport (deferred).

Phase 3 — Console, files, settings

Live console, file manager, server.properties, player lists, audit.


Phase 2 — Single-Node Vertical Slice

Provisioning, start/stop, node agent, web panel.


Phase 1 — Authentication


Phase 0 — Monorepo foundation

Next phase: Phase 5 — Software & add-ons

  • Software catalog, Modrinth, mods/plugins/modpacks