Skip to main content
config.yml

What gets backed up

Each backup includes a copy of config.yml. SQLite backups use : one self-contained .db file including the , with no -wal or -shm to restore alongside. If the snapshot fails, the plugin copies the files and logs a warning, writing database-wal_ and database-shm_ files that restore together.

The schedule

Cleanup runs every six hours.
Timers start at server start; a server restarting more than hourly never produces an hourly backup.
Files land here:
plugins
PerPlayerKit
backups
hourly_database_2026-08-21_14-00-00.db
hourly_config_2026-08-21_14-00-00.yml
daily_database_2026-08-20_09-00-00.db

Restore a backup

1

Stop the server

Fully, not a reload.
2

Put the backup in place

Move the snapshot out of backups/ and rename it:
Keep a copy of the broken file first. For SQLite, delete any database.db-wal and database.db-shm next to it. They corrupt the restored database.
3

Restore config.yml if you need it

Only if settings have drifted.
4

Start the server and check

Watch the console for storage errors and confirm a test player’s kits load.

These are not off-site backups

Backups sit on the same disk as the data. Copy plugins/PerPlayerKit/backups/ off the server, or run /kitdata export all. It works on every storage type, including MySQL and Redis.