This plugin allows you managing snapshots for a pre-configured file system, currently only ZFS snapshot is supported.
All worlds with auto-saving enabled and player data are saved prior to snapshot to ensure consistency of the save data.
Getting Started
===============
1. You must already be familiar with ZFS management tasks.
2. The ZFS implementation on your operating system must support administration permission delegation to allow snapshots to be taken or destroyed by non-privileged Minecraft server software. Oracle Solaris 11 and OpenZFS for illumos or FreeBSD should work without problem; for GNU/Linux, make sure to use ZoL version 0.7 or later.
3. Make sure to create a dedicated dataset for storing Minecraft server configuration files and/or worlds. `zr/home/minecraft/test-server-1` will be used for following example.
4. Run following commands as root to delegate required permissions to the non-privileged user, `minecraft` as an example:
# zfs allow -u minecraft snapshot zr/home/minecraft/test-server-1
# zfs allow -u minecraft mount zr/home/minecraft/test-server-1
# zfs allow -d -u minecraft destroy zr/home/minecraft/test-server-1
5. Test the configuration by trying to create and destroy a snapshot by the non-privileged user:
# sudo -u minecraft -i
$ zfs snapshot zr/home/minecraft/test-server-1@test
$ zfs destroy zr/home/minecraft/test-server-1@test
You should not see any error reports such as 'Permission denied'.
6. Install this plugin and edit its configuration file to set your ZFS dataset. The default path of the configuration file is plugins/snapshot/config by default; you may start the server once to get this created before editing. For example set 'zfs_dataset=zr/home/minecraft/test-server-1'.
7. Start the server and try to take and list some snapshots. See in-game command 'snapshot' for usage.
tutorial video on asciinema.org
Permission Nodes
================
* rivoreo.snapshot.take - Allow taking new snapshots
* rivoreo.snapshot.drop - Allow destroying existing snapshots
* rivoreo.snapshot.list - Allow listing snapshots
Missing Features / To Do List
=============================
* Configurable scheduled snapshots taking
Git repository: sourceforge

