Inventory the data
Record world directories, server configuration, plugins, whitelist and external storage. An economy plugin may use a separate database outside the world folder. Retain the server, Java, plugin and mod versions. Keep backups outside the directory that will be updated.
Create a consistent recovery point
The simplest procedure to reason about is a planned maintenance window: notify players, stop the server cleanly and confirm the process has exited. Then back up files and external databases using their supported methods. Copying an active directory without coordinating writes does not necessarily capture one consistent moment.
- Do not replace plugins or server binaries beneath a running process.
- Do not create an archive inside the directory being archived.
- Check free space and successful completion, not just the appearance of a filename.
Restore to a separate test instance
Restore the backup into another directory and select a different port. Disable or isolate integrations that could send real payments, notifications or writes to a production database. Test player login, inventories, teleports, economy and permissions. Shut the test instance down cleanly afterwards.
Update with a recovery plan
After a successful test, perform the change during an agreed maintenance window. Watch the first startup, migration warnings and plugin logs. If a new version modifies world data or a plugin schema, recovery may require the complete pre-update backup. Replacing the JAR alone does not reverse that migration.
Run snapshots on copies intended for testing. Client, proxy and plugin compatibility are separate questions. Regular recovery tests matter more than merely claiming to have daily backups.
Sources and documentation
Source links are retained for checking dates, availability and original context.