Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
TidyMOTD
Full control over your server-list entry — rotating MOTDs, gradients, centering, hover text, icons, maintenance mode.
Every time someone refreshes their server list, TidyMOTD picks the next (or a weighted-random) MOTD — with live placeholders, an optional custom hover tooltip, per-entry icons and more.
Features
- Rotating MOTDs — random (with per-entry
weight:) or sequential. - Two formats, auto-detected per line — classic
&-codes or MiniMessage (<gradient:#ffaa00:#ff5500>,<#55ff55>hex, …). <center>— start a line with it and TidyMOTD pixel-centers it in the server list, even as{online}changes width.- Live placeholders —
{online}{max}{time}{date}{day}{tps}{random-player}{unique-players}. - Hover text — replace the player-name tooltip on the player count with your own lines (globally or per entry).
- Player count control — hide the count (
???) or show a fake max. - Version text — custom text where "outdated server" normally appears.
- Icons — put 64×64
.pngfiles inplugins/TidyMOTD/icons/; rotate randomly or pin one per MOTD entry. - Scheduled entries —
between: "2026-12-01 / 2026-12-31"date ranges anddaily: "18:00 - 23:00"windows (wraps past midnight). - Maintenance mode —
/tidymotd maintenance onswitches to a dedicated MOTD/icon/version text, persists across restarts.
Config
order: random # or: sequential
motds:
- lines:
- "<center>&6&lMy Server &7- &fSurvival"
- "<center>&7Now with &b{online}&7/&b{max}&7 players!"
- lines:
- "<center><gradient:#55ff55:#00aa00>My Server</gradient>"
- "<center>&aCome build with us!"
weight: 2 # shown twice as often (random order)
icon: summer.png # from plugins/TidyMOTD/icons/
hover:
- "&6Welcome!"
- "&evote.myserver.net"
between: "2026-06-01 / 2026-08-31" # only in this date range
daily: "18:00 - 23:00" # only in this daily window
The default config.yml documents every section (hover, player-count, version-text, icons, maintenance, formats). Old 1.0.x configs are migrated automatically (a backup is kept as config.yml.bak).
Note on version text: Minecraft only renders custom version text when the client's protocol doesn't match, so
always-show: trueforces a mismatch — the client then shows a crossed-out ping icon, but players can still join normally.
Install
Drop the jar in plugins/, restart, edit plugins/TidyMOTD/config.yml, run /tidymotd reload.
Requires Paper 1.21.x / 26.x (matching jar).
Commands & permissions
| Command | What it does | Permission |
|---|---|---|
/tidymotd reload |
Reload the config | tidymotd.reload (OP) |
/tidymotd list |
List configured MOTDs | tidymotd.admin (OP) |
/tidymotd preview |
Render all MOTDs in chat | tidymotd.admin |
/tidymotd maintenance on|off |
Toggle maintenance mode | tidymotd.admin |
/tidymotd add <text> |
Add an MOTD (|| splits two lines) |
tidymotd.admin |
/tidymotd remove <#> |
Remove an MOTD | tidymotd.admin |
tidymotd.admin includes tidymotd.reload.
Safe by design
Owns exactly one thing: what the server list shows. If your MOTD list is empty it steps aside and the server default shows. Thread-safe by construction — pings arrive off the main thread, so live data ({tps}, {random-player}) comes from a periodic main-thread snapshot and everything the ping handler reads is immutable. Only network activity: one startup update check (Modrinth public API) + anonymous bStats stats.

