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!
I 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]
This 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!
In reply to Forge_User_07280511:
Thank you very much, this means a lot. :) I wrote down HEX support for a future release.
I can't get the fake player count to work. I'm on paper 1.16.4
In 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.
Hi,
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 .
In 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?
Does this plugin support HEX Code on 1.16.x servers?
Good 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!
In 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.
Bonjour,
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
Great plugin! It has everything you didn't know you needed.
Hello, 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...
In 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!
Hello,
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 ?
In 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?
In reply to Strumswell:
Done ;)
Strumswell 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
In reply to RoyalBlueRanger:
In reply to Strumswell:
It still does not work with the hover text.