Skip to content

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

ServiceDescriptionPort
minecraft-prodPaper 1.21.10 game server25565
minecraft-controlUnix socket bridge — allows the dashboard to issue systemd commands without root
minecraft-dashboardFastAPI dashboard (uvicorn)8000 (internal)
nginxReverse proxy, SSL termination, static file serving80 / 443

Manage services with:

bash
sudo systemctl status minecraft-prod
sudo systemctl restart minecraft-prod

nginx routing

nginx at terminacraft.com handles:

  • / → serves dashboard/public/ (the static website)
  • /dashboard/ → proxied to the FastAPI dashboard at localhost: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 dashboard

Connecting to the VPS

SSH access is via the minecraft user. Ask LupusMalus for access. OpenVPN is available for admin access — credentials are distributed separately.

TerminaCraft — a Majora's Mask recreation in Minecraft