29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
# Paper runtime and recovery
|
|
|
|
Argo CD runs the stock Java 26 runtime from `deployment.yaml`; Paper's selected
|
|
JAR, plugins, configs, worlds, and Dynmap data stay at
|
|
`/home/feedc0de/mcserver` on arschrock. Paper's plugin database is the separate
|
|
Bitnami PostgreSQL Argo Application in the same namespace. Its existing PVC
|
|
UID is `58141201-d502-4fb6-a396-c57a0a83d320`; do not replace or delete it.
|
|
The cluster-only Secret `paper-postgres` supplies its credentials.
|
|
|
|
Plugin DB host settings and Dynmap's `0.0.0.0` bind address are already in the
|
|
host configs, with `.pre-kubernetes` backups retained. The route
|
|
`brunner.ninja/mcmap` strips `/mcmap` and targets the local Dynmap Service.
|
|
|
|
For maintenance or rollback, set the Paper Deployment replicas to zero in
|
|
GitOps and wait until the pod is gone before starting byobu. If plugins wrote
|
|
to the Kubernetes PostgreSQL database, reconcile those writes before switching
|
|
to the old host database. To return to Kubernetes, stop byobu completely,
|
|
restore replicas to one, and verify plugins, the game port, Dynmap, and Grafana.
|
|
Never let both runtimes write the server directory simultaneously.
|
|
|
|
The normal LoadBalancer address is dynamically assigned; the separate direct
|
|
service also answers on `10.12.4.170` and `192.168.0.2`.
|
|
|
|
Paper's pod is gated by node label `minecraft.brunner.ninja/dynmap-ready=true`.
|
|
The host mount scripts set it only after the Dynmap tiles directory is confirmed
|
|
as a bind mount from `/mnt`; the offline script removes the label and waits for
|
|
Paper to stop before unmounting. This prevents a fresh empty directory on the
|
|
system disk from being used for map tiles.
|