Wiki home · Version 0.6.0-SNAPSHOT
One JAR selects the menus and scheduler at startup. Use the exact tested builds in validation; a tested build does not establish support for every fork, release or configuration.
| Server family | Menu experience | Runtime |
|---|---|---|
| Older Bukkit/Paper generations, starting with 1.8.8 | Inventory menus and commands | Java appropriate to server; see legacy guide |
| Spigot 1.21.11 | Inventory menus and commands | Java 21 |
| Paper / Purpur 1.21.11 | Native dialogs plus module inventory menus | Java 21 |
| Folia 1.21.11 | Native dialogs plus module inventory menus; differences below | Java 21 |
| Spigot / Paper / Folia 26.2 | Same platform-specific selection | Java 25; see exact test scope |
| Paper 26.1.2 build 74 / 26.2 build 128 / 26.3 build 35 | Native dialogs plus module inventory menus | Java 25; 26.3 build is upstream ALPHA |
All 26.x automated checks use 1.21.11 headless clients through ViaVersion and ViaBackwards 5.12.0. They verify server behavior through that translated client path; native 26.x rendering remains unverified. Matching modern clients do not need those translation plugins for normal installation. Folia 26.2's tested upstream build is labelled BETA.
Paper 26.1.2 build 74, 26.2 build 128 and 26.3 build 35 each passed 18 gameplay/menu and 10 configuration/permission checks on the same universal 0.6.0 JAR. These results apply to the named Paper builds; they do not establish every 26.1 patch or other server forks on 26.1 and 26.3. See Tested builds and limits.
Menus
The native interface targets Paper, Purpur and Folia 1.21.11 / 26.x with the required dialog APIs. These retain six-category Settings, forms and ESC/Quick Actions access. Earlier versions use the full inventory backend automatically. Spigot does not provide Paper's native dialog API: it receives inventory menus for the main settings and workflows. Use /donsup and /settings on Spigot. Search, listing creation and other text input use commands shown by the menus. Native button-width configuration applies only to the native backend.
See older-version behavior for item availability, custom NBT, saved chest ownership and version-appropriate Java runtimes. The matrix qualifies specific releases, not every intervening patch or future version.
Folia differences
- Trades open only when both players are in the same owned region. Meet nearby first. Leaving the region or teleporting cancels a pending trade; offered items are returned or queued for their owner.
- One teammate can view a team vault at a time, including teammates in different regions. Closing it releases the vault.
- The Bukkit sidebar scoreboard is disabled because Folia does not support that API. Tab branding and stored scoreboard preferences remain available.
- Accepted TPA requests use a snapshot of the destination player's location. Destination movement during warmup does not move that snapshot.
- Vein mining stops at an unowned region boundary. Player/world operations use the corresponding entity or region scheduler.
- Economy and plugin storage operations are serialized. Synchronous YAML saves still need load profiling; this port is not evidence of Folia-scale performance.
- Deferred trade returns are saved in trade-returns.yml. /trade claim retries pending items when inventory space is available. A record marked delivering after an interrupted delivery requires staff reconciliation; do not reset it blindly and duplicate items.
Scope
This is a Bukkit-family server plugin. It is not a Forge/Fabric mod and cannot load on vanilla, Forge, Fabric, Velocity or BungeeCord by itself. Unlisted forks and patch builds, versions before 1.8, Bedrock/Geyser, hybrid mod/plugin servers, network-wide economies and third-party protection integrations remain unqualified.
Upgrading
- Stop the server and back up the complete plugin directory, worlds and player data together.
- Replace the old JAR with DonutSMPAllInOne-0.6.0-SNAPSHOT.jar; keep only one Donsup JAR installed.
- Start on the same Minecraft version first. Confirm the startup line reports the correct platform and either native dialogs or inventory menus.
- Existing configuration remains usable. Do not use Bukkit /reload or plugin hot loaders.
- Use a separate copy and the appropriate Java runtime when changing Minecraft versions. Never downgrade worlds saved by a newer server.
Full inventory/world crash recovery, real-client visual qualification and production acceptance remain unfinished. This is a development preview.