Description
Gallery
Changelog
Versions

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

- DonutScoreboard makes a Scoreboard exactly like the famous Server "DonutSMP"

- 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. Change text, colors, hex codes, or swap any value with a placeholder.
- Zero Flicker: Lines only update when the content actually changes. Players never see a flash or refresh stutter.
- Keyall Countdown: A server-wide 60 minute countdown that resets automatically. Operators can set it to any time live with a command.
- Player Toggle: Players can show or hide their own scoreboard at any time with
/sb enableor/sb disable. The preference saves across restarts. - World Control: Disable the scoreboard in specific worlds from config or with a command. Players moving between worlds have it handled automatically.
-
PlaceholderAPI Support: Any
%placeholder%from PlaceholderAPI works inside scoreboard lines when PAPI is installed.

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 toggle-placeholder set-true <format> |
donutscoreboard.admin |
Sets format for %donutscoreboard_toggle_status% when ON |
/donutscoreboard toggle-placeholder set-false <format> |
donutscoreboard.admin |
Sets format for %donutscoreboard_toggle_status% when OFF |
/donutscoreboard scoreboard-numbers <enable\|disable> |
donutscoreboard.admin |
Toggles the side numbers on the scoreboard (Paper 1.20.5+) |
/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.toggle-placeholder |
OP | /dsb toggle-placeholder |
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 config
# Colors: &f &7 &a &c &l &#RRGGBB and MiniMessage tags
# Tokens: %kills% %deaths% %ping% %playtime% %keyall% %donutscoreboard_player%
# Condition: line-condition: "%kills% > 0" or "permission:node" or "world:name"
enabled: true
# Refresh rate in seconds
update-interval: 1
# Ticks before scoreboard shows on join
join-delay: 2
# Keyall countdown length in seconds
keyall-duration: 3600
# Worlds that never show scoreboard
disabled-worlds: []
# Pattern-based world disabling, supports wildcards like world_*
auto-disable-worlds: []
toggle:
command: "sb"
command-enabled: false
permission: "donutscoreboard.toggle"
default-on: true
args:
enable: "enable"
disable: "disable"
enable:
chat-enabled: true
chat-message: "&aYou have enabled scoreboard."
actionbar-enabled: true
actionbar-message: "&aYou have enabled scoreboard."
title-enabled: false
title-message: "&aScoreboard"
subtitle-message: "&7has 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: "&cYou have disabled scoreboard."
actionbar-enabled: true
actionbar-message: "&cYou have disabled scoreboard."
title-enabled: false
title-message: "&cScoreboard"
subtitle-message: "&7has 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: "&a&lON"
format-off: "&c&lOFF"
scoreboard:
# Show or hide score numbers
numbers-visible: false
title: "DFC&lDXFC&lo\FC&ln	DFC&lu�A8FC<�B3FC&l S�BDFC&lM�C8FC&lP"
lines:
spacer-top: " "
money: "&f�FF00&l$ &fMoney �FF000"
shards: "&f&#A503FC★ &fShards &#A503FC0"
kills: "&f&#FF0000\uD83D\uDDE1 &fKills &#FF00000"
deaths: "&f&#FC7703\u2620 &fDeaths &#FC77030"
keyall: "&f�A6FF\u231B &fKeyall �A6FF%keyall%"
playtime: "&f&#FFE600\u231A &fPlaytime &#FFE6000h 0s"
team: "�A6FF\uD83E\uDE93 &#FFFFFFTeam �A6FFN/A"
spacer-mid: " "
footer: "&f&7NA East &7(�A6FF%ping%ms&7)"
# Runs commands when keyall countdown hits zero
keyall-execute:
enabled: false
commands:
- "crates key give @a example"
- "broadcast &6&lKeyall keys have been distributed!"
notify:
actionbar-enabled: false
actionbar-message: "�A6FF&lKeyall &7keys have been given to everyone!"
title-enabled: false
title-message: "�A6FF&lKEYALL"
subtitle-message: "&7Keys 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.

