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!
Hey! Using hex color codes is great for anybody playing with version 1.16+, however people with older versions only see the text in gray. I was wondering if it's possible for players version 1.16+ to see the text in hex but players running older versions see the text in one of Minecrafts color codes. I have seen this done on other server's motds and was wondering if it could be done with this plugin. Thanks!
For WhitelistMOTD is it possible to have the AccessGranted show RandomMOTD instead of just a single message?
hey, for some reason the ban messages arent working. it was wasking for about 30 minutes but after i restarted the server they dont appear. I do have them enabled in the config.yml but they dont show up. they only show my random motds.
In reply to zyriom_:
Hey, you should open up an issue on Github. Are you using the ban system of Spigot, or another plugin? Was the server stopped properly via the "stop" command? The ban motd is dependent on IP logging (IP-username correlation), so something may went wrong there. As I said, please open up an issue with more info on Github. :)
In reply to strumswell:
I do use a different plugin, advancedban and im aware it uses IP logging. I will open up an issue on the github.
I love this plugin so much, great job! 🔥❤️
In reply to wAFFGG:
Thank you, means a lot. ❤️
Is it possible to change the IP_UUID control to only ID because everyone's IP is changing every day and they get the "hello newbie" even if they have played on the server multiple times.
In reply to KemMuammer:
Unfortunately not. The player name is normally not available in the server list aka before joining the server. We have to do IP logging (IP_UUID.dat) to kind of guess the username. A potential downside to this is what you have described. There is no other way though.
Maybe you should modify your motd to level this out a bit. Example:
Instead of: "Hey newbie, ..." ; "Hey PlayerXYZ, ..."
Do: "Hey, ..."; "Hey PlayerXYZ"
Or: "DemoCraft | CityBuild [1.18]%line%Play now!"; "DemoCraft | CityBuild [1.18]%line%Play now, PlayerXYZ!"
Hex code (example: &#FF0000 = bright red ) support would be amazing
In reply to mobomanx:
Hey, I don't have the time to work on ServerlistMOTD currently, super sorry. But there is a way you can still use hex codes, it's just not super nice:
Let's say you want to use the hex code #FF0000. You have to switch # with an x and prepend a & to every character. It will look like this: &x&f&f&0&0&0&0Welcome
You can also do gradients manually. Example from #1515db to #2bfafa:
&x&1&5&1&5&d&bN&x&1&c&6&1&e&5i&x&2&3&a&d&e&fc&x&2&b&f&a&f&ae
Which will write out "Nice" from a darkish blue to an aqua. You can use this site, to get the in-between hex codes: https://colorize.fun/en/minecraft
I know it's not nice to use but it works for the moment. :)
EDIT: Check out current beta @Github. It's easier to use :)
Is there support for bungeecord?
so in the images above, how do you make it say the countdown and what do you use for the countdown. thank you!
im needing this for an event countdown on my server.
In reply to therealGrayHay:
Check out PlaceholderAPI. You can use e.g. %server_countdown_dd.MM.yyyy_01.01.2020% via https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders#server directly in the motd.
How do i make the UnknownSlots the question marks like "???" because when i did put it on true it just did 0/0 is there anyway to make that work?
In reply to br3zylive:
Hey! I think Mojang changed that behavior in one of the last versions. I can look into it, but I guess there's nothing we can do here. As an alternative, you could use the version text with "???". But this will result in red connection bars...
Edit: Turns out I was telling bs here. Hiding slots is only possible with HoverText and all other slot manipulation turned OFF. :) Going to update documentation to reflect that.
My UUID has been saved to the IP_UUID.dat file but I am still getting the noob message. How do i fix this?
I noticed that a message appears in the console every 30 minutes or so saying:
[ServerlistMOTD] Saved userdata into IP_UUID.dat in 0ms.
Is there any way to stop this?
In reply to White_Iverson97:
Hey there! This message notifies you that the UUID of all players and its IPs are saved to disk. This is used for the %player% variable to recognize a player in the server list.
At the moment, there is no way to turn off this message. But you can increase the saving interval from 30 minutes to a much higher value to decrease the saving message output. Just go into your config.yml and change to value of IntervalInMin from 30 to 360 (6h) for example.
If you really want to completely turn it off, go to my GitHub repository and create an issue with the tag "enhancement" and I'll note it for a future release.
In reply to Strumswell:
Thank you!