How to Pre-Generate Your Minecraft World with Chunky (No More Lag Spikes)
Guide

How to Pre-Generate Your Minecraft World with Chunky (No More Lag Spikes)

Stop first-join lag by pre-generating your world before players explore. A complete guide to Chunky — the plugin that generates chunks in the background so your server stays smooth.

Swelis TeamApril 30, 202610 min read

Your server runs fine for the first few days. Twenty TPS, smooth gameplay, no complaints. Then a handful of players decide to explore. They scatter in every direction, loading new terrain faster than your server can generate it. Suddenly TPS drops to single digits. Chat fills with "why is the server lagging?"

This is chunk generation lag, and it hits almost every new Minecraft server eventually. The fix is to generate those chunks before players get there. That is what Chunky does — and once you understand how to use it, you will wonder why you did not do this on day one.


Why Chunk Generation Causes Lag

Minecraft servers run on a 20-tick-per-second clock. Every tick, the server processes mob AI, player actions, block updates, and redstone. It has 50 milliseconds to finish each tick. Miss that window, and TPS drops.

Generating a new chunk is expensive. The server has to run the terrain generator, calculate biomes, place structures, populate ores, spawn initial mobs, and write the result to disk. On vanilla, a single chunk might take 10-30ms to generate. On a modded server with worldgen mods, it can be far worse.

When one player explores, the server generates chunks at a sustainable pace — maybe a few per second. But when five players explore in five different directions, the server tries to generate chunks in parallel. Each generation eats into the 50ms tick budget. If total generation time exceeds the budget, TPS drops.

The root problem is that chunk generation competes with gameplay for the same tick budget. If you want smooth gameplay during exploration, you need to separate them.


What Chunky Does

Chunky is a chunk pre-generator that works on Paper, Purpur, Fabric, Forge, NeoForge, and Sponge. It generates chunks in the background, one at a time, without overwhelming the main thread.

The key difference from player-driven exploration: Chunky throttles itself. It generates a few chunks per tick, monitors TPS, and backs off if the server starts lagging. You can run it overnight when no one is online, or at a reduced pace while players are active.

Chunky uses a task queue system. You define a world, a center point, a radius, and a shape (circle or square). Then you start the task. Chunky saves progress, so if your server restarts, it picks up where it left off.

Once chunks are pre-generated, players loading them only need to read from disk — no terrain generation, no structure placement, no ore population. Just a fast disk read.


Installing Chunky

Installation depends on your server software. Here is what you need for each platform.

PlatformDownload LocationFile TypeInstall Path
Paper / Purpur / SpigotModrinth or SpigotMC.jar/plugins/
FabricModrinth or CurseForge.jar/mods/
Forge / NeoForgeCurseForge.jar/mods/

For Paper or Purpur servers, drop the plugin JAR into your /plugins/ folder and restart. For Fabric or Forge, add it to /mods/ and restart. No config edits required for basic usage.

After restart, run /chunky in console or in-game (with op permissions) to confirm it loaded. You should see a help message listing available commands.


Calculating Your Radius

Before you start generating, decide how large your world should be. This decision affects storage, generation time, and gameplay.

The math

Chunky uses a radius measured in blocks from the center point. A radius of 5,000 blocks creates a 10,000-block diameter — meaning players can travel 5,000 blocks in any direction from spawn before hitting unexplored territory.

The area scales quadratically. Double the radius, and you get four times the chunks:

RadiusDiameterApproximate ChunksEstimated Storage
3,0006,000~140,000~2 GB
5,00010,000~390,000~5 GB
8,00016,000~1,000,000~12 GB
10,00020,000~1,560,000~17 GB
15,00030,000~3,500,000~38 GB

These estimates assume vanilla terrain. Modded worldgen or many structures can increase storage by 20-50%.

What radius do you need?

For a small friends-and-family server, 3,000 blocks is plenty. Most players will never explore that far. For an SMP with an active community that builds spread-out bases, 5,000-8,000 blocks gives room to grow. For public servers or networks expecting hundreds of players, 10,000+ makes sense — but check your storage first.

If you are unsure, start with 5,000. You can always extend later by running another Chunky task with a larger radius.

World border alignment

If you plan to enforce a world border, match it to your pre-generated radius. A 5,000-block radius in Chunky corresponds to a 10,000-block diameter world border:

/worldborder center 0 0
/worldborder set 10000

This prevents players from exploring beyond pre-generated terrain. See the server.properties guide for more world boundary options.


Running the Pre-Generation Task

Once Chunky is installed and you know your target radius, start the generation. Here is the full workflow.

Step 1: Select the world

On Paper-based servers, the world names are world (overworld), world_nether, and world_the_end. Run:

/chunky world world

For the Nether or End, substitute the appropriate name. On Fabric, world names may differ depending on your setup — check your /saves/ or server root for the exact folder name.

Step 2: Set center and radius

By default, Chunky centers on 0,0. If your spawn is elsewhere, adjust:

/chunky center 0 0
/chunky radius 5000

Step 3: Choose a shape

Chunky supports circle (default) and square. Circles generate fewer chunks for the same radius, saving storage and time. Squares align cleanly with world borders.

/chunky shape circle

Step 4: Start generation

/chunky start

Chunky begins generating. You will see progress messages in console showing chunks completed, rate per second, and ETA.

Monitoring progress

Chunky logs progress every few seconds by default. If the output is too verbose, silence it:

/chunky silent

To check progress manually:

/chunky progress

Pausing and resuming

If you need to pause (server maintenance, players complaining about slight lag):

/chunky pause

Resume later:

/chunky continue

Progress is saved automatically. Server restarts do not lose progress.

Canceling

To abort and discard progress:

/chunky cancel

This does not delete already-generated chunks — just stops the task.


RAM and CPU Tuning During Generation

Pre-generation is a CPU and memory-intensive operation. For the fastest results, temporarily increase your server's resources.

RAM recommendations

Chunk generation creates many temporary objects. If your server normally runs on 4 GB, consider bumping to 6-8 GB during generation. This reduces garbage collection pauses and speeds up the process. Check the RAM guide if you are unsure how much your server needs in normal operation.

On Swelis, you can adjust RAM allocation from the panel without restarting — scale up for generation, scale back down afterward.

CPU matters more than RAM

Chunk generation is heavily single-threaded. A high clock speed CPU with good cache (like the Ryzen 9 7950X3D nodes Swelis uses) generates chunks significantly faster than a multi-core server CPU running at lower frequencies. There is not much you can configure here — it comes down to your host's hardware.

Estimated generation times

On a 6 GB plan with modern hardware, expect roughly:

RadiusEstimated Time
3,00030-60 minutes
5,0001-2 hours
8,0003-5 hours
10,0006-10 hours

Run the generation overnight or when the server is empty. If players are online, Chunky will self-throttle to avoid lag, but generation will take longer.


Verifying Completion and Setting a World Border

When Chunky finishes, it logs a completion message. But trust and verify — here is how to confirm your world is fully pre-generated.

Check for gaps

Walk (or fly) to the edges of your pre-generated area. If you see terrain loading smoothly without TPS drops, the chunks are there. If you hit a spot where generation kicks in, you may have an incomplete task or used the wrong center point.

Set the world border

Lock players inside your pre-generated area:

/worldborder center 0 0
/worldborder set 10000

The set value is the diameter, not the radius. A 5,000-block Chunky radius needs a 10,000-block world border.

Add a buffer warning so players know they are approaching the edge:

/worldborder warning distance 100
/worldborder warning time 15

What about the Nether and End?

If your players use Nether highways, pre-generate the Nether too. Remember that Nether coordinates are 1:8 relative to the overworld. A 5,000-block overworld radius corresponds to a ~625-block Nether radius for equivalent travel distance:

/chunky world world_nether
/chunky center 0 0
/chunky radius 625
/chunky start

The End is usually not worth pre-generating unless you have custom End terrain or players routinely explore distant End islands.


Troubleshooting Common Issues

Chunky seems slow. Check your server's CPU and RAM usage. If RAM is maxed, increase allocation. If CPU is pegged, that is expected — chunk generation is CPU-bound. Run it during low-traffic hours.

Server keeps restarting mid-generation. Some hosts have automatic restart schedules. Chunky saves progress, so this is usually fine — just /chunky continue after each restart. If your host restarts every 6 hours and you have a 10-hour generation, plan accordingly.

"Task already running" error. You already have an active Chunky task. Run /chunky pause or /chunky cancel before starting a new one.

World border does not match pre-generated area. Double-check that your world border diameter equals twice your Chunky radius. A 5,000 radius needs a 10,000 diameter border.

TPS drops during generation despite throttling. Chunky throttles based on TPS, but heavy modpacks or plugins can still cause lag during generation. Try /chunky quiet to reduce log spam, or generate in smaller chunks (e.g., 3,000 radius first, then extend to 5,000).

For general performance tuning beyond chunk generation, see the lag troubleshooting guide and performance optimization tips.


Quick Reference

CommandWhat it does
/chunky world <name>Select target world (e.g., world, world_nether)
/chunky center <x> <z>Set center point (default: 0,0)
/chunky radius <blocks>Set radius in blocks
/chunky shape <circle|square>Choose generation shape
/chunky startBegin pre-generation
/chunky pausePause current task (saves progress)
/chunky continueResume paused task
/chunky cancelStop and discard task progress
/chunky progressShow current task status
/chunky silentToggle console output
/worldborder set <diameter>Set world border (2x your radius)

Ready to Start Your Adventure?

Join lots of users already enjoying lag-free hosting.

Launch Your Server
Swelis Hosting

Premium Minecraft server hosting starting at €1.50/GB RAM. Experience lightning-fast performance, 24/7 support, and 99.9% uptime guarantee.

© 2026 Swelis International e.U. All rights reserved.