
DonutScoreboard
ModrinthThis plugin creates a scoreboard easy adjustment and configuration exactly like the famous server "DonutSMP" that owned but "DrDonutt"
2.0 · MC 26.3 · Bukkit, Bungeecord, Folia, Paper, Purpur, Spigot, Velocity, Waterfall
Files
2.0
releaseUniversal Update
26.326.226.1.226.1.1+13bukkitbungeecordfoliapaperpurpurspigotvelocitywaterfall2026-11-01 · 136 downloads
DonutScoreboard-2.0.jar · 822 KB
1.9
releaseUpdate
26.326.226.1.226.1.1+13bukkitpaperpurpurspigot2026-09-22 · 13K downloads
DonutScoreboard-1.9.jar · 824 KB
1.8
releaseUpdate
26.226.1.226.1.126.1+12bukkitpaperpurpurspigot2026-08-13 · 10.3K downloads
DonutScoreboard-1.8.jar · 822 KB
1.8
releaseUpdate
26.226.1.226.1.126.1+12bukkitpaperpurpurspigot2026-07-25 · 4.7K downloads
DonutScoreboard-1.8.jar · 822 KB
1.7
releaseUpdate
26.226.1.226.1.126.1+12bukkitpaperpurpurspigot2026-07-08 · 3.6K downloads
DonutScoreboard.jar · 102 KB
1.6
releaseAPI Update
26.1.226.1.126.11.21.11+11bukkitpaperpurpurspigot2026-05-27 · 9.2K downloads
DonutScoreboard-1.6.jar · 68 KB
1.5
releaseHuge Update
26.1.226.1.126.11.21.11+11bukkitpaperpurpurspigot2026-05-13 · 2.7K downloads
DonutScoreboard1.5.jar · 61 KB
1.4
releaseUpdate
26.1.226.1.126.11.21.11+11bukkitpaperpurpurspigot2026-04-27 · 2K downloads
DonutScoreboard1.4.jar · 53 KB
1.3
releaseUpdate
26.1.226.1.126.11.21.11+11bukkitpaperpurpurspigot2026-04-23 · 428 downloads
DonutScoreboard1.3.jar · 42 KB
1.2
releaseUpdate
26.1.226.1.126.11.21.11+11bukkitpaperpurpurspigot2026-04-19 · 492 downloads
DonutScoreboard.jar · 41 KB
1.1
releaseUpdate 1.1
1.21.111.21.101.21.91.21.8+8bukkitpaperpurpurspigot2026-03-28 · 2K downloads
DonutScoreboard.jar · 29 KB
1.0
releaseRelease
1.21.111.21.101.21.91.21.8+8bukkitpaperpurpurspigot2026-03-22 · 486 downloads
DonutScoreboard.jar · 27 KB
Files are delivered unmodified from Modrinth's servers and verified against the SHA-512 hash published by the project. The project's license applies to every file; check it before redistributing.
Gallery
About


Please contact me on Discord if you have any suggestions or edits.

- DonutScoreboard makes a Scoreboard exactly like the famous Server "DonutSMP"
- One jar for everything. The same file works on Bukkit, Spigot, Paper, Purpur, Folia, Leaf and Canvas, and on Velocity, Velocity-CTD, BungeeCord and Waterfall. No separate backend or proxy download.

- Same Design: The scoreboard matches the original DonutSMP layout exactly — same icons, same colors, same gradient title.
- Full Customization: Every single line is editable in config.yml. Use MiniMessage tags, hex codes, gradients, or swap any value with a placeholder.
- Conditional Scoreboards: List as many scoreboards as you want under
scoreboards. They are checked top to bottom and the first matching condition wins — perfect for per-rank or per-world boards. - Group Boards Without a Groups File: A group board is just a condition, like
permission:group.staff. Put it abovedefaultand you are done. - Animations: Define animated text in
animations.ymland drop%animation:name%into any line, with its own frame interval. - Zero Flicker: Lines only update when the content actually changes. Players never see a flash or refresh stutter.
- Folia Ready: Folia uses a native packet renderer, so the board works there without the Bukkit scoreboard API.
- Proxy Sync: A player's
/sbchoice follows them across your whole network — the proxy and every backend stay in sync. - Keyall Countdown: A server-wide countdown that resets automatically, with optional commands and feedback when it hits zero.
- Player Toggle: Players show or hide their own board with
/sb enableor/sb disable, with configurable chat, actionbar, title and sound feedback. The choice saves across restarts. - World Control: Disable the scoreboard per world, or use wildcard patterns like
event_*. Moving between worlds is handled automatically. - Automatic Config Migration: Older configs are moved forward to
config-version: 2.0on startup, and the original is kept inbackups/. - PlaceholderAPI & Vault: Any
%placeholder%works inside lines, and Vault economy placeholders are supported when Vault is installed. - Safe Backups:
/dsb export createzips every data file with metadata, and/dsb importrestores it in one command.

