Minecraft anticheat guide
Anticheat Plugin Data Folders After an Upgrade
What stays in an anticheat's data folder after an upgrade, why old config can keep running, and how to check each file before you restart the server.
Does an upgrade reset an anticheat's data folder?
Usually not. Replacing the anticheat jar leaves its data folder in place, so old config, generated files, and cached state from the previous release can still be active. Before the first restart on the new jar, back up the data folder, compare each file with the new release's defaults, and confirm which values the new version reads.
What does the data folder hold?
A Bukkit-style plugin usually keeps its files in a folder named after the plugin, inside the plugins directory. The contents vary by plugin. Typical contents include configuration files, message or language files, and sometimes logs or data files the plugin writes while it runs. Read your plugin's documentation for the exact list instead of assuming one.
What does the folder look like before and after an upgrade?
The tree below shows a typical layout before and after replacing the jar. Your plugin's file names will differ. Look for the new jar name, the old config still in place, and any new file the new version creates beside it.
Before After
plugins/ plugins/
<Anticheat>-<old>.jar <Anticheat>-<new>.jar
<Anticheat>/ <Anticheat>/
config.yml (your values) config.yml (same file, check keys)
messages.yml messages.yml
logs/ (evidence) logs/ (keep, do not delete)How do you back up the folder before replacing the jar?
Stop the server before you copy, so no file changes during the backup. Keep the archive name specific enough to find later: plugin name, old version, and date.
cd <server-root>/plugins
mkdir -p ~/backups
tar -czf ~/backups/<PluginName>-<old-version>-<YYYY-MM-DD>.tar.gz <PluginName>How do you compare old values with the new defaults?
Generate a fresh copy of the config on a staging server with the new jar, then compare it with your old file. The goal is to find keys you changed on purpose, keys that changed default, and keys that no longer exist.
diff -u <old-config-copy> <new-default-config>What signs show that a stale file is still active?
A stale file can keep control of behavior after an upgrade. Check these signs in the startup log and in staging alerts before you assume the new jar is in charge.
Which files should you never delete on upgrade?
Treat the data folder as a record, not just a settings folder. Some plugins keep logs or stored state that staff use for appeals or history. Deleting a file to fix a startup problem can erase that record, and it can also reset your settings to defaults.
| Item | Usual location | Upgrade action |
|---|---|---|
| Configuration file | Inside the plugin folder | Diff against new defaults, then keep the values you intend |
| Message or language file | Inside the plugin folder | Compare text, then keep your customized strings |
| Alert or evidence log | Inside the plugin folder or the server log | Keep for appeals and history |
| Cache or generated data | Inside the plugin folder | Check the plugin docs before deleting anything |
| Other plugin files | Inside the plugin folder | Leave in place unless the docs say otherwise |
What should you back up and diff?
Back up the whole plugin folder, not only the config. Diff the config and message files, and note any file the new jar adds or stops writing. Keep the archive outside the server folder.
What is the upgrade procedure, step by step?
Run these steps on staging first, then repeat them on production. Do not skip the backup check.
How do you roll back safely?
A rollback needs the old jar and the old data folder together. A newer version can write config keys that an older jar does not understand. Restore the full backup when you are unsure, and avoid restoring only the config file.
If the new version fails after startup, stop the server, put back the old jar, restore the full data folder from the archive, and start again.
FAQ
Should I delete the data folder on every upgrade?
No. Deleting it resets your settings and may remove logs or history that staff need. Delete a file only after you read the plugin's documentation and have a backup.
Why do my old settings still apply after I upgraded?
The new jar may read the existing file and keep the values you set. Compare each key with the new defaults on a staging server to see which values still apply.
Does a regenerated config file mean the upgrade worked?
Not by itself. Confirm the startup log shows the expected plugin version, and check that a test alert fires on staging as you expect.
Can I restore only the config file during a rollback?
Only if the old jar accepts the new file. When that is unclear, restore the full backup of the data folder together with the old jar.
How long should I keep the backup archive?
Until the new version has run through a full normal play period with no unexplained change in alerts. Then store the archive with the change log entry.
Does an upgrade change my evidence logs?
It can, if the new version rotates or rewrites log files. Copy evidence files out before the first start.