ServerlistMOTD X
ServerlistMOTD allows you to change your MOTD in the serverlist. You can set custom MOTDs for known players or welcome new players with a special MOTD to get the players attention. This plugin is HIGHLY compatibile with old and new versions of Bukkit/Spigot! Now with HEX support as well!
The plugin requires ProtocolLib for all features |Placeholder API support
All slots related features won't work without ProtocolLib.
Newest builds on GitHub: *click*
Need help or found a bug? Report here: *click*
Please be friendly and not entitled!
Feature Overview
NewbieMOTD - "You are a new player? You're going to see this!"

Welcome new players directly in their serverlist!
RegularMOTD - "You played here before? You're going to see this!"

Welcome known players with a special motd!
RandomMOTD - "You're going to see a different MOTD each time!"
Add as many MOTDs as you want by adding bullet points in your config!
BanMOTD - "You're banned? You are going to see this." (Bukkit/Spigot only)

MOTD for all your banned players! This can display the ban reason and the expiration date.
Support for all Ban-Plugins that support Bukkits/Spigots standard ban function (like Essentials), BanManager and MaxBans
WhitelistMOTD - "You have a Whitelist? I have a MOTD!" (Bukkit/Spigot only)

This feature will show you a special MOTD when activated in config and a whitelist is active!
HoverText - "Mouseover your slots to unlock a cool Messagebox!"

Add as many lines as you want by adding bullet points in your config!
Change your Slots and OnlinePlayerCount!

You can change slots and online player in your config. (These numbers are obviously fake!)
VersionText - Replace your slots with a text!

Use your personal text to make your server different!
Example of use: '&4&lMAINTENANCE' to represent a maintenance mode.
OutdatedClientText - Let your players know which version to use
Tell your players what version of Minecraft to use!
Hide your Slots and OnlinePlayerCount! (Bukkit/Spigot only)

Do you want to hide your slots and online players? This will bring you some privacy! ;-) Note: HoverText and all other slots manipulations have to be disabled.
RestrictedMode - Your server appears to be offline! (Bukkit/Spigot only)

Players without OP/Permissions will see this in their serverlist when RestrictedMode is ON.

