NOTE: If you run this plugin on Spigot 1.7 it does not access ProtocolLib on that version. Therefore, it won't have Custom Player Count / Custom Hover over Player Count / Fake Players. (I deactivated it because I could not find a ProtocolLib version that works on 1.7. Therefore, I could not test it. If someone finds a version of ProtocolLib that works on 1.7 please message me. Thanks!)
NOTE 2: To access HEX colors, you need Spigot/Paper 1.13+ OR BungeeCord/Waterfall 1.16+! It works on all versions of Spigot/Paper/BungeeCord/Waterfall!
Please leave a review if you liked this plugin! Thank you!
MaintenanceMOTD (IMO this is a Premium tier plugin)
Description
MaintenanceMOTD is one of the best free MOTD plugins you have ever seen. It is fully customizable, and I really mean it! You have configs for everything that the plugin does, this also includes MESSAGES! In addition to that it supports
HEX COLORS! You also have a special MOTD for when you enter Maintenance Mode!
Color codes
Important note: this plugin usually does not use the normal color codes, but it uses MiniMessage!
It uses normal color codes only for PlayerCounts and Hover over PlayerCount(because I think ProtocolLib does not support it yet)
Features
Fully Customizable!
Customizable Messages
Customizable MOTD
Customizable MaxPlayers
Customizable MOTD for Maintenance
Supports RANDOM MOTDS
Almost everything can be changed through commands! (the only thing that can not be changed through commands is the content of the RANDOM MOTDS/PlayerCounts/Hovers over PlayerCount, but the default one can be changed)
You can set a time for the Maintenance and Reason! (After the time finishes the Maintenance mode is turned off)
Kick players that do not have permission when Maintenance Mode is turned ON
Customizable Kick Messages
Customizable time units
Support auto-complete commands
If Custom Player Count is active, it solves the issue with "and x more..." when hovering
It also supports GRADIENTS
If you have ProtocolLib(it is not required for BungeeCord version) you will have access to the following features:
Customizable PlayerCount
Customizable Hover over PlayerCount
Customizable FakePlayers(if Hover over PlayerCount is deactivated it will add them into the hover player list)
Supports RANDOM PlayerCounts and RANDOM Hovers over PlayerCount
If you have PlaceholderAPI(it is not required for BungeeCord version) you can use the placeholders provided by it
Customizable Icons for Maintenance Mode and Normal Mode
The Icons can be randomly cycled
Downscaling gradients and rainbow if the server version is less than 1.13(1.8->1.12)
Scaling gradients and rainbow if the server version is higher than 1.12(1.13->1.20)
Added support for these placeholders: %time%, %date%, %online%, %max%, %remain%, %for%
There could be more features but I do not remember them if there are.
Permissions
maintenancemotd.maintenance - access to the main command
maintenancemotd.bypass - bypass the maintenance
Commands
MAIN COMMAND: maintenancemotd (aliases maintenance and mm)
/mm <on | off> [reason] - Toggle maintenance mode
/mm <for> <time><s | m | h | d> [reason] - Toggle maintenance mode for a period of time (Example: /mm for 30m -> This will turn maintenance mode for 30 minutes)
/mm <maxplayers> <on | off | set> - Set the max players
/mm maxplayers set <number> - Set the value of max players
/mm <fakeplayers> <on | off | set | set-add-in-list | set-random-order>
/mm fakeplayers set <number> - Set the value of fake players
/mm fakeplayers set-add-in-list <on | off> - Toggle if you want to show the fake players in online list when hovering over Player Count
/mm fakeplayers set-random-order <on | off> - Toggle if you want to show the fake players in a random order from the list
/mm <normal-motd> <line> [text] - Set the normal MOTD (Examle: /mm normal-motd 1 -> this will clear line 1 for the default MOTD, if I would have typed something after the "1" then it will set to that)
/mm <maintenance-motd> <line> [text] - Set the maintenance MOTD(works the same as before)
/mm <normal-player-count> <on | off | set | remove | hover | set-hover | remove-hover> - Set the normal Player Count
/mm normal-player-count set <text> - Set the normal Player Count
/mm normal-player-count remove - Clear the normal Player Count(it will show nothing)
/mm normal-player-count hover <on | off> - Toggle the hover on normal-player-count
/mm normal-player-count set-hover <line> <text> - Set the hover text for a specific line(if the line does not exist add clear lines until then)
/mm normal-player-count remove-hover <line> - Delete a line from the hover
/mm <maintenance-player-count> <on | off | set | remove | hover | set-hover | remove-hover> - Set the maintenance Player Count
/mm maintenance-player-count set <text> - Set the maintenancePlayer Count
/mm maintenance-player-count remove - Clear the maintenancePlayer Count(it will show nothing)
/mm maintenance-player-count hover <on | off> - Toggle the hover on maintenance-player-count
/mm maintenance-player-count set-hover <line> <text> - Set the hover text for a specific line(if the line does not exist add clear lines until then)
/mm maintenance-player-count remove-hover <line> - Delete a line from the hover
/mm <normal-random> <motd | player-count | hover> <on | off> - Set the normal random motd
/mm normal-random motd <on | off> - Toggle if it should show random MOTDS instead of the default one(it includes the default one)
/mm normal-random player-count <on | off> - Toggle if it should show random Player Counts instead of the default one(it includes the default one)
/mm normal-random hover <on | off> - Toggle if it should show random Hovers over Player Count instead of the default one(it includes the default one)
/mm <maintenance-random> <motd | player-count | hover> <on | off> - Set the maintenance random motd
/mm maintenance-random motd <on | off> - Toggle if it should show random MOTDS instead of the default one(it includes the default one)
/mm maintenance-random player-count <on | off> - Toggle if it should show random Player Counts instead of the default one(it includes the default one)
/mm maintenance-random hover <on | off> - Toggle if it should show random Hovers over Player Count instead of the default one(it includes the default one)
/mm <normal-icon> <on | off | random> - Set the normal icon
/mm normal-icon random <on | off> - Toggle if you want to cycle images randomly for normal mode
/mm <maintenance-icon> <on | off | random> - Set the maintenance icon
/mm maintenance-icon random <on | off> - Toggle if you want to cycle images randomly for maintenance mode
/mm reload - Reload the plugin(loads configs again if you changed anything without having to reload all server)
Support for versions 1.13->1.20, including Spigot (Added in 1.2.0)
Support for version 1.8->1.12, including Spigot (Added in 1.3.0)
Reverse compatibility for gradients and rainbows if the server version is under 1.13 (Added in 1.3.0)
Support for version 1.7, including Spigot (Added in 1.4.0, without support for ProtocolLib)
Reverse compatibility for gradients and rainbows when the server runs a Minecraft version 1.13 or above, and players see MOTD from 1.12 or below (Added in 1.5.0)
Include %online% and %max% to be able to show in MOTD (Added in 2.0.0)
Include %remain% and %for% to be able to show in MOTD, Player Count, and Hover (Added in 2.0.0)
Include PlaceholderAPI support (Added in 2.0.0)
Compatibility for gradients and rainbows when the server runs a Minecraft version 1.12 or below, and players see MOTD from 1.13 or above (Added in 2.1.0)
Added missing prefixes to commands (Added in 2.1.0)
Include %date% and %time% to be able to show in MOTD, Player Count, and Hover (Added in 2.2.0)
Solved the bugs on some commands (Added in 2.2.0)
Restructure code (Added in 2.3.0)
Do not print errors in the console when failing to send the MOTD to a player (Added in 2.3.0)
Add BungeeCord/Waterfall support (Added in 3.0.0)
Add BungeeCord/Waterfall support for all versions (Added in 3.1.0)
Solved an issue where the version of the server was not detected properly (Added in 3.2.0)
Add Velocity support (Will be added in 4.0.0)
Change the random MOTDS / PlayerCounts / Hovers from commands(most probably, I won't do this because I don't use it)
Configs
Code (YAML):
# is the server in maintenance mode? maintenance-mode: false
reason : ''
until: 0
# help command help: - '<yellow>/maintenance <on|off>
[reason
] <gray>- <white>Toggle maintenance mode'
- '<yellow>/maintenance <for> <time><s | m | h | d>
[reason
] <gray>- <white>Toggle maintenance mode'
- '<yellow>/maintenance <maxplayers> <on | off | set> <gray>- <white>Set the max players'
- '<yellow>/maintenance <fakeplayers> <on | off | set | set-add-in-list | set-random-order> <gray>- <white>Set the fake players'
- '<yellow>/maintenance <normal-motd> <line>
[text
] <gray>- <white>Set the normal MOTD'
- '<yellow>/maintenance <maintenance-motd> <line>
[text
] <gray>- <white>Set the maintenance MOTD'
- '<yellow>/maintenance <normal-player-count> <on | off | set | remove | hover | set-hover | remove-hover> <gray>- <white>Set the normal player count'
- '<yellow>/maintenance <maintenance-player-count> <on | off | set | remove | hover | set-hover | remove-hover> <gray>- <white>Set the maintenance player count'
- '<yellow>/maintenance <normal-random> <motd | player-count | hover> <on | off> <gray>- <white>Set the normal random motd'
- '<yellow>/maintenance <maintenance-random> <motd | player-count | hover> <on | off> <gray>- <white>Set the maintenance random motd'
- '<yellow>/maintenance <normal-icon> <on | off | random> <gray>- <white>Set the normal icon'
- '<yellow>/maintenance <maintenance-icon> <on | off | random> <gray>- <white>Set the maintenance icon'
- '<yellow>/maintenance reload <gray>- <white>Reload the plugin'
# general messages no-permission: '<red>You do not have permission to use this command.'
already-enabled: '<red>Maintenance mode is already enabled.'
already-disabled: '<red>Maintenance mode is already disabled.'
enabled: '<green>Maintenance mode has been enabled.'
enabled-with-reason: '<green>Maintenance mode has been enabled. Reason
: <yellow>
%reason%</yellow>.' disabled: '<green>Maintenance mode has been disabled.'
invalid-line: '<red>The line number must be 1 or 2.'
at-least-one: '<red>The line number must be at least 1.'
must-be-positive: '<red>The max players must be a positive number.'
this-line-does-not-exist: '<red>This line does not exist.'
reloaded: '<green>The plugin has been reloaded.'
until-usage: '<red>Usage
: /maintenance for <time><s | m | h | d>
[reason
]'
until: '<green>The maintenance mode has been enabled until <yellow>
%until%(for %remain%)</yellow>.' until-with-reason: '<green>The maintenance mode has been enabled until <yellow>
%until%(for %remain%)</yellow>. <newline>Reason: <yellow>%reason%</yellow>.'
# default messages default-no-reason: '
No reason given.'
default-no-until: 'The maintenance period has not been defined.'
default-no-remain: 'The maintenance period has not been defined.'
# time and date format format:
time: 'hh:mm:ss'
date: 'dd/mm/yyyy'
# time units days: 'days'
hours: 'hours'
minutes: 'minutes'
seconds: 'seconds'
days-short: 'd'
hours-short: 'h'
minutes-short: 'm'
seconds-short: 's'
# kick messages kick:
message: '<red>The server is currently in maintenance mode.'
message-with-reason: '<red>The server is currently in maintenance mode. <newline>Reason
: <yellow>
%reason%</yellow>.' message-with-until: '<red>The server is currently in maintenance mode. <newline>Until
: <yellow>
%until%(for %remain%)</yellow>.' message-with-until-and-reason: '<red>The server is currently in maintenance mode. <newline>Until
: <yellow>
%until%(for %remain%)</yellow>. <newline>Reason: <yellow>%reason%</yellow>.'
# fake-players messages fake-players:
set: '<green>The fake players has been set to <yellow>
%fakeplayers%</yellow>.' enabled: '<green>The fake players has been enabled.'
disabled: '<green>The fake players has been disabled.'
add-in-list:
enabled: '<green>The fake players add in list has been enabled.'
disabled: '<green>The fake players add in list has been disabled.'
random-order:
enabled: '<green>The fake players random order has been enabled.'
disabled: '<green>The fake players random order has been disabled.'
usage:
general: '<red>Usage
: /maintenance <fakeplayers> <on | off | set | set-add-in-list | set-random-order>'
set: '<red>Usage
: /maintenance fakeplayers set <number>'
add-in-list: '<red>Usage
: /maintenance fakeplayers set-add-in-list <on | off>'
random-order: '<red>Usage
: /maintenance fakeplayers set-random-order <on | off>'
# max-players messages max-players:
set: '<green>The max players has been set to <yellow>
%maxplayers%</yellow>.' enabled: '<green>The custom max players has been enabled.'
disabled: '<green>The custom max players has been disabled.'
usage:
general: '<red>Usage
: /maintenance <maxplayers> <on | off | set>'
set: '<red>Usage
: /maintenance maxplayers set <number>'
# normal-motd messages normal-motd:
usage: '<red>Usage
: /maintenance <normal-motd> <line>
[text
]'
set: '<green>The line <yellow>
%line%<green> of the normal MOTD has been set to <yellow>%text%<green>.' set-clean: '<green>The line <yellow>
%line%<green> of the normal MOTD has been cleared.' random:
motd:
enabled: '<green>The normal random MOTD has been enabled.'
disabled: '<green>The normal random MOTD has been disabled.'
player-count:
enabled: '<green>The normal random player count has been enabled.'
disabled: '<green>The normal random player count has been disabled.'
hover:
enabled: '<green>The normal random hover has been enabled.'
disabled: '<green>The normal random hover has been disabled.'
usage:
general: '<red>Usage
: /maintenance <normal-random> <motd | player-count | hover> <on | off>'
motd: '<red>Usage
: /maintenance normal-random motd <on | off>'
player-count: '<red>Usage
: /maintenance normal-random player-count <on | off>'
hover: '<red>Usage
: /maintenance normal-random hover <on | off>'
player-count:
enabled: '<green>The normal player count has been enabled.'
disabled: '<green>The normal player count has been disabled.'
set: '<green>The normal player count has been set to <yellow>
%text%</yellow>.' remove: '<green>The normal player count has been removed.'
hover:
enabled: '<green>The normal player count hover has been enabled.'
disabled: '<green>The normal player count hover has been disabled.'
set: '<green>The normal player count hover has been set to <yellow>
%text%</yellow> at line <yellow>%line%</yellow>.' remove: '<green>The normal player count hover at line <yellow>
%line%</yellow> has been removed.' usage:
general: '<red>Usage
: /maintenance <normal-player-count> <on | off | set | remove | hover | set-hover | remove-hover>'
set: '<red>Usage
: /maintenance normal-player-count set <text>'
hover: '<red>Usage
: /maintenance normal-player-count hover <on | off>'
set-hover: '<red>Usage
: /maintenance normal-player-count set-hover <line> <text>'
remove-hover: '<red>Usage
: /maintenance normal-player-count remove-hover <line>'
icon:
enabled: '<green>The normal icon has been enabled.'
disabled: '<green>The normal icon has been disabled.'
random:
enabled: '<green>The normal random icon has been enabled.'
disabled: '<green>The normal random icon has been disabled.'
usage:
general: '<red>Usage
: /maintenance <normal-icon> <on | off | random>'
random: '<red>Usage
: /maintenance normal-icon random <on | off>'
# maintenance-motd messages maintenance-motd:
usage: '<red>Usage
: /maintenance <maintenance-motd> <line>
[text
]'
set: '<green>The line <yellow>
%line%<green> of the maintenance MOTD has been set to <yellow>%text%<green>.' set-clean: '<green>The line <yellow>
%line%<green> of the maintenance MOTD has been cleared.' random:
motd:
enabled: '<green>The maintenance random MOTD has been enabled.'
disabled: '<green>The maintenance random MOTD has been disabled.'
player-count:
enabled: '<green>The maintenance random player count has been enabled.'
disabled: '<green>The maintenance random player count has been disabled.'
hover:
enabled: '<green>The maintenance random hover has been enabled.'
disabled: '<green>The maintenance random hover has been disabled.'
usage:
general: '<red>Usage
: /maintenance <maintenance-random> <motd | player-count | hover> <on | off>'
motd: '<red>Usage
: /maintenance maintenance-random motd <on | off>'
player-count: '<red>Usage
: /maintenance maintenance-random player-count <on | off>'
hover: '<red>Usage
: /maintenance maintenance-random hover <on | off>'
player-count:
enabled: '<green>The maintenance player count has been enabled.'
disabled: '<green>The maintenance player count has been disabled.'
set: '<green>The maintenance player count has been set to <yellow>
%text%</yellow>.' remove: '<green>The maintenance player count has been removed.'
hover:
enabled: '<green>The maintenance player count hover has been enabled.'
disabled: '<green>The maintenance player count hover has been disabled.'
set: '<green>The maintenance player count hover has been set to <yellow>
%text%</yellow> at line <yellow>%line%</yellow>.' remove: '<green>The maintenance player count hover at line <yellow>
%line%</yellow> has been removed.' usage:
general: '<red>Usage
: /maintenance <maintenance-player-count> <on | off | set | remove | hover | set-hover | remove-hover>'
set: '<red>Usage
: /maintenance maintenance-player-count set <text>'
hover: '<red>Usage
: /maintenance maintenance-player-count hover <on | off>'
set-hover: '<red>Usage
: /maintenance maintenance-player-count set-hover <line> <text>'
remove-hover: '<red>Usage
: /maintenance maintenance-player-count remove-hover <line>'
icon:
enabled: '<green>The maintenance icon has been enabled.'
disabled: '<green>The maintenance icon has been disabled.'
random:
enabled: '<green>The maintenance random icon has been enabled.'
disabled: '<green>The maintenance random icon has been disabled.'
usage:
general: '<red>Usage
: /maintenance <maintenance-icon> <on | off | random>'
random: '<red>Usage
: /maintenance maintenance-icon random <on | off>'