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.

Host facts to record before sizing
QuestionWhere to find itWhy it matters
How many CPU cores are guaranteed?Plan details or control panelAnticheat and game thread need free cores during peaks
Is CPU shared or dedicated?Host documentationShared CPU can slow down at busy times
What is the memory hard limit?Container or plan settingsA JVM heap larger than the limit can be killed by the host
Which Java version does the host run?Startup settingsAnticheat and server software must support it
Is there a disk or network cap?Plan detailsLogs 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.

Launch line with placeholder heap sizes. Keep -Xmx below the host memory limit.
java -Xms<initial-heap> -Xmx<max-heap> -jar paper.jar nogui

Run 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.

Response by failure pattern
Observed in stagingLikely next step
Memory climbs and never drops after a restartCheck plugin memory use and logging retention before raising limits
CPU is high only with the anticheat enabledReview which checks run per packet and the alert log volume
Lag appears only at peak player countUpgrade the plan or reduce the simulated peak with a documented cap
Host throttles CPU at busy hoursMove 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.

Related sources and official pages

Browse all anticheat guides