Maintenance - Enable maintenance mode with a custom maintenance motd and icon


This is a discussion topic for the Ore project, Maintenance. View the full project on Ore for downloads and more information.



Maintenance is the most wonderful maintenance plugin for your Minecraft server you can find.

Its features include:

  • A custom motd as well as server icon, that will be shown during maintenance
  • Start- and endtimers, which will enable/disable maintenance mode after the time is up
  • A ‘%TIMER%’ variable usable in the pingmessage, to show the time until a running endtimer finishes (other variables and tricks are explained in the configuration file’s comments)
  • A maintenance whitelist, to grant specific players the ability to join while you’re working on your server
  • Notifications when players try to join your server during maintenance
  • Nearly all messages are customizable via the language file, given in a multitude of different languages
  • Using ServerListPlus? Maintenance will toggle its status when enabling maintenance and reenable the SLP motd when disabling maintenance

An example of how a pingmessage during maintenance might look:

The configuration file is shown at the bottom of this post.
Learn more about the plugin (commands, permissions, configuration, and API usage) in the wiki listed below.


Found a bug? Report it on the issue tracker
Other problems or questions? Click the wonderful image below!



If the wiki is one click too far away for you, you can get a sense of some features by looking into the config.
Whitelisted players for maintenance and messages are in two other files, but here’s the config file:

# Enables maintenance mode.
maintenance-enabled: false

# The message shown in the multiplayer server list motd when maintenance is enabled.
# If you put in multiple entries, one of them will be chosen randomly on every ping.
# If running an endtimer, the time left can be displayed by including '%TIMER%' in a pingmessage (also works in playercount(-hover) message).
  - "&cMaintenance mode!%NEWLINE%&6We will be back soon!"
# - "Other entry"

# If set to true and an endtimer is currently running, a pingmessage from this pool will be chosen
# instead of the ones above, so you can have different messages for when an endtimer is running/not running.
enable-timerspecific-messages: false
  - "&cMaintenance mode!%NEWLINE%&6We will be back in %TIMER%!"
# - "Other entry"

# If set to true, the message below will be shown at the top right corner of the server in the serverlist, where the playercount would normally be displayed.
# If set to false, the normal playercount will be shown.
# Alternatively you can use '%ONLINE%' and '%MAX% if you want to include the playercount in a custom message (e.g. "&cMaintenance &7%ONLINE%&8/&7%MAX%").
enable-playercountmessage: true
playercountmessage: "&4Maintenance"

# Is shown when you move your mouse above the text at the top right corner of the server in the serverlist,
# where the playercount would normally be displayed.
playercounthovermessage: "&cCurrently under%NEWLINE%&cmaintenance"

# If enabled and the server is restarted while running an endtimer, the timer will be continued after the restart.
# If the timer ends while the server is offline, maintenance will be disabled as soon as the server starts again.
  enabled: false
  # This value is set everytime an endtimer is started, cancelled or ended.
  # Do not manually change this value.
  end: 0

# If using the timer command: In what intervalls before enabling/disabling maintenance there will be a broadcast.
timer-broadcast-for-seconds: [1200, 900, 600, 300, 120, 60, 30, 20, 10, 5, 4, 3, 2, 1]

# If disabled, you will no longer receive any messages if there is an update.
# Not recommended to disable, as new versions generally tend to run better and with less bugs.
# However, you can always check for updates manually using the '/maintenance update' command.
update-checks: true

# Used for autoupdating the config, do not change this value.
config-version: 2

By default, the plugin checks for updates on startup as well as on the first join per startup of a player with the maintenance.admin permission. To disable these, set the update-checks value in the config to false.


FYI plugins with ‘Sponge’ in the name aren’t allowed on Ore unless this is a port of something or it deals with sponge blocks.


Yeah I am aware, tho it techinically it a port, as the plugin originally started as a Bungee plugin.
But eitherway, if that still is a problem, I’ll just rename it ^^


A new version has been released for Maintenance, it is available for download here.

Maintenance 3.0.1 has been released, featuring an addon for PlaceholderAPI placeholders, continuation of endtimers after restarts, massive file size reduction and some bugfixes.
A full changelog can be read HERE.


Nvm the placeholders, that’s not part of the Sponge module :eyes:


A new version has been released for Maintenance, it is available for download here.

  • Added config option timerspecific-pingmessages to have specific pingmessages shown when endtimers are run
    • You can also set them ingame by using /maintenance setmotd timer <index> ... instead of /maintenance setmotd <index> ..., along with /maintenance removemotd timer <index> and /maintenance motd timer
  • Made dumps a little prettier
  • Support Sponge 8.0.0-SNAPSHOT


Hello, is there any way to whitelist some people from the maintenance kickstart compared? For example: If I put an admin grade to a person, it will not kick as soon as maintenance is enabled. If that’s not possible, it would be nice, instead of switching and whitelist each player in the config file! Thank !


Interesting idea but definitely very needed for a lot of servers. Would be interesting to have a feature for scheduling maintenance in the future


Either you whitelist them before enabling (/maintenance add <player>) or you can use a dev build and set kick-online-players to false to not kick online players but only prevent new ones from joining


You can use /maintenance starttimer <minutes> and /maintenance endtimer <minutes> to schedule its start/end :wink:


Hmm will keep this plugin bookmarked then