Minecraft anticheat guide

Copying Anticheat Config Between Your Own Servers Safely

Copy an anticheat config from one server to another without leaking secrets or carrying over host-specific values. Diff, redact, stage, and record each change.

How do you copy an anticheat config to a second server?

Copy the config as a reviewed template, not as a file dump. Remove host-specific values such as webhook URLs, hook targets, world names, and secrets. Diff the two servers, apply the shared policy, then test the result in an alert-only window. Leave the source server unchanged until the target passes.

Which settings are shared, and which belong to one server?

Policy settings usually match across servers in one network. Endpoints, identifiers, and credentials do not. Decide each row before you copy anything, and mark uncertain rows as per-server until you have checked them.

Shared and per-server settings when copying a config
Setting typeUsually shared?Notes
Check enablement and thresholdsOften, after reviewConfirm each value against your test results
Punishment tiers and mitigation policyOftenMatch only if the servers share a rule set
Webhook or alert endpointsNoEach server posts to its own channel
Hook targets for other pluginsNoDepends on which plugins each server runs
World, region, or exemption listsNoNames and IDs differ between servers
Staff bypass permissionsNoSet through your permission plugin per server
Plugin and PacketEvents versionsMatch the release, not the fileCopy the version, not the config keys

How do you redact secrets before you copy?

Search the config folder for likely secrets before you copy it. Replace each hit with a placeholder and note what it was. The example below uses generic key names for illustration only. Your plugin's keys will differ.

Illustration only. Use your plugin's real key names, and keep the real values out of shared files.
webhook-url: "<redacted: per-server webhook>"
api-token: "<redacted: per-server secret>"
Placeholder path. Review each match by hand, since the search can miss secrets and flag harmless text.
grep -rniE "webhook|token|password|secret" <config-folder>

How do you apply the shared settings?

Apply only the shared lines. A full overwrite brings the source server's endpoints and identifiers into the target, and that mistake is hard to see until alerts post to the wrong place.

Why keep both servers on the same plugin version?

A config key that one plugin version reads may be ignored by another. Copying a config between different versions can therefore look like it worked while some settings have no effect. Match the anticheat and PacketEvents versions first, then copy the config. For upgrade steps, see the note on plugin data folders after an upgrade.

How do you test the copied config?

Run an alert-only window on the target staging copy. Compare alert counts and check types with the source server over the same kind of play. A large difference is a reason to check per-server values, not a reason to enable enforcement.

What do you do when the two servers disagree?

After the copy, the two servers may still differ in alert counts. Start by checking whether the difference comes from a per-server value, such as a world list or an exemption, or from a shared value that did not apply the way you expected. Write the difference down before you change either config.

If the difference is a shared value, fix it on the source and copy again so both servers keep one policy. If it is a per-server value, document why the difference is intended. Never resolve a disagreement by turning enforcement off on one side without a recorded reason.

What belongs in the copy record?

Record enough detail that a later admin can repeat or reverse the copy. Store the record with the change log, not in the config folder.

FAQ

Can I copy the whole plugin folder to another server?

Not safely. Copy only the reviewed config. Jars and data files can carry server identity, stored state, and evidence that belong to the source server.

Will punishment history come across with the config?

Not in the config file. Data written to the plugin's data folder may be stored there, so check where your plugin keeps its records before you copy any folder.

Do the two servers need identical settings?

No. Shared policy should match. Endpoints, identifiers, and world lists stay separate for each server.

How do I know the copy worked?

The startup log should show the expected values loaded, and a staging alert should match what you expected from the source server over the same kind of play.

Related sources and official pages

Browse all anticheat guides