Pre-generating your world with Chunky

May 16, 20255 min read

Pre-generating your world with Chunky

If you've ever watched your TPS plunge when a player walks past a chunk border into unexplored land, you've felt the cost of on-demand world generation. Pre-generating eliminates that cost by doing all the slow work once, ahead of time, before players ever arrive.

For new servers, this is the single highest-leverage performance setting you can apply. It's free (in dollars), takes a few hours, and you do it once.

The problem it solves

When a player explores a new area, the server has to:

26%42%11%16%5%One on-demand chunk generation: tick budget consumed (ms)Generate terrain [50]Decorate (trees, ores, vegetation) [80]Entity spawning [20]Save to disk [30]Network send to players [10]

Now multiply by 6 players each on horses heading in different directions across new terrain.

Pre-generation moves all that work to a one-time pass while no one is online. After pre-generation, exploration is just "load chunk from disk and send," which is fast and cheap.

When pre-generation pays off

  • New worlds. Always do it.
  • Worlds where exploration is encouraged (survival, adventure, RPG modpacks).
  • Worlds with heavy world gen mods (Terralith, BoP, Tectonic). These are 2 to 5x more expensive per chunk than vanilla.
  • Servers where you have a known play radius and want the entire radius pre-built.

When it doesn't help

  • Skyblock or void-based worlds. There's no terrain to generate.
  • Old worlds where most chunks are already explored.
  • Mini-game servers where players are constrained to small built areas.

The tool: Chunky

Chunky is the standard. It's a plugin (Paper / Purpur), a mod (Fabric), and also a Forge mod. Pick the version that matches your server software.

Install it like any other plugin or mod: drop the jar into the right folder, restart the server.

Basic usage

In console (or in-game as op):

/chunky world world
/chunky center 0 0
/chunky radius 5000
/chunky start

This pre-generates a 5000-block radius around 0,0 in your overworld. That's roughly a 10,000 by 10,000 block area, or about 390,000 chunks. Big.

To check progress:

/chunky info

To pause and resume:

/chunky pause
/chunky continue

To cancel:

/chunky cancel

Sizing the radius

Think about what your server actually needs.

Use case Radius Approx. chunks Approx. disk (vanilla) Approx. time (vanilla, fast core)
Small friend group, build near spawn 1,500 to 2,500 25K to 70K 300 MB to 1.5 GB 30 min to 1 hr
Survival multiplayer, exploration 3,000 to 5,000 100K to 300K 1 to 8 GB 1 to 3 hr
Large public server, far roaming 5,000 to 10,000 300K to 1.2M 8 to 30 GB 4 to 12 hr
RPG / adventure with fixed border exact border varies varies varies

Add a world border at the end. /worldborder set 10000 center 0 0. Players cannot accidentally venture past your pre-gen area, which means they cannot trigger on-demand generation.

Time impact

Pre-gen takes time. Variables:

  • World generation complexity (vanilla vs modded).
  • CPU speed of the host.
  • Chunky parallelism setting.

Typical rates:

  • Vanilla on a fast modern core: 50 to 200 chunks per second.
  • Modded with Terralith / BoP: 10 to 50 chunks per second.

So 300,000 chunks of modded terrain might take 3 to 10 hours. Vanilla is faster, often 1 to 3 hours for similar sizes.

Run it overnight. Or on a backup server. Or just kick the kids off for an afternoon.

Performance during pre-gen

Pre-gen is CPU-heavy. While it runs, the server is busy. Don't pre-gen with players online unless you've throttled Chunky's pace.

/chunky pattern spiral is gentler on a live server (spiral outward from center, less spike-y).

To slow it down deliberately:

/chunky parallelism 1

This limits to one thread, leaves CPU for players. Useful if you must pre-gen during play hours, but ideally you don't.

A real pre-gen workflow

No

Yes

Decide world type, mods, seed

Lock all world-gen mods.
Do not change after this point

Install Chunky.
Restart server

Set world border first:
/worldborder set 10000

Configure Chunky:
/chunky world, center, radius

Start: /chunky start

Walk away. Check back in hours

Done?

Repeat for nether and end

Shut down cleanly to flush chunks

Take a backup.
Now you have a clean baseline

Open to players

Common mistakes

  • Forgetting the Nether and End. Run /chunky world world_nether separately. The Nether especially benefits because Nether generation is heavier per chunk than overworld.
  • Pre-generating without setting a world border first. Players can still wander past the pre-gen area, triggering on-demand generation. Set the border before opening.
  • Pre-generating with players online and complaining about lag. Pre-gen is intentionally heavy. Do it offline.
  • Re-running pre-gen on an existing world expecting a fresh result. Chunky won't regenerate existing chunks. If you've changed world gen mods or seeds, you need a new world.

Modded worlds: a special note

If you're on a Forge / NeoForge modpack with Terralith, BoP, William Wythers' Overhauled Overworld, or similar, pre-gen savings are huge. These mods can spend a full second generating one chunk under load. A single player exploring can cause sustained TPS drops.

For these packs, pre-gen is essentially mandatory for a smooth experience.

A final tip: lock world generation before pre-gen

If you're tweaking world generation mods, world height extensions, or biome packs, finalize those before pre-gen. Pre-generating with one config and then changing the config later means the new config only applies to new chunks. You'll have a visible seam at the border.

Conclusion

Pre-generating with Chunky is the single best one-time performance upgrade for a new server. Cost: an afternoon and some disk. Benefit: smooth exploration forever. There's almost no reason not to.


Hosting your game server with AndroHost means we handle most of what's in this post for you automatically: tier sizing, SRV records, off-site backups, DDoS protection.

Browse plans·More posts·Discord