Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Unofficial project: This plugin is an independent Bukkit-compatible implementation of the public Servux protocols. It is not an official Servux release and is not affiliated with the upstream authors.
Servux Plugin Edition allows Paper, Spigot, and CraftBukkit servers to provide Servux data and server features to supported Masa client mods without installing Fabric Loader or the Servux server mod on the server.
Independent implementation
This project is not a fork or reupload of the Servux JAR. It is a separate Bukkit plugin implementation written for the Bukkit API and packaged under its own jp.michijp.servuxpe namespace. The distributed JAR does not contain or redistribute the Servux JAR, Fabric classes, or upstream Servux classes.
The implementation communicates with supported clients through Servux's public network protocol and recreates applicable server behavior using Bukkit events, Bukkit data APIs, guarded runtime bridges, and plugin-specific safety limits. Its architecture and behavior necessarily diverge from Fabric Servux: 17 features are explicitly documented as Bukkit approximations and 3 low-level Mixin features are unavailable.
Servux is distributed under LGPL-3.0-only. Servux Plugin Edition uses the same LGPL-3.0-only license and includes the license text, upstream attribution, and third-party notices in the distribution JAR.
Supported environments
- Minecraft: 1.21 and newer
- Currently verified releases: 1.21 through 26.2
- Servers: Paper, Spigot, CraftBukkit, and compatible Bukkit API implementations
- Java: The version required by the server itself
- Java 21 tested with Minecraft 1.21.x
- Java 25 tested with Minecraft 26.x
- Server dependencies: None
Future Minecraft releases may require an update if Bukkit internals or the public Servux wire protocol change.
Install the client mods needed for the features you want to use:
- MiniHUD
- Litematica
- Tweakeroo
- Their normal client-side dependencies, including MaLiLib
Implemented protocols
| Channel | Protocol | Main use |
|---|---|---|
servux:structures |
2 | MiniHUD structure bounding boxes |
servux:hud_metadata |
2 | Spawn, weather, seed, recipes, TPS, and mob caps |
servux:entity_data |
1 | Entity, player, and block-entity NBT |
servux:litematics |
1 | NBT overlays, schematic saving, and server-side paste |
servux:tweaks |
1 | Inventory previews and stackable-shulker metadata |
These are the stable wire versions used by the public Servux releases inspected for this project.
Feature parity
The currently published Servux feature set was divided into 41 independently visible server features:
| Status | Count |
|---|---|
| Fully implemented | 21 |
| Usable Bukkit approximation or partial implementation | 17 |
| Unavailable | 3 |
| Usable total | 38/41 |
Fully implemented areas
- Provider configuration and management commands
- Bukkit permissions and LuckPerms-compatible permission nodes
- Spawn, weather, seed, and recipe metadata
- Native entity, player, and block-entity NBT retrieval
- Player inventory and Ender Chest NBT filtering
- Litematica block/entity overlays and chunk-bulk NBT
- Inline and gzip
.litematicfile-transmit paste - Paste origin, subregion, mirror, rotation, replace mode, render layer, region enable, and ignore-entities handling
- Structure registration, unregistering, filtering, interval, distance, and timeout handling
- Tweakeroo inventory-preview NBT
Documented approximations
The 17 partial implementations are deliberately not counted as full parity:
- Player-facing messages are currently English only.
- Easy Place V3 supports major
BlockDataproperties and validation, but not every low-level Fabric Mixin placement case. - TPS/MSPT is calculated from plugin ticks; internal sprint/freeze state is unavailable.
- Mob-cap data is approximated from Bukkit entity categories instead of the exact vanilla
SpawnState. - The Allay fallback scans within 1.5 horizontal / 1.0 vertical blocks every 5 ticks. It does not reproduce long-distance Brain-based searching.
- Native NBT is used where possible, with portable fallbacks for common block entities. Every block-entity implementation cannot be guaranteed.
- Entity and recursive-passenger restoration supports common state and tested passenger trees, but is not a complete codec for every entity type.
- Pending block and fluid ticks use delayed Bukkit physics. Native targets and priorities are not restored; native water/lava scheduling parity is not claimed.
- Rail and stair transforms use generic Bukkit
BlockDatatransforms. Their configuration toggles are not connected to the current paste path. - Mirrored chest states and both physical inventory halves were tested successfully, but remain a Bukkit-level implementation.
- Structure serialization attempts a native route and falls back to Bukkit bounding boxes; byte-exact output is not guaranteed on every server implementation.
- Stackable shulkers and hopper handling use guarded Bukkit event emulation rather than global Mixins. Other inventory plugins may affect the result.
Unavailable features
The following require low-level hooks that Bukkit does not expose consistently:
- Vanilla NBT-query OP-check override
- Low-level block-update suppression during paste
- Low-level item-drop suppression during paste
Servux's legacy debug service is tracked separately as 0/15 and is not included in the 41-feature denominator. It depended on many Fabric Mixins and was removed from public Servux releases beginning with Minecraft 1.21.9.
Installation
- Put
ServuxPluginEdition-0.1.0+MC1.21plus-Bukkit.jarin the server'spluginsdirectory. - Start the server.
- Review
plugins/ServuxPluginEdition/config.yml. - Restart the server or run
/servux reload.
Do not install the Fabric Servux server mod alongside this plugin.
Commands
| Command | Purpose |
|---|---|
/servux or /servux status |
Show version, handshake, and provider state |
/servux reload |
Reload configuration |
/servux save |
Save configuration |
/servux set <provider:setting> <value> |
Change and save a setting |
/servux info <provider:setting> |
Show a setting's value, type, and range |
/servux list [provider] |
List settings |
/servux search <query> |
Search settings |
/servux sendmeta |
Resend metadata to online players |
/servuxpe is also available as an alias. Administrative commands use servux.commands.*; provider access uses servux.provider.* and works with Bukkit permission managers such as LuckPerms.
Vanilla behavior and safety
HUD, NBT query/preview, recipe, logger, and structure-data features are read-only. The following optional features intentionally interact with gameplay or world contents:
- Easy Place: enabled by default, but only rewrites a valid encoded Easy Place request.
- Allay gathering fallback: enabled by default and only acts while
mobGriefing=false. - Litematica paste: enabled by default and changes blocks/entities when an authorized Creative player requests it.
- Stackable shulkers: disabled by default; enabling it changes empty-shulker inventory and hopper behavior.
Litematica paste always requires Creative mode and servux.provider.litematic_data.paste. That permission currently defaults to true. Public Creative servers should explicitly deny it to untrusted groups or disable paste:
litematic-data:
enable-paste: false
Incoming NBT and file transfers have size, fragment, timeout, session, and global reservation limits. File transmit is limited to 64 global and 16 per-player sessions and is included in the total byte budget. Block entities, recursive passengers, and pending ticks are capped at min(max-paste-blocks, 16384) auxiliary operations per paste.
Verification
Version 0.1.0 was verified with the final distribution JAR:
- SHA-256:
00FE9C269B4E0B6EA59DCB16790CC116EA65DA19E769D0C30DBB7531211672D1 - Automated tests: 36/36 passed
- Startup matrix: 18/18 passed
- 14 Paper server releases from Minecraft 1.21 through 26.2
- Spigot and CraftBukkit at both 1.21.1 and 26.2
- Authenticated real-player tests: 40 PASS / 0 FAIL
- Litematica paste-mode checks: 6/6 passed
The full real-player feature suite used an isolated online-mode Paper 26.2 server and a Fabric 26.2 client with MiniHUD, Litematica, MaLiLib, and Tweakeroo. The other Minecraft versions received startup, plugin-enable, handshake, status-command, and clean-stop compatibility tests rather than repeating the complete player suite on every version.
Credits and license
- Plugin Edition author: michi
- Servux on Modrinth
- Current Servux source and maintainer: sakura-ryoko
- Original Servux source and author: maruohon
Licensed under GNU Lesser General Public License v3.0 only (LGPL-3.0-only).
The distributed plugin does not bundle Fabric Loader, Servux, Paper, Spigot API, CraftBukkit, Netty, MiniHUD, Litematica, Tweakeroo, or development-only test dependencies.


