Updates

Releases and changelogs are on Downloads. Updating the panel doesn't stop game servers on the nodes.

When a new version is published, the panel's administrators see Version X is available at the top of the panel (it checks once a day together with the license renewal); System → License lists what's new and links here. The panel never updates itself.

Update the panel

Copy the command under Update an existing panel on Downloads and run it on the panel server:

curl -fsSL https://<portal>/dl/<your token>/1.3.0/install.sh | sudo bash -s -- \
  --image-url https://<portal>/dl/<your token>/1.3.0/game-master-1.3.0.tar \
  --image-sha256 <checksum>

What happens:

  1. The running (old) panel writes a backup of its data to /opt/game-panel/backups/pre-update-<time>.tar.gz. The last 5 are kept.
  2. The new image is loaded; the domain, e-mail and secrets are read from .env and stay as they are.
  3. docker-compose.yml, nginx.conf and nats-server.conf are replaced with the new version's files; your docker-compose.override.yml is kept.
  4. Master restarts and updates the database schema on its own.

If the panel isn't running, there is nothing to back up — the installer asks whether to update without a backup. Better start it first (docker compose up -d) and re-run.

Server without internet access: download the archive on Downloads and use --image-archive <file> --image-sha256 <checksum> instead of --image-url.

Roll back

Database migrations only go forward: an older panel doesn't start on a newer schema. So a rollback returns the previous image together with the data from the backup made before the update. Run the installer of the version you updated to:

curl -fsSL https://<portal>/dl/<your token>/1.3.0/install.sh | sudo bash -s -- --rollback
  • Everything changed in the panel after the update is lost (new servers, users, settings).
  • Before rolling back, the current state is saved too (backups/pre-rollback-*).
  • Game servers on the nodes keep running.
  • If Docker no longer has the old image, add --image-archive <old archive>.

Update the nodes

The panel image carries the agent of the same version. After updating the panel, run on each node:

curl -fsSL https://panel.example.com/agent/install.sh | sudo bash

No join token is needed; the settings are kept. On the Nodes page each node shows its agent status:

  • current — same version as the panel;
  • outdated — older, works, but should be updated;
  • incompatible — too old for this panel: some actions will fail, update it now;
  • newer — newer than the panel (the panel was rolled back).

If a release says it needs a newer agent, update the nodes right after the panel.

Before a major update

  • Check that the last automatic panel backup succeeded (System → Panel backup).
  • Make sure your copy of .env and certs/ is current.
  • Read the changelog on Downloads for notes on compatibility.