Infrastructure Overview
The VPS at terminacraft.com (83.228.244.177) runs everything that keeps the server online. This section is relevant if you need to manage the server itself — most contributors never need it.
Services
| Service | Description | Port |
|---|---|---|
minecraft-prod | Paper 1.21.10 game server | 25565 |
minecraft-control | Unix socket bridge — allows the dashboard to issue systemd commands without root | — |
minecraft-dashboard | FastAPI dashboard (uvicorn) | 8000 (internal) |
nginx | Reverse proxy, SSL termination, static file serving | 80 / 443 |
Manage services with:
bash
sudo systemctl status minecraft-prod
sudo systemctl restart minecraft-prodnginx routing
nginx at terminacraft.com handles:
/→ servesdashboard/public/(the static website)/dashboard/→ proxied to the FastAPI dashboard atlocalhost:8000/artifacts/→ serves/home/minecraft/terminacraft/artifacts/directly (JAR downloads, world snapshot)
SSL is handled by Let's Encrypt (certbot). Renews automatically.
Directory layout on the VPS
/home/minecraft/terminacraft/
terminacraft-server/ # git checkout of this repo
dashboard/ # FastAPI dashboard source
artifacts/ # served at /artifacts/ — JARs, world snapshot
worlds/stable/ # live world data (symlinked into server dir)
backups/prod/ # daily world backups (14 kept)
logs/ # events.jsonl, backup.log
scripts/ # backup-prod.sh, seed scripts
system/ # systemd unit file source of truth
data/ # SQLite DB for dashboardConnecting to the VPS
SSH access is via the minecraft user. Ask LupusMalus for access. OpenVPN is available for admin access — credentials are distributed separately.
