# 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