Minecraft anticheat guide
Planning Anticheat Resource Use on Your Minecraft Host
How to plan CPU, RAM, and thread headroom for a Minecraft anticheat on your host, with a sizing worksheet and a staging test to run before launch.
Plan anticheat headroom before you install
Plan anticheat resource use as headroom on top of your server's normal load. Record what your host guarantees, what your server uses at peak, and how much spare CPU and memory remains. Then test the anticheat in staging at your expected player count. The plan is only as good as the peak numbers you measure on your own hardware.
Record what your host actually provides
Hosting plans describe resources in different ways. Some give dedicated cores, some give shared CPU time, and some cap memory per container. Write down the exact limits before you size anything.
Shared hosts can throttle CPU during busy periods on other tenants' servers. A test that passes on an idle day may fail at peak. Ask the host whether CPU is guaranteed or burstable.
Keep the host's support answer in writing, since a verbal answer is hard to check later. Note the date you asked and who answered. If a host changes its plan terms, your sizing record shows what you relied on at the time.
Write down the host's stated overcommit or burst policy as well, and the time of day your players are most active. Your staging test should run at that time, not only during the quiet hours when you find it convenient. If the host refuses to answer whether CPU is guaranteed, treat that as a reason to test harder at peak before launch, because you cannot rely on the plan description alone to predict peak behavior.
| Question | Where to find it | Why it matters |
|---|---|---|
| How many CPU cores are guaranteed? | Plan details or control panel | Anticheat and game thread need free cores during peaks |
| Is CPU shared or dedicated? | Host documentation | Shared CPU can slow down at busy times |
| What is the memory hard limit? | Container or plan settings | A JVM heap larger than the limit can be killed by the host |
| Which Java version does the host run? | Startup settings | Anticheat and server software must support it |
| Is there a disk or network cap? | Plan details | Logs and webhooks write to disk and network |
Budget the server, the anticheat, and spikes
Split your available memory and CPU into three buckets: the server software and world, the anticheat and its logs, and a reserve for spikes such as chunk loading or a player surge. Leave the reserve unassigned. An allocation that uses all the memory leaves no room for a garbage collection pause or a busy event.
Set the JVM heap to a fixed size that fits inside your limit, leaving room for native memory. The values below are placeholders. Replace them with values that fit your host's documented limit.
java -Xms<initial-heap> -Xmx<max-heap> -jar paper.jar noguiRun a staged load test at planned player counts
Copy your production plugins and world to a staging server on the same host plan. Run the test with the anticheat enabled and disabled so you can attribute the difference. Use the steps below and log each result in the same format.
Decide what to do when headroom runs out
A headroom failure does not always mean the anticheat is wrong. Decide the response before launch so staff do not improvise during an incident.
| Observed in staging | Likely next step |
|---|---|
| Memory climbs and never drops after a restart | Check plugin memory use and logging retention before raising limits |
| CPU is high only with the anticheat enabled | Review which checks run per packet and the alert log volume |
| Lag appears only at peak player count | Upgrade the plan or reduce the simulated peak with a documented cap |
| Host throttles CPU at busy hours | Move to a plan with guaranteed cores before enabling bans |
What we have not verified
This page gives no resource numbers for any anticheat, and FairPlay does not publish a sizing table for hosts. Plugin pages can list minimum server requirements, but a minimum describes an idle install, not a busy one, so it cannot replace your staging run. Your results depend on the server software, plugin set, player behavior, and hardware. Use the worksheet as a method, and treat each number as something you measured yourself.
FAQ
How much headroom should I keep free for an anticheat?
Set the amount from your own staging results at peak player count, plus a reserve for spikes. Do not copy a figure from another server.
Why does my memory graph keep rising after I add the anticheat?
Check whether alert logs, cached player data, or webhook queues are growing. Restart the server in staging and see whether the memory drops back to the same baseline.
Should I upgrade my plan before testing?
Test first on the plan you have. A failed test on the current plan is the evidence you need to justify an upgrade.