Commands
| Command | Permission | Description |
|---|---|---|
/donutscoreboard | Everyone | Shows plugin info and available commands |
/donutscoreboard reload | donutscoreboard.admin | Reloads the configuration file |
/donutscoreboard reset | donutscoreboard.admin | Resets config to defaults and rebuilds all scoreboards |
/donutscoreboard interval <seconds> | donutscoreboard.admin | Sets the scoreboard refresh rate (1-60 seconds) |
/donutscoreboard title edit [text] | donutscoreboard.admin | Changes the scoreboard title |
/donutscoreboard title reset | donutscoreboard.admin | Resets the title to default |
/donutscoreboard line add [text] | donutscoreboard.admin | Adds a new line to the scoreboard |
/donutscoreboard line edit <number> [text] | donutscoreboard.admin | Edits a specific line |
/donutscoreboard line delete <number> | donutscoreboard.admin | Removes a line from the scoreboard |
/donutscoreboard line empty <number> | donutscoreboard.admin | Clears a line (makes it blank) |
/donutscoreboard line reset [number] | donutscoreboard.admin | Resets a line (or all lines) to default |
/donutscoreboard line swap <n> with <n> | donutscoreboard.admin | Swaps two lines |
/donutscoreboard keyall time set <time> | donutscoreboard.admin | Sets the keyall countdown (example: 30m, 1h, 2d) |
/donutscoreboard keyall time reset | donutscoreboard.admin | Resets keyall countdown to max duration |
/donutscoreboard keyall duration <time> | donutscoreboard.admin | Sets the max keyall duration (example: 2h, 3d) |
/donutscoreboard keyall trigger | donutscoreboard.admin | Fires the keyall event immediately |
/donutscoreboard world list | donutscoreboard.admin | Lists all worlds and their status |
/donutscoreboard world disable <world> | donutscoreboard.admin | Disables the scoreboard in a world |
/donutscoreboard world enable <world> | donutscoreboard.admin | Enables the scoreboard in a world |
/donutscoreboard auto-world list | donutscoreboard.admin | Lists auto-disable patterns |
/donutscoreboard auto-world add <pattern> | donutscoreboard.admin | Adds an auto-disable pattern (supports * wildcard) |
/donutscoreboard auto-world remove <pattern> | donutscoreboard.admin | Removes an auto-disable pattern |
/donutscoreboard animation preview <name> | donutscoreboard.admin | Previews the current frame of an animation |
/donutscoreboard animation interval <name> <ticks> | donutscoreboard.admin | Changes an animation's frame interval |
/donutscoreboard animation delete <name> | donutscoreboard.admin | Deletes an animation |
/donutscoreboard style <new|old> | donutscoreboard.admin | Switches between preset scoreboard layouts |
/donutscoreboard scoreboard-numbers <enable|disable> | donutscoreboard.admin | Toggles the side numbers on the scoreboard (Paper 1.20.5+) |
/donutscoreboard board list | donutscoreboard.admin | Lists every configured scoreboard and its condition |
/donutscoreboard condition test <expression> | donutscoreboard.admin | Tests a condition against yourself before you use it |
/donutscoreboard debug | donutscoreboard.admin | Shows config version, renderer, active boards and hooks |
/donutscoreboard export create | donutscoreboard.admin | Creates a full config backup zip |
/donutscoreboard export list | donutscoreboard.admin | Lists all available backup exports |
/donutscoreboard import <filename> | donutscoreboard.admin | Imports a config backup zip |
/donutscoreboard toggle <player> | donutscoreboard.admin | Toggles another player's scoreboard visibility |
/sb | donutscoreboard.toggle | Toggles your scoreboard on or off |
/sb enable | donutscoreboard.toggle | Shows your scoreboard |
/sb disable | donutscoreboard.toggle | Hides your scoreboard |
Permissions
| Permission | Default | Description |
|---|---|---|
donutscoreboard.admin | OP | Full access to all admin commands (grants every child permission below) |
donutscoreboard.view | Everyone | Required to see the scoreboard at all |
donutscoreboard.toggle | Everyone | Access to the /sb toggle command |
donutscoreboard.toggle.others | OP | Access to /dsb toggle <player> to toggle other players |
donutscoreboard.reload | OP | /dsb reload |
donutscoreboard.reset | OP | /dsb reset |
donutscoreboard.interval | OP | /dsb interval |
donutscoreboard.title | OP | /dsb title |
donutscoreboard.line | OP | /dsb line |
donutscoreboard.keyall | OP | /dsb keyall |
donutscoreboard.world | OP | /dsb world |
donutscoreboard.auto-world | OP | /dsb auto-world |
donutscoreboard.animation | OP | /dsb animation |
donutscoreboard.style | OP | /dsb style |
donutscoreboard.board | OP | /dsb board |
donutscoreboard.scoreboard-numbers | OP | /dsb scoreboard-numbers |
donutscoreboard.export | OP | /dsb export |
donutscoreboard.import | OP | /dsb import |

