跳到正文

Utility Nexus Admin

作者:LlaGuiT0

A server administration utility mod featuring dynamic datapack loading, admin commands, and management tools for Minecraft 1.21.1 NeoForge servers.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

⚙️ 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.

CurseForge Downloads
CurseForge Version
Minecraft 1.21.1
NeoForge
Client & Server
MIT


✨ Overview

Utility Nexus Admin bundles two things every modded server ends up needing — a global datapack loader and a server-safe chunk pregenerator — into one lightweight, dependency-free mod, with a single commented TOML config and one /una command tree, plus one client-side QoL fix for modded creative inventories. Built for NeoForge 21.1.259 on Minecraft 1.21.1.

What it covers:

  • Datapacks — auto-load folder / .zip packs from <game-dir>/datapacks/ into every world; load, unload, reload and validate at runtime
  • Chunk pregeneration — asynchronous, throttled, resumable, and guaranteed to step aside for players
  • Creative tabs — the creative inventory tab bar sorted alphabetically in the player’s own language
  • Configuration — one config/utility_nexus/admin/config.toml, read and edited live with /una config
  • Permissions — one configurable OP-level gate for the whole command tree, no permission mod required
Codex Stalking Dragons

🎯 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.mcmeta parses, data/ directory present); invalid packs are skipped with a warning
  • A folder pack with no pack.mcmeta can 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.

  • Spiral traversal — generates chunks in an outward square spiral (Ulam-style) from the center, giving better early-game coverage than a raster scan; radius can be finite (pregen.radius > 0), infinite (-1), or disabled (0)
  • 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 for pregen.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
  • Scheduled burst window — enable schedule.enabled to run an aggressive pregeneration pass during a daily hour window (default 08:00–10:00) that bypasses MSPT throttle, work/rest, and player-pause; emits a restart warning on window close
  • Deferred auto-start — starts pregen.startupDelaySeconds after 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 | resume and /una pregen config enabled|center|radius|chunksPerTick|dimension

🎨 Alphabetical Creative Tabs

NeoForge orders the creative tab bar by tab id: the ten vanilla tabs first, then every mod tab appended at the end unless the mod declares withTabsBefore / withTabsAfter. On a pack with dozens of mods that means the bar is grouped by mod, and finding one tab means scanning ten-tab pages. This sorts the bar A–Z instead.

  • Sorted by display name — the label the player reads, not the tab id
  • Uses the collation rules of the player’s own language: a Spanish client gets Armas next to Bloques, and accented names sort with their own letter (Añadir lands with the A entries)
  • Ties break on the registry id, so the order is stable across launches
  • The vanilla tabs stay at the front in their usual order and only the mod tabs are sorted; set creative.vanillaTabsFirst = false to sort every tab, vanilla ones included
  • The hotbar, search, operator and inventory tabs keep their fixed columns
  • Only the tab order changes — the items inside each tab are untouched
  • Client side only; the mixin lives in the client list, so a dedicated server neither applies it nor loads client classes
  • Toggle with creative.sortTabsAlphabetically (default true)

⚙️ Configuration System

Two commented TOML files (NeoForge ModConfigSpec). Every value is reachable at runtime by its section.key name:

  • Common config — config/utility_nexus/admin/config.toml (datapacks, commands, logging, creative) — shared between client and server
  • Server config — utility_nexus/admin/pregen.toml (pregeneration + schedule) — written to world/serverconfig/ on dedicated servers; only generated on dedicated servers
  • /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 both files from disk

🔐 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 both config files:

Key Default Notes
[datapack] / [commands] / [logging] / [creative] — config/utility_nexus/admin/config.toml
[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.
[creative]
creative.sortTabsAlphabetically true Client side only: sort the creative inventory tabs alphabetically by the name shown to the player, in the player’s language.
creative.vanillaTabsFirst true Only used when the option above is on. true: the vanilla tabs stay at the front of the tab bar in NeoForge’s order and only the mod tabs are sorted alphabetically. false: every tab, vanilla included, is sorted alphabetically together.
[pregen] / [schedule] — utility_nexus/admin/pregen.toml (server config, dedicated only)
pregen.enabled false 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 0 = disabled. -1 = infinite outward spiral. >0 = finite Chebyshev radius in chunks (spiral from center).
pregen.chunksPerTick 8 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).
[schedule]
schedule.enabled false Master toggle for the daily pregen burst window (independent of pregen.enabled).
schedule.startHour 8 Burst window start hour (local server time, 0–23).
schedule.endHour 10 Burst window end hour. If end <= start the window wraps past midnight.
schedule.burstChunksPerTick 64 Chunk submissions per tick during burst window.
schedule.burstMaxConcurrentChunks 16 Max in-flight chunk futures during burst.
schedule.burstMaxMillisPerTick 30 Wall-time budget per tick during burst.
schedule.burstMaxServerMspt 500 MSPT threshold during burst (500 = no effective throttle).
schedule.ignorePlayers true During burst, generate even when players are online.
schedule.autoStopAtWindowEnd true Stop pregen and save progress when burst window closes.
schedule.requireRestartAfter true Emit restart warning after burst window closes.
Note: [pregen] and [schedule] are server-only config — auto-start and scheduled burst only run on dedicated servers. 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.259+
Java 21
Side Server, plus one client-side creative tab feature (works in single-player too)

📦 Available Versions

Minecraft NeoForge Java Latest build Status
1.21.1 21.1.259+ 21 1.2.0 Stable

1.21.1 is the only target — there is no earlier build.

🎮 How to Use

  1. Install NeoForge 21.1.259 for Minecraft 1.21.1.
  2. Place Utility Nexus Admin in your mods folder.
  3. Start once — a default common config is written to config/utility_nexus/admin/config.toml; the pregen server config lives in utility_nexus/admin/pregen.toml (dedicated server only).
  4. Put folder or .zip datapacks in <instance-or-server>/datapacks/; they load into every world automatically.
  5. Run /una help in-game or from console for the full command list.
  6. Chunk pregeneration does not auto-start by default; enable it with pregen.enabled = true in utility_nexus/admin/pregen.toml, and tune it under the [pregen] config section or with /una pregen. Monitor with /una pregen status.
  7. Creative tabs are already sorted alphabetically — nothing to do. The vanilla tabs keep their usual spot; set creative.vanillaTabsFirst = false to fold them into the alphabetical sort, or creative.sortTabsAlphabetically = false to get NeoForge’s default order back entirely.


🙏 Credits & License

An original mod by Stalking Dragons — not a port or fork of another mod. Released under the MIT license; see the LICENSE file.


Codex Stalking Dragons


https://codex.skdragons.com/

Codex Stalking Dragons — Minecraft Modding

常见问题

Utility Nexus Admin 支持哪些 Minecraft 版本?

Utility Nexus Admin 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

Utility Nexus Admin 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

LlaGuiT0 的其他作品

查看全部 →