© All Rights Reversed. Created by SirSnaryo.
[1.9] Update
by SirSnaryo on Oct 12, 2026
Download
+ Added %online% — shows the online player count
+ Added %ping% — shows your ping in milliseconds
+ Added %date% — date format customizable with date-format in config.yml
+ Added PlaceholderAPI support for the new placeholders
+ Fixed per-line shadow colors not working on Paper/Purpur
+ Fixed shadow color and strength settings not being applied
+ Fixed line edits and overrides affecting the wrong line when conditions hide lines
+ Fixed toggle command changes not applying after /dsb reload
+ Fixed /dsb interval not updating players already online
+ Fixed namespaced command aliases not being removed correctly
+ Fixed missing usage messages for incomplete or invalid commands
+ Update checker now checks release versions only
+ Config exports and file writes now use UTF-8 to preserve symbols
+ Added %ping% — shows your ping in milliseconds
+ Added %date% — date format customizable with date-format in config.yml
+ Added PlaceholderAPI support for the new placeholders
+ Fixed per-line shadow colors not working on Paper/Purpur
+ Fixed shadow color and strength settings not being applied
+ Fixed line edits and overrides affecting the wrong line when conditions hide lines
+ Fixed toggle command changes not applying after /dsb reload
+ Fixed /dsb interval not updating players already online
+ Fixed namespaced command aliases not being removed correctly
+ Fixed missing usage messages for incomplete or invalid commands
+ Update checker now checks release versions only
+ Config exports and file writes now use UTF-8 to preserve symbols
- Removed /dsb toggle-placeholder — edit format-on and format-off under toggle-placeholder in config.yml instead
[1.8] Update
by SirSnaryo on Oct 12, 2026
Download
+ Fixed scoreboard sometimes not showing lines (only title visible)
+ Removed the character limit per line — write as long as you want
+ Fixed corrupted symbols (★ ⌛ ⌚ 🗡 🪓) in default configs and /dsb style
+ Config errors now show as a single clean message instead of console spam
+ Scoreboards now auto-disable for all players when config is broken, until fixed
+ Removed useless startup log spam
+ Fixed false "outdated version" warnings from update checker
+ Removed the character limit per line — write as long as you want
+ Fixed corrupted symbols (★ ⌛ ⌚ 🗡 🪓) in default configs and /dsb style
+ Config errors now show as a single clean message instead of console spam
+ Scoreboards now auto-disable for all players when config is broken, until fixed
+ Removed useless startup log spam
+ Fixed false "outdated version" warnings from update checker
- No features were removed in this update
[1.8] Update
by SirSnaryo on Oct 12, 2026
Download
+ groups.yml — per-group scoreboard by permission with priority system
+ AutoWorld — pattern-based world auto-disable with wildcard support
+ join-delay — configurable scoreboard show delay on join
+ scoreboard.numbers-visible — persists number visibility
+ Export/Import System — (ZIP backups with metadata)
+ Condition Test Command — (/dsb condition test <expression>)
+ Debug Command — (/dsb debug <player>)
+ AutoWorld — pattern-based world auto-disable with wildcard support
+ join-delay — configurable scoreboard show delay on join
+ scoreboard.numbers-visible — persists number visibility
+ Export/Import System — (ZIP backups with metadata)
+ Condition Test Command — (/dsb condition test <expression>)
+ Debug Command — (/dsb debug <player>)
[1.7] Update
by SirSnaryo on Oct 12, 2026
Download
+ Added MiniMessages Support
+ Added Style Customization Between Old Scoreboard and Current
+ Added Toggle Status Placeholder of Scoreboard
+ Added Style Customization Between Old Scoreboard and Current
+ Added Toggle Status Placeholder of Scoreboard
[1.6] API Update
by SirSnaryo on Oct 12, 2026
Download
+ Added API
+ Fixed Red Numbers
+ Fixed Red Numbers
- DonutScoreboard Settings GUI
[1.5] Huge Update
by SirSnaryo on Oct 12, 2026
Download
+ Keyall Auto-Execute
+ Per-World Keyall Override
+ Animation System
+ Custom Animation Placeholders
+ World-Based Scoreboard Files
+ /dsb gui` Full Config GUI edited
+ Line Add Command
+ Line Edit Command
+ Line Delete Command
+ Line Empty Command
+ Line Reset Command
+ Line Swap Command
+ Title Edit Command
+ Title Reset Command
+ Keyall Duration Command
+ Refresh Rate Command
+ World List Command
+ Conditional Lines
+ Better Keyall Time Format
+ Better World Change Refresh
+ Per-World Keyall Override
+ Animation System
+ Custom Animation Placeholders
+ World-Based Scoreboard Files
+ /dsb gui` Full Config GUI edited
+ Line Add Command
+ Line Edit Command
+ Line Delete Command
+ Line Empty Command
+ Line Reset Command
+ Line Swap Command
+ Title Edit Command
+ Title Reset Command
+ Keyall Duration Command
+ Refresh Rate Command
+ World List Command
+ Conditional Lines
+ Better Keyall Time Format
+ Better World Change Refresh
[1.4] Update
by SirSnaryo on Oct 12, 2026
Download
+ Keyall Command Execute
+ Per-World Keyall Override
+ Animation System
+ Per-World Keyall Override
+ Animation System
[1.3] Update
by SirSnaryo on Oct 12, 2026
Download
+ Fixed outdated message
[1.2] Update
by SirSnaryo on Oct 12, 2026
Download
+ Added /donutscoreboard worlds
+ Fixed Many Issues
+ Fixed Many Issues
[1.1] Update 1.1
by SirSnaryo on Oct 12, 2026
Download
+ Customizable title text — title-message
+ Customizable subtitle text — subtitle-message
+ Customizable title fade-in, stay, and fade-out timing
+ Toggle sound on or off — sound-enabled: true/false
+ All toggle options work independently for enable and disable
+ First-time player tracking for proper default-on logic
+ Keyall countdown now persists through server restarts
+ Customizable subtitle text — subtitle-message
+ Customizable title fade-in, stay, and fade-out timing
+ Toggle sound on or off — sound-enabled: true/false
+ All toggle options work independently for enable and disable
+ First-time player tracking for proper default-on logic
+ Keyall countdown now persists through server restarts