Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Links
Tags
Creators
Details
Licensed GPL-3.0-only
Published 20 hours ago
Updated 3 weeks ago
BetterMOTDS
For Paper / Purpur 1.21.x — Java 21 — Version 1.0.0
BetterMOTDS customizes how your server appears in the multiplayer server list. It sets a two-line MOTD, controls the displayed player count (real or faked), adds a hover player-sample, and swaps the server icon — with completely separate profiles for normal and maintenance mode. MOTD entries can rotate randomly, sequentially or per day, and each entry can carry its own icon.
Formatting supports MiniMessage, hex colors and legacy color codes.
Features
- Two-line MOTD with per-entry configuration.
- MOTD rotation —
random,sequentialorper-day. - Custom server icons — a default icon plus optional per-MOTD icons (64x64 PNG).
- Player count control —
real,static,randomoroffsetfor both the online and max counts. - Hover player-sample — custom lines shown when hovering the player count in the list.
- Separate maintenance profile — its own MOTD, icon, counts, hover and reason.
- Maintenance join blocking — kick joining players during maintenance, with a bypass permission and a configurable kick message.
- Flexible formatting — MiniMessage, hex (
&#RRGGBB) and legacy&codes. - Placeholders —
{online},{max},{fake_online},{fake_max},{tps},{reason}. - Bilingual language files —
en_USandpt_PTincluded.
Commands
| Command | Description | Permission |
|---|---|---|
/motd reload |
Reload the configuration and language files. | motd.admin |
/motd status |
Show whether maintenance mode is active (and its reason). | motd.admin |
Alias: /bmotd.
Permissions
| Node | Description | Default |
|---|---|---|
motd.admin |
Allows reloading the configuration and checking status. | op |
motd.maintenance.bypass |
Allows joining the server while maintenance mode is active. | op |
Configuration
An excerpt of the default config.yml showing the main keys:
language: en_US
normal:
default-icon: "icons/server-icon.png"
motd:
rotation-mode: random # random, sequential, per-day
motds:
- line1: "<gradient:#1E90FF:#00BFFF>My Awesome Server</gradient> &8| &7Paper 1.21.1"
line2: "&aCome join us! &7({online}/{max})"
# icon: "icons/pvp.png" # optional per-MOTD icon
- line1: "&bWelcome to the server!"
line2: "&7Type &f/discord &7for news"
player-count:
online:
mode: real # real, static, random, offset
value: 0
min: 10
max: 50
max:
mode: static
value: 100
hover:
enabled: true
lines:
- "&b&lMy Awesome Server"
- ""
- "&7Website: &a&nwww.example.com"
maintenance:
enabled: false
reason: ""
default-icon: "icons/maintenance-icon.png"
motds:
- line1: "&cMaintenance Mode"
line2: "&7We'll be back soon! &f{reason}"
player-count:
online:
mode: static
value: -1
max:
mode: static
value: -1
hover:
enabled: true
lines:
- "&c&lMaintenance Mode"
- "&7Reason: {reason}"
join-block:
enabled: true
kick-message-key: "maintenance.kick_message"
default-reason: ""
Key points:
rotation-mode— how the plugin cycles through multiplemotdsentries per ping.player-count.*.mode—realuses live counts;staticshows a fixed value;randompicks betweenmin/max;offsetaddsvalueto the real count. A count of-1hides the numbers.- Icons — place PNG files under
plugins/BetterMOTDS/(for exampleicons/server-icon.png). Icons are 64x64 and are cached in memory, so pings do no disk I/O. maintenance.join-block— when maintenance is enabled, joining players are kicked unless they holdmotd.maintenance.bypass.
Installation
- Requires Paper or Purpur 1.21+ and Java 21 (uses the Paper server-list-ping API).
- Drop
BetterMOTDS.jarinto your server'splugins/folder. - Start the server once to generate
config.yml, the language files and the icon folder. - Add your icons and edit
config.yml, then run/motd reload.
Dependencies
- MaintenancePlugin (optional) — detects a plugin literally named
MaintenancePluginexposingisMaintenanceEnabled(), or aplugins/MaintenancePlugin/state.ymlfile (the companion plugin by the same author). Other maintenance plugins are not detected; maintenance can always be controlled from this plugin's own configuration instead.
Support / Source
Source code: https://github.com/henriquescrrrr/carrageis-bettermotds


