⚙️ Utility Nexus Admin
Server-side admin utility for NeoForge: inject datapacks into every world without a restart, and pregenerate chunks in the background without ever lagging or blocking players.
✨ Overview
🎯 Features
📦 Global Datapack Loader
Vanilla only loads datapacks from a single world's <world>/datapacks/ folder. This loads every folder or .zip datapack placed in <game-dir>/datapacks/ into every world, on dedicated servers and in single-player alike.
- Packs are selected before the world's first data load, so enabling them does not trigger an extra resource reload at startup
- Structure is validated first (
pack.mcmetaparses,data/directory present); invalid packs are skipped with a warning - A folder pack with no
pack.mcmetacan have a default one generated automatically - Runtime management, no restart:
/una datapack list,load|unload|reload <name>,validate <name>,loadall
🌎 Server-Safe Chunk Pregeneration
A background pregenerator designed so it can never get in a player's way or stall a login.
- Off-thread generation — chunks are requested asynchronously with a bounded number of requests in flight (
pregen.maxConcurrentChunks); the server thread never blocks building a chunk - Per-tick time budget (
pregen.maxMillisPerTick) plus an MSPT-aware throttle (pregen.maxServerMspt) — pregen skips any tick where the server is already running slow - Work / rest cycles — generate for
pregen.workSeconds, idle forpregen.restSeconds, repeat (set rest to 0 to always work) - Player-safe — pauses the instant a player is online or a connection reaches the login / configuration handshake; server-list pings are ignored; resumes only after the server has been empty for
pregen.resumeGraceSeconds - Deferred auto-start — starts
pregen.startupDelaySecondsafter the server is fully up, and only while it is empty, so it never collides with world load - Resumable — progress is written to a small file and picked up on the next start
- Commands:
/una pregen status | start | stop | pause | resumeand/una pregen config enabled|center|radius|chunksPerTick|dimension
⚙️ Configuration System
A single commented TOML file at config/utility_nexus/admin/config.toml (NeoForge ModConfigSpec). Every value is also reachable at runtime by its section.key name:
/una config get <key>— read a value (e.g.pregen.maxMillisPerTick)/una config set <key> <value>— change it and persist to disk/una config reload— re-read an externally edited file
🔐 Command Permissions
The whole /una tree is gated behind a configurable vanilla OP level (commands.opLevel, default 2). The datapack and config sub-trees can each be turned off entirely from the config. No permission-mod dependency.
🪶 Lightweight & Dependency-Free
Zero hard dependencies beyond NeoForge. Server-focused; every system is event-driven and idle until used.
⚙️ Configuration Reference
Full contents of config/utility_nexus/admin/config.toml:
| Key | Default | Notes |
|---|---|---|
| [datapack] | ||
datapack.autoLoad | true | Inject datapacks found in <game-dir>/datapacks/ into every world. If false, that folder is ignored entirely. |
datapack.validateOnLoad | true | Validate pack structure (pack.mcmeta parses, data/ present) before injecting; invalid packs are skipped with a warning. |
datapack.createMissingMetadata | true | Generate a default pack.mcmeta (pack_format 48) for a folder pack that has none. Zip packs without one are skipped. |
| [commands] | ||
commands.opLevel | 2 | Minimum vanilla OP level required to use /una (0–4). Applied when the command tree is built. |
commands.enableDatapackCommands | true | Register the /una datapack … sub-tree. |
commands.enableConfigCommands | true | Register the /una config … sub-tree. |
| [logging] | ||
logging.level | INFO | Minimum level the mod emits to the log: DEBUG, INFO, WARN or ERROR. |
| [pregen] | ||
pregen.enabled | true | Auto-start chunk pregeneration on server start (only progresses while 0 players are online). |
pregen.startX / pregen.startZ | 0 / 0 | Center chunk (chunk coords, not blocks). |
pregen.radius | 0 | Radius in chunks around the center; a (2×radius+1) square is generated. 0 or negative is treated as a fixed large radius (12,500 chunks / 200,000 blocks). |
pregen.chunksPerTick | 50 | Upper bound on chunk requests submitted per tick (1–200). The real pace is governed by the budget and concurrency limits below. |
pregen.dimension | minecraft:overworld | Target dimension id. |
pregen.maxConcurrentChunks | 4 | Maximum chunk-generation requests in flight at once (1–64). Lower = smoother. |
pregen.maxMillisPerTick | 8 | Wall-time budget per tick for pregen work (1–40 ms). |
pregen.maxServerMspt | 45 | If the mean tick time exceeds this (10–500 ms), pregen does nothing that tick. |
pregen.workSeconds | 300 | Seconds of active generation per work/rest cycle (5–86400). |
pregen.restSeconds | 120 | Seconds of rest between work phases (0–86400). 0 = never rest. |
pregen.resumeGraceSeconds | 30 | Seconds the server must stay continuously empty before pregen resumes (0–3600). |
pregen.startupDelaySeconds | 60 | Delay after the server finishes starting before pregen auto-starts (0–3600). |
Note: on a dedicated server set pause-when-empty-seconds=-1 in server.properties so the server keeps ticking while empty — otherwise pregen only runs when someone briefly connects. |
📋 Requirements
| Minecraft | 1.21.1 |
| NeoForge | 21.1.249+ |
| Java | 21 |
| Side | Server (works in single-player too) |
🎮 How to Use
- Install NeoForge 21.1.249 for Minecraft 1.21.1.
- Place Utility Nexus Admin in your
modsfolder. - Start once — a default config is written to
config/utility_nexus/admin/config.toml. - Put folder or
.zipdatapacks in<instance-or-server>/datapacks/; they load into every world automatically. - Run
/una helpin-game or from console for the full command list. - Chunk pregeneration auto-starts on an empty server after a short delay; tune it under the
[pregen]config section or with/una pregen, and monitor it with/una pregen status.
🙏 Credits
Developed by Stalking Dragons.
https://codex.skdragons.com/
Codex Stalking Dragons — Minecraft Modding

