Minecraft anticheat guide
Running an Anticheat on Pterodactyl or Shared Hosting
Panel hosts limit file access, startup commands, and Java choice. Check these limits before installing an anticheat on Pterodactyl or shared Minecraft hosting.
What limits does a panel host place on an anticheat?
A panel host such as Pterodactyl, or a shared Minecraft provider, usually controls the Java runtime, the startup command, the port allocation, and the memory limit. An anticheat needs write access to its plugin folder, a runtime that meets the server software's documented requirement, and enough memory for its own state. Confirm those four points before you buy a plan or install a plugin.
Which panel controls should you confirm first?
Panel names and layouts differ between hosts, so look for the function rather than a specific button. Write down each control and whether you can change it yourself.
How do you check the startup line before the first start?
Read the startup command in the panel before you start the server. A template can point at an old jar, add flags you did not expect, or set a memory range below what your server needs. Replace the placeholders below with your plan's values and keep any panel variables your template already uses.
java -Xms<min-memory> -Xmx<max-memory> -jar <server-jar> noguiHow much memory should the anticheat get?
The anticheat shares the server's heap, so a plan that fits the server alone may not fit it during a combat peak. Do not rely on a memory figure from a listing or a forum post. Load test on a staging copy of the same plan with a player count close to your busiest hour, then compare heap use with and without the anticheat.
If the panel restarts the server when memory spikes, check its resource graph and the log for an OutOfMemoryError before you blame the anticheat. A crash log and a panel restart can look identical from the player side.
Where does an anticheat fit behind a proxy?
Many panel plans run one backend behind a proxy, or several backends on one host. Install the anticheat on each backend that runs gameplay, not on the proxy alone. Check which backend your panel exposes as the game server, because a second backend on the same host can receive its own copy of the plugin folder and its own config.
How do you read logs when the console is limited?
Some panels show only recent console output. Download the log file from the file manager before you restart, so the failing start is not lost. The file to copy is usually logs/latest.log inside the server folder. Rename the copy with the date and the server build, then restart.
What should you ask a host before you buy?
Ask these questions in writing, then test the answers on a trial plan before you move a live network.
Test on a copy before the live server
Clone the server on the same plan, install the anticheat and its PacketEvents dependency, and start it once with the exact startup line you plan to use. Confirm the plugin enables from the console, check the log for dependency errors, then run an alert-only window with testers before enforcement. Record the plan name, the Java runtime, and the memory limit in your change log.
FAQ
What if my host does not allow .jar uploads?
Then the anticheat cannot be installed on that plan through the panel. Ask the host whether file uploads are enabled for your plan before you buy an anticheat, not after.
Why does my panel restart the server during a combat wave?
The most common cause is the memory limit. Check the panel's resource graph and the log for an OutOfMemoryError, then compare heap use in staging before you change the anticheat settings.
Does a shared host change how I should test an anticheat?
Yes. Shared CPU time can vary from hour to hour, so tick time on a shared plan is harder to compare. Run the staging comparison on the same plan you will run in production.
Can I keep the panel's Java image and change only the jar?
Often yes, but only after you confirm the image's runtime meets the requirement in the server software and plugin release notes. Replacing the jar does not change the runtime.