Repository navigation
Chunk Pregeneration
Applies to Utility Nexus Admin 1.2.0 for Minecraft 1.21.1 (NeoForge).
When a player explores, the chunks they walk into are generated on the spot, on the server, on the frame they arrive. That is a tick-time spike exactly when someone is trying to play, and it compounds as a group moves together.
Pregenerating moves that cost to a time when nobody is waiting on it.
A pregenerator that competes with the server is worse than no pregenerator. So this one is budgeted, not greedy.
Every tick it stops as soon as either time limit is reached:
| Default | Range | |
|---|---|---|
pregen.maxMillisPerTick |
8 ms | 1 – 40 |
pregen.maxServerMspt |
45 ms | 10 – 500 |
If the server's own tick is already approaching your MSPT target, pregeneration yields. The default budget of 8 ms is deliberately small — it is a ceiling on what pregen may ever cost, not a target.
| Default | Range | |
|---|---|---|
pregen.chunksPerTick |
8 | 1 – 200 |
pregen.maxConcurrentChunks |
4 | 1 – 64 |
These bound the work per tick; the time budgets above bound the time. Both apply — whichever is hit first stops the tick's work.
| Default | Range | |
|---|---|---|
pregen.startX |
0 | any int |
pregen.startZ |
0 | any int |
pregen.radius |
0 | −1 = unlimited |
pregen.dimension |
minecraft:overworld |
any dimension id |
radius is in blocks, and -1 means unlimited — which combined with the per-tick budgets means it
will keep going as long as you let it.
Pregeneration runs in cycles, not continuously:
| Default | Range | |
|---|---|---|
pregen.workSeconds |
300 | 5 – 86400 |
pregen.restSeconds |
120 | 0 – 86400 |
pregen.resumeGraceSeconds |
30 | 0 – 3600 |
pregen.startupDelaySeconds |
60 | 0 – 3600 |
Five minutes of work, two of quiet, by default.
startupDelaySeconds is there so pregeneration does not compete with server startup. A default of
60 seconds means it waits for the world to finish loading.
resumeGraceSeconds is the pause after a manual pause before it resumes.
pregen.ignorePlayers, default true, decides whether player presence is ignored during a burst.
With it true, pregeneration keeps working while players are online — it just stays inside its time
budgets. With it false, it is more conservative.
Either way the time budgets are what actually protect the server. This setting is about intent, not safety.
Off by default:
| Default | Range | |
|---|---|---|
schedule.enabled |
false |
— |
schedule.startHour |
8 | 0 – 23 |
schedule.endHour |
10 | 0 – 23 |
schedule.burstChunksPerTick |
64 | 1 – 200 |
schedule.burstMaxConcurrentChunks |
16 | 1 – 64 |
schedule.burstMaxMillisPerTick |
30 | 1 – 40 |
schedule.burstMaxServerMspt |
500 | 10 – 500 |
schedule.ignorePlayers |
true |
— |
schedule.autoStopAtWindowEnd |
true |
— |
schedule.requireRestartAfter |
true |
— |
The burst values are much more aggressive than the normal ones — 64 chunks per tick against 8, and a 500 ms MSPT ceiling against 45. That is the point: the window is meant to be hours when the server should be empty, so the budget can be far larger.
Two of these matter:
-
schedule.autoStopAtWindowEnd— stops atendHourrather than continuing indefinitely. -
schedule.requireRestartAfter— whether the schedule needs a restart to take effect again.
Under /una pregen:
start |
Start pregeneration. |
stop |
Stop it. |
pause / resume
|
Pause and continue. |
status |
Current state. |
radius |
Get or set the radius. |
center |
Set the centre. |
dimension |
Get or set the dimension. |
enabled |
Get or set enabled. |
config |
Show the current settings. |
See Commands and Config.
Start smaller than you think you need. A radius of 5000 blocks is a lot of chunks. The budgets mean it will not hurt the server, but it will take a long time.
Watch status while it runs rather than assuming. If the server is struggling, the numbers you
want are the ones you can lower: chunksPerTick first, then maxMillisPerTick.
Generated chunks are ordinary chunks. Nothing about them depends on this mod, so uninstalling leaves your world valid.
Utility Nexus Admin is by Stalking Dragons, released under the MIT License. Not affiliated with or endorsed by Mojang Studios or Microsoft.