Hi Hytaler,
Do this one today, not the day after you've lost a world. Your world is the one thing on the server you can't redownload — server files, mods, configs are all replaceable in minutes; three weeks of player builds are not. So back it up, automatically, off the box. Everyone agrees with this right up until the disk dies and they find out their "backup" was a folder on the same dead disk.
Table of Contents
- The dumb version that beats most people
- Don't copy a world that's being written
- Get it off the box
- Test a restore once
- Where backups fit
1. The dumb version that beats most people
A nightly tarball on a cron is thirty seconds of work and puts you ahead of the majority:
Code:
0 4 * * * tar czf /backups/hytale-$(date +\%F).tar.gz -C /opt/hytale/server universe config.json permissions.json whitelist.json bans.json mods
That's it. Runs at 4am, datestamped file, gzip'd. It's not clever and it doesn't need to be.
What to back up: the world lives in
universe/ next to HytaleServer.jar (universe/worlds/ and universe/players/). Grab config.json, permissions.json, whitelist.json, bans.json and your mods/ folder with it, then a restore is one command.2. Don't copy a world that's being written
The one real gotcha: tar-ing a live world mid-write can hand you a corrupt, half-saved archive that looks fine until you try to restore it. Two ways around it:
- Back up during a quiet window (4am exists for a reason), or
- Stop the server for the few seconds the copy takes:
Code:
sudo systemctl stop hytale
tar czf /backups/hytale-$(date +%F).tar.gz -C /opt/hytale/server universe config.json permissions.json whitelist.json bans.json mods
sudo systemctl start hytale
For a small server the brief 4am downtime is invisible and the consistency is worth it.
3. Get it off the box
A backup on the same machine as the thing it's backing up is not a backup — it's a slightly newer copy waiting to die with everything else. Push it somewhere else.
restic is my go-to: deduplicated, encrypted, talks to object storage out of the box.
Code:
restic -r s3:s3.example.com/hytale-backups backup /opt/hytale/server/universe /opt/hytale/server/config.json /opt/hytale/server/permissions.json /opt/hytale/server/whitelist.json /opt/hytale/server/bans.json /opt/hytale/server/mods
restic -r s3:s3.example.com/hytale-backups forget --keep-daily 7 --keep-weekly 4 --prune
Encrypted means you can park it on cheap storage without trusting the provider with your data. The
forget --prune line is what stops backups eating infinite disk. I wrote up the full encrypted restic setup on my blog if you want the whole thing.4. Test a restore once
A backup you've never restored is a guess. Pull yesterday's archive into a throwaway directory and check the world actually loads from it — once, now, while nothing's on fire.
Code:
mkdir /tmp/restore-test
tar xzf /backups/hytale-2026-06-14.tar.gz -C /tmp/restore-test
ls /tmp/restore-test/universe/worlds # your worlds in there? good.
5. Where backups fit
Backups are the last line of the hardening list — non-root, firewall, SSH keys, fail2ban, patched, and backed up. Skipping the last one is how a single bad mod update or a fat-fingered
rm ends a community. Don't be the cautionary tale in someone else's guide.Read next
- Backup script generator: backup script and schedule for your world
- Locking down your Hytale server
- Hytale server commands for admins
Last edited: