Skip to content
BlazeZDocs

DonutSMP Core

One plugin with 26 switchable modules for a DonutSMP-style server, from auction house to spawners, sharing one database.

Runs on
Paper, Purpur
Minecraft
1.21+
Java
25+
Works with
Vault, PlaceholderAPI, WorldGuard, PacketEvents, DecentHolograms, FancyHolograms, HolographicDisplays, Floodgate
On this page

DonutSMP Core puts a whole DonutSMP-style server into one jar: auction house, orders, shop, sell, crates, spawners, homes, teams, RTP, TPA, shards, scoreboard and more. Each part is a module you switch on or off in config.yml, and all of them save to one storage backend, so a network can share everything through MySQL or Redis.

Several modules are the same systems sold as separate BlazeZ plugins. Their sections below link to those plugins' pages for the full details.

Permissions#

Commands a player uses without a permission are marked None in Commands. Everything below is OP-only by default, so grant the player nodes you want your members to have.

ModulePermissionLets a player
Coredonutcore.adminUse /donutcore reload and /statsreset.
Auctiondonutcore.auction.useUse the auction house.
Auctiondonutcore.auction.fastbuyUse /ah fastbuy.
Auctiondonutcore.auction.adminInspect, force-sell, lock and reload.
Billfordbillford.adminOpen /billford admin.
Bountydonutbounty.useUse /bounty.
Bountydonutbounty.adminUse /bountyadmin.
ClearLagdonutclearlag.adminUse /clearlag.
Cratesdonutcrates.adminUse /crates.
Ender Chestdonutenderchest.useOpen their ender chest.
Ender Chestdonutenderchest.othersOpen another player's ender chest.
Hidergangstahide.use, gangstahide.use.other, gangstahide.command.bypass, hider.adminSee Hider.
Homeshome.teleport.<number>, litehome.visit, litehomes.adminSee LiteHome.
Leaderboardsdonutleaderboards.adminMove holograms.
LiteCrystaldonutcrystal.use, donutcrystal.use.other, donutcrystal.admin, powerguard.adminSee FasterCrystal.
Orderorder.leftovers, orders.history, order.admin, orders.admin, order.limit.<number>See Order.
RTPdonutrtp.rtpforce, donutrtp.1v1.use, donutrtp.1v1.accept, donutrtp.1v1.toggle, donutrtp.cooldown.bypass, donutrtp.wait.bypass, donutrtp.rtpqueue.cooldown.bypassSee FastRTP.
Scoreboarddonutscoreboard.adminUse /scoreboard reload.
Selldonutsell.admin.reload, donutsell.admin, sellplugin.adminReload, the global worth toggle, and sell events.
Shardsshard.useUse /shard.
Shardsshard.adminManage balances and set the AFK warp.
Shardsshard.gennodes.<name>, shard.killnodes.<name>Earn extra shards, see Shards.
Shopdonutshop.sellUse /sell and /sellgui from the shop module.
Shopdonutshop.admin, shop.admin, shop.reload/shopitem, the shop editor, and reload.
Spawndonutspawn.adminSet and remove spawns.
Spawndonutspawn.warmup.bypass, donutspawn.cooldown.bypassSkip the warm-up or cooldown.
Spawnersdonutspawners.adminGive spawners and manage corruption.
Toolsmythictools.adminUse /mythictool.
TPAdonuttpa.tpa, donuttpa.tpahere, donuttpa.accept, donuttpa.deny, donuttpa.cancel, donuttpa.tpatoggle, donuttpa.gui, donuttpa.auto, donuttpa.setting, donuttpa.tpaall, donuttpa.tphereall, donuttpa.admin, donuttpa.cooldown.bypass, tpa.adminSee CrossTPA.
Warpdonutwarp.adminSet and delete warps.
Warpdonutwarp.warmup.bypass, donutwarp.cooldown.bypassSkip the warm-up or cooldown.

Warning

Several everyday player commands need a permission that is OP-only until you grant it: donutcore.auction.use, donutbounty.use, donutenderchest.use, shard.use, the TPA nodes and the duel nodes. Give them to your default group, for example /lp group default permission set donutcore.auction.use true.

Commands#

