# 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 - [x] World backup to S3 (MinIO in dev) - [x] World download (presigned URL) - [x] World upload and replace (server stopped) - [x] Backup restore with safety backup - [x] Retention enforcement - [x] Scheduled backups (interval-based) - [ ] Manual E2E validation (requires Docker + agent + MinIO) ### Local vertical slice ```bash 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