MaintenanceManager

MaintenanceManager is a Sponge plugin similar to dakoslug’s EmergencyDowntime Bukkit plugin, essentially allowing admins to close their servers to players whilst performing maintenance.

At present, the following features have been implemented and confirmed working:

  • Maintenance mode
  • Maintenance scheduling (timed or on server start)
  • Broadcasts to players before/when maintenance toggles
  • Option to kick players immediately, or let them leave once ready
  • Restart persistence
  • Full customisation via config file

The first full release will contain the following additional features:

  • Maintenance events for other plugins to listen for
  • Metrics

Feel free to suggest new features/edits!


Installation and usage

Installation is as standard; drop the jar file into the mods folder on a Sponge-enabled server.

Commands:
/maintenance on
Turns maintenance on. Accepts the following flags:

  • -k / --kick: kicks all players without maintenance.exempt
  • -p / --persistent: causes maintenance to stay on after a restart
  • -d / --date (YYYY-MM-DD): schedules maintenance to start on the specified date
    • If present, must be accompanied by -t
    • If not present, maintenance will start on the current day
  • -t / --time (HH:MM[:SS]): schedules maintenance to start at the specified time
    • If not present maintenance will start immediately
  • -l / --length (DdHhMmSs): schedules maintenance to last the specified length of time
    • All parts of the parameter are optional; “2d5h30m10s” and “2d30m” are both valid
  • -e / --event (name): schedule maintenance to start on the next occurence of the specified event. Valid names: “onStart” [NYI]

/maintenance off
Turns maintenance off. Accepts the following flags:

  • -d / --date (YYYY-MM-DD): schedules maintenance to stop on the specified date
    • If present, must be accompanied by -t
    • If not present, maintenance will stop on the current day
  • -t / --time (HH:MM[:SS]): schedules maintenance to stop at the specified time
    • If not present maintenance will stop immediately

/maintenance status [NYI]
Informs the user of the current maintenance status (on/off). Additionally, information about when the server will re-open can be found here if the corresponding flags were included.

/maintenance schedule [delete (all/id)]
View and edit all scheduled maintenance periods.

  • To list all scheduled maintenance periods, omit the “delete” parameter
  • To delete scheduled periods, append “delete” and then either “all” or the ID of a period (the #number in the schedule list)

/maintenance extend [NYI]
Extends the current maintenance period. Accepts one the following flags:

  • -t / --time (HH:MM[:SS]): set/change the maintenance period to end at this time
  • -l / --length (DdHhMmSs): extends the maintenance period by the given amount
    • Unlike -t, this flag is relative to the existing end time; thus, /mn extend -l 1h adds 1 hour to the end of the maintenance period
    • Supplying a negative value removes time, i.e. brings the end forward

For all parameters: (required), [optional] - but don’t include the brackets
Flags can be combined, e.g. /mn on -kpd 2015-10-21 -t 08:00

Permissions:
maintenance.on: allow user to turn maintenance on
maintenance.off: allow user to turn maintenance off
maintenance.kick: allow user to use the kick ("-k") flag
maintenance.persist: allow user to use the persistence ("-p") flag
maintenance.schedule: allow user to use the schedule flags ("-d", “-t”, “-l”, “-e”) and extend/delete maintenance periods
maintenance.exempt: allow user to remain on the server during maintenance


Downloads

Please report bugs here.
Changelog

MaintenanceManager v0.2 for Sponge 1.8.*
MaintenanceManager v0.1 for Sponge 1.8.*

Alternatively, if you want the latest changes, the source code is available on Github.

4 Likes

Could I get this moved to releases please?

1 Like

@J15t98J
Just press the edit button(It’s the pencil next to your topic title) as if you were editing the name of the topic and then you can change the category from the drop-down menu that appears.

4 Likes

Hi, will it work also with the latest version of Sponge for MC 10?

@Alfista: I’ve no idea - I haven’t really been keeping up with Sponge recently because of school. If you want, I should be able to find some time to work on it in the next few weeks though :slight_smile:

Hi, thanks it will be great from you, also when you can test it, while I like your plugin.

Hi, it will be great from you, also when you can test it with it, while I like your plugin and will install it.