Players with OP/Permissions will see this in their serverlist when RestrictedMode is ON.
SlotsPlusOne
SlotsPlusOne generates a custom slots count based on your online players. Often used by big server to fake an almost full server. In simple terms, you basically add one slot to your current number of online players.
Example: 10 players online - custom number: 1 - 11 slots --> 10/11
Example: 27 players online - custom number: 5 - 32 slots -- > 27/32
You can create a min and max limit to prevent from having for example 1 slot when no one is online.
OnlineMultiplier
OnlineMultiplier generates a fake online players count by multiplying it with a number set in config!
When the multiplied number gets above your min slots, it will adjust the slots by adding a custom number to it!
When the multiplied number gets above your max slots, it will set the online player count and slots to your max value -> see config (Example 100/100)
Example (Min Slots: 100):10 players online - multiply by 5 - 50 players online/ 100 slots (50 Players < Min Slots -> Min Slots = Slots and no adjustment with the custom number)
Example (Min Slots: 10) 12 players online - multiply by 2(24 Players + 5 -> CustomNumber ( = Slots) - 24 players online/ 29 slots
Example (Max Slots: 100): 50 players online - multiply by 3 - 100 players online / 100 slots (because 150 > 100)
Color Codes
| ColorCode | Output | ColorCode | Output |
|---|---|---|---|
| &0 | Black | &a | Green |
| &1 | Dark Blue | &b | Aqua |
| &2 | Dark Green | &c | Red |
| &3 | Dark Aqua | &d | Purple |
| &4 | Dark Red | &e | Yellow |
| &5 | Dark Purple | &f | White |
| &6 | Gold | &l | Bold |
| &7 | Gray | &o | Itallic |
| &8 | Dark Gray | &k | Magic |
| &9 | Blue | &n | Underlined |
HEX Support for 1.16+

- Single HEX color:
<#FFEDBC> - Gradient:
<g:#ED4264:#FFEDBC>(add more colors to the gradient by appending:#CODE>)
Examples
<g:#ED4264:#FFEDBC>&lWelcome back, <#FFEDBC>&o%player%! %line%<g:#22c1c3:#fdbb2d>It's a %weather% &a%time%
<g:#ED4264:#FFEDBC:#22c1c3>Welcome newbie! %line%<g:#22c1c3:#fdbb2d>It's a &c%weather% %time%.
Variables for (Random-)MOTD (Newbies)
| Variable | Output |
|---|---|
| %time% | Returns time from world set in config |
| %weather% | Returns weather from world set in config |
| %line% | Add second line |
| %randomplayer% | Returns random playername (joined before) |
... and PlaceholderAPI!
%player% & %money% are not available because the Newbies MOTD is for unknown players. ServerlistMOTD has to register the players name and its IP in a database to recognize the player. (IP-Logging) There is technically no other way to get the players name!
Variables for (Random-)MOTD (Regulars)
| Variable | Output |
|---|---|
| %player% | Returns player name |
| %time% | Returns time from world set in config |
| %weather% | Returns weather from world set in config |
| %line% | Add second line |
| %money% | Returns money from player (Vault needed) |
| %randomplayer% | Returns random playername (joined before) |
... and PlaceholderAPI!
Variables for Ban MOTD
| Variable | Output |
|---|---|
| %player% | Returns player name |
| %time% | Returns time from world set in config |
| %weather% | Returns weather from world set in config |
| %line% | Add second line |
| %randomplayer% | Returns random playername (joined before) |
| %reason% | Ban reason |
| %expdate% | Ban expiration date (day, mont, year in one -> 06.06.2015) |
| %exptime% | Ban expiration time (sec, min, h in one -> 8:12:34) |
| %expsec% | Ban expiration seconds of time |
| %expmin% | Ban expiration minutes of time |
| %exphour% | Ban expiration hours of time |
| %expday% | Ban expiration day of date |
| %expmonth% | Ban expiration month of date |
| %expyear% |
Ban expiration year of date |
... and PlaceholderAPI!
You can change the position and the separations between the values in the config
(affects ONLY %expdate% & %exptime%)
Example: Change DD/MM/YYYY (12/9/2015) to MM/DD/YY (9/12/15)
Example: Change hh:mm:ss to hh:mm if you don't want the seconds to be displayed
Change the / or : to whatever you want! (Could - or * or whatever)

Variables for HoverText
| %time% | Returns time from world set in config |
| %weather% | Returns weather from world set in config |
| %line% | Add second line |
| %randomplayer% | Returns random playername (joined before) |
... and PlaceholderAPI!
Variables for WhitelistMOTD
| Variable | Output |
|---|---|
| %player% | Returns player name |
| %time% | Returns time from world set in config |
| %weather% | Returns weather from world set in config |
| %line% | Add second line |
| %money% | Returns money from player (Vault needed) |
| %randomplayer% | Returns random playername (joined before) |
... and PlaceholderAPI!
Variables for RestrictedMode
| Variable | Output |
|---|---|
| %player% | Returns player name |
| %time% | Returns time from world set in config |
| %weather% | Returns weather from world set in config |
| %line% | Add second line |
| %money% | Returns money from player (Vault needed) |
| %randomplayer% | Returns random playername (joined before) |
... and PlaceholderAPI!
Variables for VersionText/ OutdatedClientText
| Variable | Output |
|---|---|
| %randomnumber% | Returns random number between a set interval from config |
| %fakeslots% | Returns fake slots set in config |
| %fakeonline% | Returns fake online count set in config |
| %realslots% | Returns amount of real slots available |
| %realonline% | Returns amount of players online |
| %slotsplusone% | Returns value of SlotsPlusOne-Feature |
... and PlaceholderAPI!
Commands and Permissions
For Bungeecord: /bmotd - Permissions: bmotd
| Command | Permissions (or OP) | Description |
|---|---|---|
|
/serverlist Alias: /sl, /smotd |
serverlist | Helpsite (Commands) |
| /serverlist reload | serverlist.reload | Reload Config (Apply Changes) |
| /serverlist restrictedmode | serverlist.restrictedmode | Toggle RestrictedMode & Kick all |
| serverlist.restrictedmode.join | Join Server When RestrictedMode ON | |
| serverlist.restrictedmode.nokick | No Kick When RestrictedMode Toggled | |
| /serverlist update (in old versions) | ServerlistMOTD.update.runUpdate | Initiate Plugin Update |
| ServerlistMOTD.update.getNotified | Get Notified On Join When Update Available | |
| /serverlist randommotd | serverlist.randommotd | Toggle RandomMOTD on/off |
| /serverlist banmotd | serverlist.banmotd | Toggle BanMOTD on/off |
| /serverlist versiontext | serverlist.versiontext | Toggle VersionText on/off |
|
/serverlist lastping <name> (in old version) |
ServerlistMOTD.serverlist.lastping |
Shows last ping from player |
Metrics
ServerlistMOTD (below X!) collects anonymous data. You cann see everthing over here at bStats:
Bungeecord: bStats *click me*
Spigot/Bukkit: bStats *click me*
I switched to bStats as mcstats.org is very unreliable. You can find the Metrics for ServerlistMOTD 1.0-6.2 right here: mcstats.org (if available)
ServerlistMOTD doesn't collect Metrics!

-
View User Profile
-
Send Message
Posted Dec 9, 2020I like this plugin!!!
But i hope it would be add that users with permission can change the motds with a ingamecommand.
Example:
/setmotd [MOTD Type] [Linenumber] [Your MOTD]
-
View User Profile
-
Send Message
Posted Nov 15, 2020This is a really good plugin, has more features than any plugin I've found so far! PAPI support and seperate newbie/regulars messages in one plugin has been hard to find, but this is it! I would still like to see the same newbie/regulars system on the Hover text and RGB HEX support. Problems with missing placeholders don't exist thanks to PAPI support. Otherwise this is the most fully featured and up to date MOTD plugin out there!
-
View User Profile
-
Send Message
Posted Nov 16, 2020In reply to Forge_User_07280511:
Thank you very much, this means a lot. :) I wrote down HEX support for a future release.
-
View User Profile
-
Send Message
Posted Nov 10, 2020I can't get the fake player count to work. I'm on paper 1.16.4
-
View User Profile
-
Send Message
Posted Nov 11, 2020In reply to Vexcenot:
Hey! Can you please open up an issue on Github with error messages, your config.yml (use pastebin)., version of ServerlistMOTD and ProtocolLib? I'm not giving support in the comments here.
-
View User Profile
-
Send Message
Posted Oct 9, 2020Hi,
I gave my owner rank permissions to the commands of the plugin with luckperms but when I try to write a command it's say I don't have poermissions .
-
View User Profile
-
Send Message
Posted Oct 9, 2020In reply to orgaming6:
Hey there 👋
can you open up an issue on GitHub? Which version of ServerlitMOTD are you using and can you attach your luckyperms permissions config?
-
View User Profile
-
Send Message
Posted Sep 22, 2020Does this plugin support HEX Code on 1.16.x servers?
-
View User Profile
-
Send Message
Posted Aug 26, 2020Good day. I would like to thank you for your plugin. This is the best MOTD plugin out there. I have been using it for many years and I am glad that you continue to support it.
It would be great to add more variables, for example displayname - this would be useful on RP servers, where the player's displayed nickname is usually changed to RP-name.
Still support for placeholderapi https://www.spigotmc.org/resources/placeholderapi.6245/, it would give unlimited flight of imagination.
Thank!
-
View User Profile
-
Send Message
Posted Aug 30, 2020In reply to darutan92:
Hey there 👋 Thanks for using this for so long and your nice words! I have noted both of your requests on Github #13/ #14! If you have any problems or requests feel free to leave them on Github in the future.
-
View User Profile
-
Send Message
Posted Jul 30, 2020Bonjour,
Votre plugin est super, et rajoute une super point de vue esthétique pour mon serveur, merci.
J'ai juste un petit soucis sur mon MOTD, la variable "%player%" ou "%joueur%" ne fonctionne pas...
Aucun message d'erreur, juste il s'affiche exactement pareil que dans mon fichier config.
Si vous avez une solution, ça serait cool, merci :p
Stiiki
-
View User Profile
-
Send Message
Posted Jun 3, 2020Great plugin! It has everything you didn't know you needed.
-
View User Profile
-
Send Message
Posted Apr 28, 2020Hello, I use your plugin and Premium Vanish and I have a question?
Can I somehow configure the plugin so that the number of players online is appropriate to the number in EssentialsX "%essentials_safe_online%" (PlaceholderAPI)
Because I'm looking for plugins that can hide players with "/v" on the player slot.
If there is no such option, I suggest adding something like "PlaceholderAPI", if you are able to do it, many people like me are looking to hide players on players slot, it would be very useful and helpful.
I do not know how to write such plugins, I'm a beginner so I only give suggestions.
Thanks for the answer...
-
View User Profile
-
Send Message
Posted Apr 29, 2020In reply to olekmk_342:
Hi there! That’s a good suggestion that might be a little bit of work on my side. Currently, you might imagine, things are a little crazy due to Corona. So I might not be able to implement your request in a week or two.
That‘s why I ask you to go to this plugins GitHub page and open up an „Issue“. Just describe your feature request there and it‘s on my todo.
Stay safe!
-
View User Profile
-
Send Message
Posted Mar 15, 2020Hello,
I don't know why but when I do startup the server with your plugin and the DeluxeChat plugin the chat isn't managed by DeluxeChat anymore :/
Are you modifying anything on the chat side ?
-
View User Profile
-
Send Message
Posted Mar 16, 2020In reply to Forge_User_89956325:
Hey! Good question I can look into. Can you open up an issue on Github or give me the following infos:
- Version of my plugin, vault, protocollib, deluxechat, spigot
- Errors?
-
View User Profile
-
Send Message
Posted Mar 17, 2020In reply to Strumswell:
Done ;)
-
View User Profile
-
Send Message
Posted Nov 30, 2017Strumswell thanks for the great plugin. I've ran in to a few issues that I was wanting to pass along.
I'm running spigot 1.11.2 and version 10.0.3 of your plugin. Using java 1.8.0_121.
1. I'm not having any success in getting HoverText to work. Has that been enabled yet for spigot? I've set Enable: true.
2. I've ran this plugin for a few hours and even AFK'd. But the plugin is not storing anything in the UUID_TIME.dat, UUID_NAME.dat, or IP_UUID.dat files. As such its never hitting the Regulars message.
3. I ran /serverlist update and it found a newer update and downloaded it. Once it loaded, your plugin crashed when I restarted the server.
The updated plugin identifies itself as 10.0.3 in the plugin.yml file. If it is the same version why did it update? If its not the same version, why is the version the same?
I reset the plugin and ran the /serverlist update again and it did not crash on the restarting of the server this last time. So this appears to be intermittent? I noticed someone else mentioned this issue too with the plugin.yml file. The preexisting plugin.yml that I was using was good and had no issues when the server started. I'm interpreting the following stacktrace as the plugin.yml within the jar file cannot be "opened" by the ZipFile class.
Unfortunately I did not save that version of your plugin to investigate it farther on my end. If it happens again I will. But just passing this information along.
[10:38:30] [Server thread/ERROR]: Could not load 'plugins/ServerlistMOTD_10.0.3.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:78) ~[spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:275) [spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at org.bukkit.craftbukkit.v1_11_R1.CraftServer.loadPlugins(CraftServer.java:301) [spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:204) [spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:544) [spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:160) ~[spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:76) ~[spigot84.jar:git-Spigot-3fb9445-6e3cec8]
... 6 more
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method) ~[?:1.8.0_121]
at java.util.zip.ZipFile.<init>(ZipFile.java:219) ~[?:1.8.0_121]
at java.util.zip.ZipFile.<init>(ZipFile.java:149) ~[?:1.8.0_121]
at java.util.jar.JarFile.<init>(JarFile.java:166) ~[?:1.8.0_121]
at java.util.jar.JarFile.<init>(JarFile.java:130) ~[?:1.8.0_121]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:148) ~[spigot84.jar:git-Spigot-3fb9445-6e3cec8]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:76) ~[spigot84.jar:git-Spigot-3fb9445-6e3cec8]
... 6 more
4. Color Codes (edit...). It looks like you are missing an important formatting code: The reset.
It should probably be &r (\00A7r) keeping with your naming style. But it is important to end the formatting features such as bold, underline, etc...
While you're at it, I guess strikethrough &m (\00A7m) may be a simple addition too.
Thanks!
Blue
-
View User Profile
-
Send Message
Posted Dec 1, 2017In reply to RoyalBlueRanger:
-
View User Profile
-
Send Message
Posted Dec 1, 2017In reply to Strumswell:
It still does not work with the hover text.