Minecraft anticheat guide

Keeping Anticheat Config Consistent Across Servers

Keep anticheat settings aligned across backends with one shared template, per-server overlays, drift checks, and staged rollouts that are logged.

How do I keep anticheat config consistent across servers?

Keep one shared template for the settings that must match. Store per-server differences in separate overlay files. Check every server against the template before a change goes live, and roll changes out in the same order each time. Drift between servers is a common cause of confusing alerts on a network, so the goal is to find it before players do.

Some differences are intentional. A PvP backend and a build backend need different checks. The problem starts when a difference is accidental, such as a setting changed during a hotfix and never copied back.

Write down the owner of each overlay. An overlay with no owner tends to stay forever, even after the reason for it has gone away.

Which settings belong in the shared template?

Share settings whose meaning does not change between servers. Override settings only when the server's mode requires it, and record the reason next to each override.

When in doubt, ask whether a setting changes the meaning of an alert. If it does, it belongs in the shared template or in a documented overlay. If it only changes where a message is sent, a label is enough.

The table is a starting split. Adjust it to the features your anticheat actually exposes.

Shared template versus per-server overlay.
Setting typeShared templatePer-server overlay
Anticheat version and required dependenciesYesOnly if a backend differs by design
Alert channel and webhook destinationYes, with a server labelLabel only
Punishment mode (alert-only or punish)Set a defaultOverride per mode, with a reason
Check thresholdsDefault valuesOverrides only with a test record
Bedrock compatibility optionsKeep consistent across backends that accept Bedrock playersOnly if the backend's mode requires a change

What does a shared config layout look like?

Keep the template and the overlays in version control, not on a single server. Any server can be rebuilt or lost, and the template should outlive it.

The tree below uses placeholders. Use the real file names and format your anticheat and server software expect.

Keep a short README beside the template that names the owner, the review process, and the rollout order from the steps below.

Shared template layout with placeholders.
config-templates/
  anticheat/
    base.<ext>            shared settings, reviewed
    overlays/
      pvp-1.<ext>        only the keys that differ
      build-1.<ext>
  packetevents/
    version-note.txt      pinned version and the reason for it

How do I roll out a config change?

Never edit a live server file directly. Make the change in the template or one overlay, then move it through staging before production.

Watch alerts for one full play session per group. A short test can miss the behavior that only shows up during busy hours.

Keep rollbacks simple. Store the last known good copy of each file, so reverting one overlay takes one step.

How do I catch drift?

Run a comparison on a schedule, and also after every hotfix. Pull the active config from each server, remove the overlay keys, and compare what remains to the base template. Anything left over is drift.

Review each difference. Either move it into an overlay with a reason and a review date, or revert it. Do not leave a difference that nobody can explain.

Keep the comparison output in the same place each time. Reviewers can then see whether drift is growing or shrinking, which matters more than the result of any single run.

What we have not verified

We have not tested config tooling across a specific proxy or anticheat release. The steps here are generic. Confirm file locations and reload behavior in your server software documentation, and test reloads in staging before you rely on them.

This article makes no claim that any config setting changes detection quality. It covers keeping settings consistent, not choosing values.

FAQ

Should every backend run identical anticheat settings?

No. Identical settings across unlike modes can cause false flags. Identical settings across backends with the same mode prevent surprises.

Where should the shared template live?

In version control or another audited store, not on one server. Keep a copy that survives the loss of any backend. Restrict write access to the owner group and require review before a change merges.

How often should drift checks run?

After every change, and on a fixed schedule in between. Pick an interval your team will keep, since a check nobody runs catches nothing.

What if one backend needs a one-off setting?

Add it to that backend's overlay with a reason and a review date. A one-off setting with no record becomes drift.

Does a shared template slow down server-specific changes?

It adds one review step. For most teams that step is short, and it prevents the much longer work of tracing an alert gap across several backends.

Related sources and official pages

    Browse all anticheat guides