ModuleCommandWhat it doesPermission
Core/donutcore reloadReloads the plugin and every module.donutcore.admin
Core/statsresetOpens the full data wipe menu. The wipe is finished from the console with /statsreset confirm <token>.donutcore.admin
Auction/ah [search] [stack|shulker]Opens the auction house, optionally searched and limited to full stacks or shulker boxes. Alias /auction.donutcore.auction.use
Auction/ah sell <price>Lists the item in your hand.donutcore.auction.use
Auction/ah fastbuy [on|off]Turns fast buying on or off for you, which skips the confirm step.donutcore.auction.fastbuy
Auction/ah inspect <player>, /ah force-sell <player> <price>, /ah lock, /ah reloadAdmin tools.donutcore.auction.admin
Billford/billfordOpens the current trade.None
Billford/billford adminLists every configured trade.billford.admin
Bounty/bounty [player]Opens the bounty menu, or shows a player's bounty. Alias /bounties.donutbounty.use
Bounty/bounty add <player> <amount>Puts money on a player's head.donutbounty.use
Bounty/bountyadmin <add|remove|reset|history|reload>Manages bounties. Alias /zelbounty.donutbounty.admin
ClearLag/clearlag [clear|reload]Shows the next sweep, runs one now, or reloads. Aliases /lagg, /clearlagg.donutclearlag.admin
Crates/crates ...Crate admin, see EasyCrates. Aliases /crate, /donutcrates.donutcrates.admin
Ender Chest/enderchest [player]Opens your ender chest, or another player's. Aliases /ec, /echest.donutenderchest.use, donutenderchest.others
Help, Media, Rules/help, /media, /rulesOpen the info menus. /guide works for /help.None
Hider/hide, /show, /unhide, /hiderSee Hider.See Hider
Homes/home, /sethome, /delhome, /visit, /publichomes, /homelanguage, /litehome, /homeadminSee LiteHome.See LiteHome
Leaderboards/leaderboards, /stats [player], /leaderboards movehere <name>See EasyBoard.None, donutleaderboards.admin to move
LiteCrystal/fastercrystal, /fastcrystal, /donutcrystalSee FasterCrystal.See FasterCrystal
Message/msg <player> <message>Sends a private message. Also /message.None
Message/r <message>Replies to your last conversation. Also /reply.None
Message/ignore <player>Blocks or unblocks a player's messages. Also /block.None
Order/order, /orders, /orderhistorySee Order.See Order
RTP/rtp, /rtpqueue, /rtpforce, /duel, /1v1See FastRTP.See FastRTP
Scoreboard/scoreboardTurns your sidebar off or on. Aliases /sb, /board.None
Scoreboard/scoreboard reloadReloads the scoreboard.donutscoreboard.admin
Sell/sell, /sellall, /sellhand, /sellhistory, /worth, /sellevent, /donutsell reloadSee LiteSell.See LiteSell
Shards/shard [balance|pay|leaderboard|shop]Your shards. Alias /shards.shard.use
Shards/shard <see|set|give|take> <player> [amount], /shard setafk, /shard reloadAdmin tools.shard.admin
Shards/afkTeleports to the AFK area.None
Shop/shop, /shopitem, /sellguiSee FastShop.See FastShop
Spawn/spawnOpens the spawn menu.None
Spawn/setspawn <id>, /delspawn <id>, /donutspawn reloadManage spawns.donutspawn.admin
Spawners/donutspawners ...See DonutSpawners.See DonutSpawners
Teams/teamOpens your team menu. Alias /teams.None
Teams/team <create|invite|join|leave|kick|disband> [name]Manage team members.None
Teams/team <info|chat|pvp|sethome|home|delhome>Team info, team chat, team PvP and the team home.None
Tools/mythictool ..., /boosterSee Mystic Tools.See Mystic Tools
TPA/tpa, /tpahere, /tpaccept, /tpdeny and the restSee CrossTPA.See CrossTPA
Warp/warp [name]Lists warps, or teleports to one.None
Warp/setwarp <name>, /delwarp <name>, /donutwarp reloadManage warps.donutwarp.admin

A module's commands only exist while that module is on.

Configuration#

FileWhat it controls
config.ymlWhich modules are on, and the storage backend.
license.ymlYour license key.
modules/<module>/Each module's own config, menus and messages, plus a README.md listing every key.

Modules#

Every module is on by default. Set one to false and restart to turn it off.

config.yml
modules:
  auction: true
  billford: true
  bounty: true
  clearlag: true
  crates: true
  enderchest: true
  help: true
  hider: true
  homes: true
  leaderboard: true
  litecrystal: true
  media: true
  message: true
  order: true
  rtp: true
  rules: true
  scoreboard: true
  sell: true
  shards: true
  shop: true
  spawn: true
  spawner: true
  teams: true
  tools: true
  tpa: true
  warp: true

Storage#

config.yml
storage:
  type: h2
  thread-pool-size: 4
  mysql:
    host: localhost
    port: 3306
    database: donut
    username: root
    password: ''
  redis:
    host: localhost
    port: 6379
    password: ''
typeUse it for
h2 (default)One server. Data is kept in a local file, no setup.
mysqlA network, with the mysql block filled in.
redisA network, with the redis block filled in.
mysql+redisA network, with both filled in.

