106 lines
3.0 KiB
Markdown
106 lines
3.0 KiB
Markdown
# Open Threads — ZeroLagHub
|
||
|
||
This document tracks **known open questions and deferred decisions**.
|
||
|
||
---
|
||
|
||
## Closed Threads
|
||
|
||
- ✅ Interactive PTY-backed console (dev + game)
|
||
- ✅ WebSocket stability and PTY ownership
|
||
- ✅ Customer isolation (API + frontend)
|
||
- ✅ Agent update system (versioned, hash-verified)
|
||
- ✅ Minecraft player presence (agent-sourced)
|
||
- ✅ Game telemetry router separation (`/api/game/*`)
|
||
- ✅ Agent Phase 1 mod management endpoints
|
||
- ✅ Agent process metrics endpoint
|
||
- ✅ Minecraft readiness probe + restart race mitigation (initial)
|
||
- ✅ Modrinth resolver + full mod lifecycle (install / enable / disable / delete)
|
||
|
||
---
|
||
|
||
## Still Open (Phase 1 / Go-to-market)
|
||
|
||
### File Browser (Next Major Feature)
|
||
|
||
Planned endpoints:
|
||
|
||
**Agent:**
|
||
- `GET /game/files?path=`
|
||
- `GET /game/files/download?path=`
|
||
- `POST /game/files/upload?path=`
|
||
- `DELETE /game/files?path=`
|
||
- `PATCH /game/files` (rename)
|
||
|
||
**API:**
|
||
- Mirror under `/api/game/servers/:id/files`
|
||
|
||
**Frontend:**
|
||
- Directory tree
|
||
- Upload
|
||
- Delete
|
||
- Download
|
||
- Restore deleted mods from `/mods-removed`
|
||
|
||
**Security requirements:**
|
||
- Hard-root to `serverRoot` — no escaping
|
||
- Prevent path traversal
|
||
- Enforce size limits on upload
|
||
- Auth + ownership required on all endpoints
|
||
|
||
### API: Error mapping refinement
|
||
- `"mod already exists"` → `409 Conflict` (currently returns `502`)
|
||
|
||
### API: Response corruption verification
|
||
- One early `curl` output appeared corrupted during mod install testing
|
||
- Reproduce cleanly with `curl -sS -D headers.txt -o body.txt ...` before portal wiring
|
||
|
||
### API: Process metrics proxy
|
||
- `GET /api/game/servers/:vmid/metrics/process`
|
||
- Decide caching shape (Redis keys + TTLs): likely low TTL (5–10s)
|
||
|
||
### Artifacts: Vanilla MC versions
|
||
- Currently at 1.21.7; need to add 1.21.8 through 1.21.11
|
||
- Source: `piston-meta.mojang.com/mc/game/version_manifest_v2.json`
|
||
|
||
### Provisioning & scale validation
|
||
- Validate concurrent provisioning (multi-user, parallel creates)
|
||
- Stress-test agent update checks under load (notify/auto modes)
|
||
- Confirm safe limits for restart/backoff behavior
|
||
|
||
---
|
||
|
||
## Still Open (Polish / Phase 2)
|
||
|
||
### Console UI
|
||
- Finalize player list UX (overlay vs inline)
|
||
- Final accessibility/contrast pass
|
||
|
||
### Agent hardening
|
||
- Rollback behavior if a new agent fails health checks after update
|
||
- Optional manifest signing (minisign/GPG)
|
||
|
||
### Mod system hardening
|
||
- Deterministic Modrinth project ID persistence (replace heuristic installed-detection)
|
||
- Install queue for concurrent requests
|
||
- Auto-update detection logic
|
||
- Retention policy for `/mods-removed`
|
||
|
||
### Game platform roadmap
|
||
- Modpack-first install flow (server files + manifests)
|
||
- Engine abstraction for additional games (Rust/Terraria/Valheim)
|
||
|
||
### Dev → Game pipeline
|
||
- See `docs/architecture/dev-to-game-artifact-pipeline.md`
|
||
- Blocked on: file browser complete + mod system stable
|
||
|
||
---
|
||
|
||
## Explicit Non-Goals (for now)
|
||
|
||
- In-console player management actions
|
||
- Live chat overlays
|
||
- Grafana iframe embedding for customers
|
||
- Per-player stats in the main console
|
||
- Arbitrary mod uploads without scanning/sandboxing
|