Minecraft anticheat guide
Chunk Loading Lag and Anticheats: Causes to Check
Why chunk loading and generation cause Minecraft server lag, how to tell it apart from anticheat cost, and what to test in staging before you blame a plugin.
Chunk loading lag and anticheats in brief
Chunk loading lag comes from the server reading, generating, and ticking world data as players move. An anticheat can contribute in two ways: its own work during the spike, and checks that misread position changes when a chunk loads. Separate those two in staging before you change any anticheat setting.
What chunk work costs the server
Chunk work has three main costs: generating new terrain, reading saved chunks from disk, and ticking entities and block updates inside loaded areas. Generation is the most expensive per chunk. Ticking scales with how much is loaded and active, which the view and simulation distance settings control.
Keep view distance and simulation distance in mind when you compare servers. A higher value loads more area than most players need.
Changing either value changes the cost of every test that follows, so record the exact values with each run. A test made at one distance cannot be compared with a test at another. If you change the value during an incident, write the change in the log and run the same path again so the before and after results share one setting each.
# server.properties (placeholder values)
view-distance=<value you tested>
simulation-distance=<value you tested>How an anticheat can react to chunk loads
Position changes can look unusual when chunks load around a player. A teleport through a newly loaded area, a fast elytra crossing, or a player who loads into a chunk edge can produce movement that a check did not expect. Whether a check flags this depends on how it handles position updates, so test it instead of assuming.
Match each symptom to a likely cause
Different symptoms point at different causes. Use this table to pick the first test rather than changing several settings at once.
| Symptom | Likely cause | First test in staging |
|---|---|---|
| Lag spikes while a player explores new land | Terrain generation | Pregenerate the same area and repeat the walk |
| Lag at a fixed area with many entities | Entity ticking | Count entities in the area and reduce them in a copy |
| Alerts after teleports or portal use | Position handling in a check | Repeat the teleport with the check on and off |
| Lag on restart or first join | Cold chunk reads from disk | Compare cold and warm starts with the same players |
Separate generation cost from anticheat cost
Use one controlled test to split the two costs. Pregenerate the area you plan to test so terrain generation does not run during the measurement. Then run the same movement with the anticheat on and off.
Decide the response before you change settings
Once the test separates the causes, pick the response that matches. Do not lower the anticheat sensitivity to hide a chunk-loading problem. That only moves the alerts to a different time.
| Test result | Response |
|---|---|
| Gap appears only on ungenerated terrain | Pregenerate high-traffic areas and review world border limits |
| Gap appears with the anticheat on in a pregenerated area | Review that anticheat's per-packet work and alert volume |
| Alerts only after teleports or portal use | Ask the vendor how position updates are handled, then test before changing config |
| No gap in any run | Return to the triage steps and check host limits |
What we have not verified
Chunk behavior also differs between server software builds and between Minecraft versions, because the loading and ticking code changes over time. Repeat your staging tests after every server or anticheat update, and do not reuse results from an older build as proof for a newer one.
This page does not measure chunk loading or generation cost on any server, and it gives no numbers for any anticheat. Whether a specific check flags chunk-edge movement depends on the check and version, so none of these points is a verified claim about FairPlay or any other product.
FAQ
Does pregenerating the world remove chunk lag entirely?
It removes generation cost for the pregenerated area. Entity ticking, disk reads, and player activity still cost time, so measure again after pregeneration.
Should I lower view distance to fix chunk lag?
Lower it only if your tests show loaded area is the cost. Lowering it also changes what players see, so record the change and review it with staff.
Why do alerts appear after a player uses a portal?
Portal use moves the player across a large position change in a short time. Check whether the alert matches a known position update in your logs, then test the same portal with the check on and off.