The three network types need the DonutBridge cross-server addon installed next to DonutSMP Core on every server. It keeps balances, homes and player profiles in sync, and /donutbridge <status|nodes|reload> (permission donutbridge.admin) shows the link between servers.

Install#

  1. Put the DonutSMP Core jar in plugins/. Your server must run Java 25 or newer.
  2. Install Vault and an economy plugin if you use the auction, bounty, order, sell or shop modules, and WorldGuard for RTP zones and shard AFK regions.
  3. Start the server once. It creates plugins/DonutCore/ with config.yml, license.yml and a folder per module.
  4. Paste your license key into license-key in license.yml. Your key is under My Licenses on the BlazeZ portal; licenses linked to your Discord account show up there automatically. If yours is missing, open a License Key ticket in the BlazeZ Discord.
  5. Turn off the modules you don't want, pick a storage type and restart.
  6. Grant your players the permissions from Permissions.

DonutSMP Core loads before Essentials, so its /home, /spawn, /warp, /msg and other commands win over Essentials' versions.

Auction#

/ah opens a paged auction house. Players list the item in their hand with /ah sell <price>, and prices take shorthand like 10k or 1.5m. /ah <search> filters listings, and adding stack or shulker at the end shows only full stacks or shulker boxes. Players with fast buy on skip the confirm step when buying. Staff can /ah inspect a player's listings, force-sell for them, or lock the auction house.

Billford#

Billford is a trader who offers one trade at a time. Players open /billford, bring the required items and get the reward. The trade switches to the next one in trades every change-trade-internal seconds (default 3600).

modules/billford/config.yml
trades:
  1:
    requirements:
      1:
        material: SAND
        amount: 64
    reward:
      material: GLASS
      amount: 32

Bounty#

Players put money on another player's head with /bounty add <player> <amount>. Whoever kills that player gets the money. /bounty lists every open bounty, and staff can add, remove or reset bounties and view the history with /bountyadmin.

ClearLag#

Every interval-seconds (default 900, 15 minutes), ClearLag removes dropped items, animals and monsters, as set under clear. It warns players at each number of seconds in warnings. Tamed, named and leashed mobs are kept, and bosses like the Ender Dragon and Wither are never removed. automatic: false stops the timer, and /clearlag clear runs a sweep by hand.

Ender Chest#

/ec opens an ender chest of rows rows (default 6) that saves through the core storage, so on a network it follows players between servers. Lowering rows later hides the extra rows without deleting their items.

Help, Media and Rules#

/help, /media and /rules open simple menus you design in each module's config.yml. Each icon under inventory.icons has a material, name, lore and slot. A /help icon can also run a command as the player or send messages in chat when clicked.

Scoreboard#

A sidebar in the classic DonutSMP layout. Players hide it with /scoreboard. These placeholders work without PlaceholderAPI:

PlaceholderShows
%donut_sb_money%Balance, shortened (25.70K).
%donut_sb_shards%Shards.
%donut_sb_kills%, %donut_sb_deaths%Kills and deaths.
%donut_sb_keyall%Time until the next crate key-all.
%donut_sb_playtime%Playtime.
%donut_sb_team%Team name.
%donut_sb_ping%, %donut_sb_region%Ping, and your sources.server-region text.
%donut_sb_player%, %donut_sb_world%, %donut_sb_online%, %donut_sb_max%Name, world, online count and slots.

With PlaceholderAPI installed, any other placeholder works too. update-interval sets the refresh in ticks, and title.frames can list several titles to animate.

Shards#

Shards are a second currency. Players earn them every Shard-Delay seconds while standing in a WorldGuard region from AFK-Regions, and Shard-Kill shards per kill. /afk takes them to the AFK area you set with /shard setafk. They spend shards in /shard shop and compare in /shard leaderboard.

Extra earnings come from Gen-Nodes and Kill-Nodes. The defaults give shard.gennodes.extra_two +2 per generation and shard.killnodes.extra_ten +10 per kill, and you can add your own node names. Kill-Nodes.prevent_abuse stops rewards for killing the same player again.

Spawn#

/setspawn <id> saves a spawn area where you stand, and /spawn opens a menu of every area. The lowest id is the main spawn used for teleport-on-first-join, teleport-on-every-join and respawn-at-spawn. warmup-seconds and cooldown-seconds apply to teleports from the menu.

Teams#

/team create <name> starts a team, and the leader invites players with /team invite. The team menu shows every member, and the leader sets what each one may do: edit or visit the team home, kick, invite, switch team PvP and use team chat. /team pvp sets whether teammates can hurt each other.

Warp#

/setwarp <name> saves a warp where you stand, and players use /warp <name>. warmup-seconds and cooldown-seconds apply, and moving during the warm-up cancels the warp.

Last updated September 23, 2026

Something missing or wrong on this page? Tell us in Discord.