Skip to content
Back to Guides
8 min read

Chunk Loading Explained

Learn which chunks your server ticks, why that matters, and how to keep areas running with /forceload.

By Lodgichost Team · Last updated: August 19, 2026

Chunks are the 16 by 16 block tiles your world is made of, and at any moment each one is either stored on disk or loaded in server memory. Loaded chunks are ticked: redstone runs, crops grow, mobs move. Everything else is frozen data waiting for a player. Because the server pays CPU for every chunk it ticks, how many chunks are loaded, and where they sit, is one of the biggest levers on your TPS. This guide explains how vanilla keeps chunks around players and at spawn, the difference between view-distance and simulation-distance in server.properties, how /forceload (Java 1.13+) keeps chosen areas active permanently, and how to avoid loading too much.

What It Means for a Chunk to Be Loaded

A loaded chunk is processed every game tick: crops advance, furnaces smelt, mobs pathfind, and redstone updates. An unloaded chunk is just bytes in a region file, and nothing happens in it until a player enters its range. Movement constantly loads a ring of chunks around each player and unloads the ones behind after a brief timeout, saving to disk in the background the whole time.

  • Loaded chunks run the game; unloaded chunks are only data on disk.
  • A ring of chunks follows each player as they travel.
  • Block updates, mob spawns, and crop growth only happen in loaded chunks.

Spawn Chunks and Distance Settings

The area around world spawn, roughly a 19 by 19 chunk square, stays loaded while at least one player is in the overworld, so farms near spawn run without anyone standing there. Two server.properties keys control the rest: view-distance sets what clients render, while simulation-distance sets which chunks around a player the server ticks deeply. Lowering simulation-distance to 4 or 5 cuts entity and redstone work while players keep their full view, and it is the cheapest large CPU saving most servers can make.

  • Put permanent farms in spawn chunks, which stay loaded while anyone is in the overworld.
  • Lower simulation-distance before touching view-distance.
  • Most servers run simulation-distance 4 to 5 with view-distance 8.

Force-Loading Chunks With /forceload

For areas that must stay active wherever players are, Java 1.13 and later offers /forceload. It is per-dimension: run it in the overworld for overworld chunks, or stand in the Nether or End first. Coordinates are chunk coordinates, not block coordinates; chunk 0 0 covers blocks x and z 0 to 15. The optional radius loads a square of chunks around the target. Force-loaded chunks tick exactly like chunks a player stands in.

Keep a sorting area alive at chunk 0 0, then release another zone:
/forceload add 0 0
/forceload query 0 0
/forceload add 16 16 2
/forceload remove 16 16
/forceload remove all

Why Loaded Chunks Matter

Loaded chunks matter for anything that works while you are away. Iron farms need a ticking chunk to detect and kill golems; mob and gold farms need the spawn logic that checks light levels and mob caps; crop farms need growth ticks; sorting systems need redstone updates. Portals are the subtle case: an entity crossing a portal needs the destination chunk loaded, which is why nether-side farms keep portal chunks alive.

  • Redstone machines run only while their chunk ticks.
  • Farms freeze the moment their chunk unloads.
  • Mob spawning checks loaded chunks only; no load, no mobs.
  • Portals require the destination chunk to load before entities cross.

Loaded Chunks and Server Performance

Every loaded chunk costs CPU each tick, so force-loads matter. One farming area is negligible; dozens of always-on loaders on a maxed view distance will drag TPS below 20. Paper adds chunk-system options under chunk-loading in paper.yml to cap flushing per tick and smooth main-thread spikes. Keep force-loads small and compact, prefer spawn chunks for permanent farms, lower simulation-distance before view-distance, and measure with /tps after each change.

  • Compact force-loads beat wide areas nobody uses.
  • paper.yml chunk-loading caps how many chunks flush per tick.
  • /tps at 20 is perfect; below 18 players notice.

Troubleshooting

  • Chunks unload anyway: /forceload is per-dimension, so confirm the command ran in the right dimension.
  • Forceload says unknown command: it needs Java 1.13 or later; on older versions use a chunk loader plugin such as ChunkMaster.
  • TPS drops after adding loads: too much is ticking; trim with /forceload remove and lower simulation-distance.
  • Spawn chunks not ticking: they load only while a player is in the overworld, and Paper's entity-activation options throttle what ticks inside them.

FAQ

What is the difference between view-distance and simulation-distance?

view-distance is what each client renders; simulation-distance is what the server actually ticks, meaning entities, redstone, and farms. Setting it lower cuts CPU while players keep the same view.

Do force-loaded chunks work in every dimension?

Yes: /forceload is per-dimension, so you can keep an overworld iron farm and a nether gold farm alive at once.

Do I need a chunk loader plugin?

No. Vanilla /forceload covers most needs on Java 1.13 and later. Plugins add conveniences like GUI selection but rely on the same underlying chunk tickets.

Why do my farms stop when nobody is online?

The server stops ticking spawn chunks when no player is in the overworld, though force-loaded chunks keep running. Put always-on farms in force-loaded areas.

Does a bigger view-distance load the world permanently?

No. Chunks near players unload once everyone leaves the area; only spawn chunks and force-loaded chunks persist between sessions.

Related Guides

This site uses cookies to improve your experience. Learn more.