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.

Illustrative layout, not any specific plugin's file list.
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.

Placeholder paths. Run with the server stopped. Replace the plugin folder name and version.
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.

Placeholder paths. The first file is your backup copy, the second is the fresh file from the new jar on staging.
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.

Data folder contents and the upgrade action for each
ItemUsual locationUpgrade action
Configuration fileInside the plugin folderDiff against new defaults, then keep the values you intend
Message or language fileInside the plugin folderCompare text, then keep your customized strings
Alert or evidence logInside the plugin folder or the server logKeep for appeals and history
Cache or generated dataInside the plugin folderCheck the plugin docs before deleting anything
Other plugin filesInside the plugin folderLeave 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.

Related sources and official pages

Browse all anticheat guides