Decide what pre-generation should solve
Pre-generating asks the server to create terrain in a planned region before players reach it. That moves much of the expensive first-generation work away from live exploration, where several players flying in different directions can otherwise create noticeable tick pressure. It does not permanently optimize every loaded chunk, fix a slow plugin, improve a player's frame rate or remove network latency. Treat it as one controlled world-preparation job with a defined boundary and finish condition.
Choose the area from the way the community will actually use the world. Record the world name, center coordinates, shape and radius in blocks. A radius is measured from the center, so doubling it creates far more than twice as much terrain. Chunky's own guidance recommends starting smaller when uncertain because large selections can consume significant disk space and take a long time. Leave headroom for the generated world, temporary files, logs and the next complete backup.
Plan the permanent exploration boundary at the same time. Pre-generation creates chunks; it does not by itself stop a player from crossing the edge and generating new terrain. If the playable area should stay bounded, configure and test an appropriate world border after deciding its center and extent. Do not make a destructive trim command part of this first workflow. Chunky documents that cancelling a task keeps already generated chunks, while trimming deletes chunks and requires a backup plus a restart.
- Write down the target world, center, shape, radius and expected border before starting.
- Check free disk space and confirm the backup destination has room for the larger world.
- Run the first job before launch or during a quiet maintenance window.
- Keep chunk deletion and border changes separate from the generation task.
Install Chunky as a trusted Paper plugin
For Paper, download the Bukkit build of Chunky from a source listed by the project, such as its Hangar, Modrinth or SpigotMC page. Confirm that the release supports the Minecraft and Paper version you run. Paper plugins have unrestricted access to the server machine, so verify the project identity and avoid re-upload sites or similarly named JARs. Preserve the source URL and version in the maintenance note.
Stop Paper cleanly and take a complete restorable backup before adding the plugin. Include every world and dimension, configuration, access-control file, plugin JAR and plugin data directory, plus matching snapshots of external databases. Then place the correct JAR directly in the plugins directory and restart. Paper does not scan nested plugin folders, and keeping two Chunky versions active can produce an ambiguous plugin-name failure.
Read the startup log from the beginning and run chunky in the server console. The expected result is Chunky's help output, not an unknown-command message. Use plugins in the console as a second check; Paper documents that a new plugin shown in red is not enabled. Resolve Java, platform or dependency errors before selecting a region. Do not use the Bukkit reload command to install it on a running production server.
Select an exact bounded region
Run selection commands from the server console without a leading slash; add the slash only when an authorized operator runs them in game. Start by selecting the correct world with chunky world world, replacing world with the real folder or dimension name. Then choose a square or circle with chunky shape square or chunky shape circle, set the center with chunky center 0 0, and set a radius in blocks with chunky radius 5000. These values are examples, not a universal recommendation.
Use chunky selection before generation and read the complete result back. It should name the intended world, shape, center and radius. If the server already has the right vanilla border, chunky worldborder can import its center and radius into the current selection. That copies the selection from the border for the task; still verify the border itself and never assume a plugin border supports every Chunky shape.
An explicit single command is useful for a repeatable maintenance log: chunky start world square 0 0 5000 selects and starts that square in one step. The separated commands are easier for a first run because you can inspect the selection before any terrain is created. Whichever form you use, have another administrator compare it with the written plan. A missing zero can turn a modest job into a large storage event.
- chunky world world selects the target world.
- chunky shape square chooses the generation shape.
- chunky center 0 0 sets the center in block coordinates.
- chunky radius 5000 sets an example radius of 5,000 blocks.
- chunky selection prints the current plan before you start.
Run the task without competing workloads
Start only after a fresh backup, the selection review and a normal server health check. Chunky recommends pre-generating before players join because it is usually faster and avoids gameplay impact. Pause scheduled map renders, large backups and other storage-heavy maintenance until generation finishes. If Dynmap, BlueMap or Squaremap is installed, follow its own integration guidance; Chunky notes that temporarily disabling rendering can improve the generation run and the later map result.
Use chunky start to begin the selected task. Leave the multiplayer server running normally while it works. Chunky's FAQ specifically warns against pausing the game or freezing ticks during generation. On current Paper configurations, verify that pause-when-empty-seconds is -1 so an empty server does not suspend the job. Do not casually change watchdog, worker-thread or memory settings from an old tuning guide; establish a baseline first and change only a documented value you can reverse.
Keep players out of the first production-sized run when possible. If they must connect, set an operational threshold for stopping: sustained tick delay, repeated watchdog warnings, disk pressure, crashes or a critical plugin error. Pre-generation is planned work, not an emergency. Pausing and continuing later is safer than letting a background task degrade the world players are actively changing.
Monitor progress and preserve resumability
Chunky prints processed chunks, completion percentage, estimated time, generation rate and the current position to the server console. Use chunky progress when those updates are not visible. Record periodic progress together with free disk space, process health and tick behavior. Treat the estimate as a moving forecast, not a promise: terrain generator complexity, storage, other plugins and host contention can change the rate during the run.
Use chunky pause to save active task progress before a maintenance interruption, and chunky continue to resume saved tasks. A normal server shutdown also saves active tasks, but automatic continuation after restart is disabled by default in Chunky's documented configuration. Enable continue-on-restart only when unattended resumption is truly intended and monitored; otherwise restart Paper, verify health and resume deliberately from the console.
Use chunky cancel only when you want to discard the task state. Cancellation does not remove chunks that already exist, so restarting with a smaller radius will not shrink the world file. If storage is approaching a critical limit, pause first, preserve logs and decide from a backup whether any deletion is necessary. Never learn the trim command during a disk-space incident on the only copy of the world.
- chunky progress prints the state of active generation tasks.
- chunky pause saves progress for later continuation.
- chunky continue resumes current or saved tasks.
- chunky cancel removes task state but keeps generated terrain.
Generate dimensions and custom terrain deliberately
The Overworld, Nether and End are separate targets. Select and run each required world by its actual server name; common names include world, world_nether and world_the_end, but a panel, multi-world plugin or custom layout may differ. Do not assume one successful Overworld task covered every dimension. Give each dimension its own center, radius, storage review and completion record based on how players will use it.
Install and validate world-generation data packs, plugins or mods before creating new chunks. Chunky delegates terrain creation to the server, so the active generator determines what newly created areas contain. Adding a generator later does not rewrite chunks that already exist and can create abrupt borders where old and new terrain meet. Test the exact stack on a restored staging copy when custom terrain matters.
An existing world is a valid target: Chunky says it skips chunks that already exist and generates missing ones. That makes a measured expansion possible for an established season, but it also means existing terrain remains part of the result. Check portals, claims, map plugins and force-loaded areas after the expansion. Keep the server version and world generator stable until the task and validation pass are complete.
Validate the world before reopening exploration
Completion is more than a 100 percent console message. Preserve the final Chunky output, confirm the expected task has ended, compare disk usage with the pre-run baseline and review the log for generation exceptions. Restart Paper cleanly, then join with a normal account. Travel through representative old and new terrain, visit each generated dimension, test portals and confirm the configured border behaves at several edges.
Watch performance during the acceptance trip. Paper bundles spark on current releases, and its profiling guide says a useful profile must capture the problem while it is happening. If travel still causes server tick delay, follow the measurement workflow in /blog/minecraft-server-lag-fix-guide to separate chunk loading, a map renderer, a custom generator or another plugin. Pre-generation reduces first-time terrain creation; it cannot prove that every runtime workload is healthy.
Take a new complete backup after validation so recovery does not require repeating a long generation job. Update the operations note with the final world sizes, Chunky selection, completion time, plugin version and border. More focused setup and recovery guides are collected at /blog. If the verified world and its rolling backups no longer fit the current storage or maintenance window, compare documented options at /pricing before expanding the radius again.
Frequently asked questions
Quick answers
What does pre-generating chunks do on a Paper server?
It creates terrain inside a selected region before players explore it, moving much of the first-generation work into a planned maintenance job. It does not fix unrelated plugin, network or client performance problems.
Which Chunky commands start a basic pre-generation?
Select the world, shape, center and radius, confirm them with chunky selection, then run chunky start. Console commands omit the leading slash; in-game commands include it.
Can I pause Chunky and continue after a restart?
Yes. chunky pause saves progress and chunky continue resumes it. Normal shutdowns save active tasks, but automatic continuation after restart is disabled by default unless you enable and monitor it.
Does cancelling Chunky delete generated chunks?
No. chunky cancel deletes the saved task state, but chunks already generated remain on disk. Trimming is a separate destructive operation that requires a verified backup and careful review.
Should I pre-generate the Nether and End too?
Generate each dimension that players will explore as a separate named task. Choose its radius deliberately, monitor storage and validate portals plus terrain before reopening the server.
