Files
HexaHost-GameCloud/docs/IMPLEMENTATION_STATUS.md
smueller ab21f53cdd
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 9s
CI / Go — node-agent tests (push) Failing after 8s
CI / Go — edge-gateway build (push) Successful in 14s
Phase7
2026-06-26 13:20:55 +02:00

2.1 KiB

HexaHost GameCloud — Implementation Status

Last updated: 2026-06-26

Current phase: Phase 7 — Idle shutdown and free tier

Phase 7 completed

Area Status Notes
@hexahost/metering Done RAM-GB-minute credits, Minecraft list parser
Prisma billing models Done CreditWallet, CreditTransaction, UsageRecord
Plan idle/quota fields Done Timeouts, countdown, maxServersPerUser, queuePriority
Idle controller (worker) Done Player poll, countdown, auto-stop
Usage metering (worker) Done 60s tick debits wallet, writes UsageRecord
API billing Done GET /account/wallet, GET /account/usage
API idle Done GET /servers/:id/idle, POST .../idle/extend
Quotas & credits Done Server create/start guards
Web Done Credit balance on dashboard, idle countdown on server card

Abnahmekriterium Phase 7

  • Empty running server triggers idle countdown and auto-stop
  • Player connection cancels countdown (via list poll)
  • Usage debited to credit wallet with ledger + usage records
  • Free plan grants credits on signup
  • Server quota per plan enforced
  • Manual E2E: start server, wait idle, verify stop + usage

Local test

  1. pnpm db:migrate && pnpm db:seed
  2. Register/login → dashboard shows 5000 credits (free plan)
  3. Create & start server → credits decrease while running
  4. Leave server empty → after ~10 min idle + 60s countdown → auto-stop
  5. GET /account/usage shows RAM-GB-minute records

Free plan defaults (seed)

  • idleTimeoutMinutes: 10
  • idleCountdownSeconds: 60
  • monthlyCreditGrant: 5000
  • maxServersPerUser: 3

Phase 6 — Multi-Node and queue


Phase 5 — Software & add-ons


Phase 4 — Worlds & backups


Phase 3 — Console, files, settings


Phase 2 — Single-Node Vertical Slice


Phase 1 — Authentication


Phase 0 — Monorepo foundation

Next phase: Phase 8 — DNS and join-to-start

  • Port pools, DNS-SRV, edge gateway, start on connect