DGuard

How to switch anticheats without losing players

Don't swap anticheats in one go. Run the new one next to the old one, compare logs for a week on lenient settings, then move punishments over and only then remove the old one. Your bans stay put: they usually live in the server or in your ban plugin, not in the anticheat.

The DGuard team7 min read

A hard swap hurts from both sides. A new anticheat on strict settings can punish honest players before you've tuned it. And if you remove the old one before the new one is ready, cheaters get a window — and they'll find out about it faster than you. Either way, you lose players.

So the switch happens in two stages: observation first, punishments second. Below is a plan that works for any anticheat, plus what to keep in mind if you're moving to DGuard.

Before you switch: what your current anticheat misses

Start by pinning down why you're switching. If cheaters get through on one front — combat, say, or inventory — check that the new anticheat actually has a check for it. One-on-one comparisons with primary sources: GrimAC, Vulcan, Polar, Intave and Matrix. The overall picture is in The best Minecraft anticheat.

Then make a backup of the server and keep a copy of the old anticheat's config. Write down how it punishes: which command it bans with, where it logs, and which staff get its alerts.

The switch, step by step

  1. 1

    Install the new anticheat alongside

    Leave the old one in place. The basics of adding plugins are in How to install a plugin. For DGuard: add the server in the panel to get a key, put the latest PacketEvents release and DGuard.jar into plugins/, paste the key into plugins/DGuard/config.yml → license.key and restart. /dguard license confirms the license is active.

  2. 2

    Start on lenient settings

    For the first week the new anticheat should gather evidence rather than ban. In DGuard you set ban or kick per cheat feature, with evidence weights and thresholds in the config: start lenient, or grab a ready config.yml for your game mode from the config store. To see punishments in the panel, enable the log in the config and run /dguard reload — it's off by default because it contains player names.

  3. 3

    Compare the logs for a week

    Focus on the differences, not the matches: who only the new one caught, who only the old one caught. That's exactly how DGuard was tested on the beta servers — next to other anticheats, with the logs compared after a week.

  4. 4

    Move the punishments over

    Turn on bans in the new anticheat and switch the old one to alerts only, if it supports that. Watch for a few more days that the new one bans the right people.

  5. 5

    Remove the old anticheat

    Delete its jar from plugins/ and restart the server — don't use /reload. Keep its config folder in an archive in case you need to look something up.

How to read the differences in the logs

What the logs showWhat it meansWhat to do
Both caught themAlmost certainly a cheaterNothing: the new anticheat sees what the old one did
Only the new one caught themA cheat the old one can't see, or a false flagOpen the report: which rules fired and across how many episodes
Only the old one caught themA false flag from the old one, or a miss by the new oneCheck the player by hand; a miss by the new one is worth reporting to its support
Both quiet, but players complainA cheat neither anticheat flags, or an unfounded complaintCheck the player by hand

Expect the most differences where anticheats differ the most — inventory, automation and crystal PvP. AutoArmor, XCarry, AutoFish and CrystalAura aren't fully checked by any of the five rivals in our comparison. If DGuard misses a real cheater, send the case to support: new bypasses get closed within a couple of days. How to check a player yourself is covered in How to check a player for cheats.

Two anticheats at once: what to watch

Second, shared dependencies. Many anticheats run on PacketEvents — Vulcan, for example, requires it as a separate plugin. There should be one PacketEvents in plugins/, and DGuard needs its latest release, not a dev build. Make sure the old anticheat starts cleanly with that version.

Third, load. Two anticheats do more work than one, so keep an eye on TPS during the trial. DGuard runs its checks on network threads, not the main thread: on a live server that's 0.03% of one core on the main thread.

What happens to your bans

Bans usually aren't stored by the anticheat. It just runs a ban command — vanilla /ban or your ban plugin's — and the entry lands in the server's banned-players.json or in that plugin's database. So removing an anticheat doesn't lift any old bans.

  • Don't announce an amnesty "to celebrate the new anticheat": cheaters will be back with the same cheats on day one.
  • Keep the old anticheat's logs — you'll need them to handle appeals on old bans.
  • Check that the new anticheat's bans end up where your staff are used to finding and lifting them.

Tell your players

A new anticheat changes nothing for honest players, but an announcement heads off questions and gives them a clear place to appeal a wrong punishment. Update your server rules too — the rules generator can put them together.

Example announcement
We've switched to a new anticheat. Honest players don't need to do anything.
If you think you were punished by mistake, post in the appeals channel —
we'll review it using the anticheat's report.

The first two weeks after the switch

Early on, check the log more often and handle appeals from reports, not from memory. In DGuard every ban comes with a report breaking down the evidence; if a ban turns out wrong, send the report to support — they'll go through the fight tick by tick and fix the rule.

Give your moderators access to the log without your password: invite them by email in the Team section, and they'll see the log with reports and the server status. More in building a moderation team. Tighten strictness gradually, one cheat feature at a time.

FAQ

Can I run two anticheats on one server?

During a switch, yes — that's how you should test a new anticheat. Don't keep two anticheats with punishments long-term: setbacks from one can trigger flags in the other, and the load adds up.

Will my bans survive an anticheat switch?

Yes. An anticheat usually just runs a ban command; the bans themselves live in the server's banned-players.json or in your ban plugin's database, so removing the anticheat doesn't lift them.

How long should I test a new anticheat before switching?

At least a week: that's long enough for your regulars and the occasional cheater to show up, and for the logs to be worth comparing. Turn on punishments once you've gone through the differences.

Should I tell players about the new anticheat?

Yes, with a short announcement: honest players don't need to do anything, and appeals go to a clear channel. That way disputed cases reach you instead of your server's reviews.

What if the new anticheat punishes an honest player?

Lift the punishment and read the report: which rules fired and in which episodes. With DGuard you can send that report to support — they'll go through the fight tick by tick and fix the rule.

Sources

All sections

Run the best anticheat for modern Minecraft

DGuard catches all 47 kinds of cheats in our comparison — the closest rival, Intave, has 27. Full protection on every plan, free up to 30 players online.