- A folder named
DonutScoreboardis created in yourpluginsfolder automatically. Inside you will find a cleanconfig.ymlfile.
Config.yml
# DonutScoreboard configuration version. Do not edit: older files are migrated
# forward automatically on startup and /dsb reload, with a backup in backups/.
config-version: 2.0
# Print the DSB banner with version, author, platform and download link on startup.
startup-banner: true
# Check Modrinth for a newer release on startup. Silent when offline; never blocks startup.
update-checker: true
enabled: true
update-interval: 1
join-delay: 2
keyall-duration: 3600
date-format: "yyyy-MM-dd"
disabled-worlds: []
auto-disable-worlds: []
placeholders:
"1": "%player_name%"
"money": "%vault_eco_balance_formatted%"
# Scoreboards are checked from top to bottom. The first matching condition wins.
# There is no separate group-scoreboard system. Put group conditions here, for example:
# staff:
# condition: "permission:group.staff || %vault_group% == staff"
# title: "<gradient:#FFD700:#FFA500><bold>Staff</bold></gradient>"
# lines:
# - "<white>Rank <gold>%group%"
# Place a conditional board above `default`, because `default` has an empty condition and always matches.
scoreboards:
default:
condition: ""
title: "<gradient:#007DFC:#00E8FC><bold>DonutSMP</bold></gradient>"
numbers-visible: false
lines:
- " "
- "<#00FF00><bold>$</bold> <white>Money <#00FF00>%money%"
- "<#A503FC>★ <white>Shards <#A503FC>0"
- "<#FF0000>🗡 <white>Kills <#FF0000>%kills%"
- "<#FC7703>☠ <white>Deaths <#FC7703>%deaths%"
- "<#00A6FF>⌛ <white>Keyall <#00A6FF>%keyall%"
- "<#FFE600>⌚ <white>Playtime <#FFE600>%playtime%"
- "<#00A6FF>🪓 <white>Team <#00A6FF>%group%"
- " "
- "<gray>NA East <gray>(<#00A6FF>%ping%ms<gray>)"
toggle:
command: "sb"
command-enabled: true
permission: "donutscoreboard.toggle"
default-on: true
args:
enable: "enable"
disable: "disable"
enable:
chat-enabled: true
chat-message: "<green>You have enabled scoreboard."
actionbar-enabled: true
actionbar-message: "<green>You have enabled scoreboard."
title-enabled: false
title-message: "<green>Scoreboard"
subtitle-message: "<gray>has been enabled"
title-fade-in: 10
title-stay: 40
title-fade-out: 10
sound-enabled: true
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
disable:
chat-enabled: true
chat-message: "<red>You have disabled scoreboard."
actionbar-enabled: true
actionbar-message: "<red>You have disabled scoreboard."
title-enabled: false
title-message: "<red>Scoreboard"
subtitle-message: "<gray>has been disabled"
title-fade-in: 10
title-stay: 40
title-fade-out: 10
sound-enabled: true
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
toggle-placeholder:
format-on: "<green><bold>ON"
format-off: "<red><bold>OFF"
adaptive-refresh:
enabled: true
minimum-interval-ticks: 1
scoreboard-conflict-auto-reapply: true
placeholder-intervals:
"%animation:gradient_title%": 15
"%ping%": 20
keyall-execute:
enabled: false
commands:
- "crates key give @a example"
- "broadcast <gold><bold>Keyall keys have been distributed!"
notify:
actionbar-enabled: false
actionbar-message: "<#00A6FF><bold>Keyall</bold> <gray>keys have been given to everyone!"
title-enabled: false
title-message: "<#00A6FF><bold>KEYALL"
subtitle-message: "<gray>Keys have been distributed!"
title-fade-in: 10
title-stay: 60
title-fade-out: 10
sound-enabled: false
sound: "ENTITY_PLAYER_LEVELUP"

- Download the latest version of DonutScoreboard.
- Drop the
.jarfile into your server'spluginsfolder. - Restart your server.
- Done! No additional setup required.
Running a network? Put the same .jar in your proxy's plugins folder as well. The proxy keeps every player's toggle in sync with your backend servers — nothing else to configure.

© All Rights Reversed. Created by SirSnaryo.
