Backups
Two different things need backing up, with different tools and rhythms.
1. The panel database
Section titled “1. The panel database”PostgreSQL holds users, servers, roles, audit logs — everything except the game files themselves. If it is gone, the fleet is unmanageable.
- Take automated dumps on a schedule (daily minimum) and ship them off the panel host.
- Retain enough history to survive a weekend discovery (7–30 days is typical).
- Restore-test quarterly into a scratch environment. See disaster recovery.
2. Game servers
Section titled “2. Game servers”Users back up their own servers (user backups), but operators own the policy underneath:
- Set sane default quotas and retention so one server cannot fill a node.
- Keep node-level snapshots or off-node copies for what user backups do not cover (same-node copies die with the node).
- Monitor backup failures — a backup job that has errored for a month is the same as no backup. Failures surface in server views and logs.
- 3-2-1: three copies, two media, one off-site — for the database at least.
- Encrypt off-site copies. Backups contain credentials and private player data.
- Document the restore path where the on-call person will find it at 3 AM, not in someone’s head.
