Skip to content

Configuration

Nassim Jahnke edited this page Sep 13, 2024 · 16 revisions

General

You can find the config file with all its fields and comments here. It will be created when you start your server with this plugin on it for the first time. Next to the config, a language-en.yml and a WhitelistedPlayers.yml file will be created as well.

Configuration file

Here's a list of configuration fields and a short explanation for each one.

Component formatting

Maintenance DOES NOT SUPPORT LEGACY TEXT (§/&).

It uses minimessage, which you can find docs on here: https://docs.adventure.kyori.net/minimessage/format.html. You can also use https://webui.adventure.kyori.net/ to edit and preview the formatted text.


maintenance-enabled

Default: false
Enables maintenance on your server. Also changeable using the /maintenance <on/off> command.

If running on Bungee/Velocity and using MySQL, this value is ignored.


ping-message.enabled

Default: true
With this option you can disable the custom Maintenance pingmessages while maintenance is enabled.


ping-message.messages

Default:
- "<red>Currently under maintenance<br><gradient:#fbffc2:#0fffff>We will be back soon!"
The message shown in the multiplayer server list motd when maintenance is enabled.

Line breaks can be added with a <br>.

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).


ping-message.enable-timer-specific-messages

Default: false
Enables specific pingmessages to be shown during endtimers. See below for more info.


ping-message.timer-messages

Default:
- "<red>Currently under maintenance<br><gradient:#fbffc2:#fffff>Come back in:</gradient> <color:#aa55ee>%TIMER%"
Similar to the pingmessages setting, these messages will be shown for the motd when an endtimer is running, so you can have different messages for when an endtimer is running/not running.

The %TIMER% variable shows the time left. Its format can be edited in the language file.


player-count-message.enabled

Default: true
Enables the player count message (see a field below). If disables, the normal player count will be shown during maintenance.


player-count-message.message

Default: <dark_red>Maintenance
Shown at the top right corner of the server in the server list, where the player count would normally be displayed.

DOES NOT SUPPORT RGB!

If you still want to include the player count (but in a custom message), %ONLINE% and %MAX% can do just that (e.g. "Maintenance %ONLINE%/%MAX%").


player-list-hover-message.enabled

Default: true
Enables the player list hover message (see a field below). If disables, the normal player sample list will be shown during maintenance.


player-list-hover-message.message

Default: "<red>Currently under<br><red>maintenance"
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.

DOES NOT SUPPORT RGB!


custom-maintenance-icon

Default: false
If set to true, the server icon will be changed to the maintenance-icon.png file in the plugin's folder during maintenance.


commands-on-maintenance-enable and commands-on-maintenance-disable

Default: []
Any extra commands inside of the arrays will be executed when maintenance is enabled/disabled.

Example: commands-on-maintenance-enable: ["say hello!", "stop"]


send-join-notification

Default: false
If maintenance is enabled and a player without bypass permissions tries to join the server, a message will be sent to all online players on that server with the maintenance.joinnotification permission.


kick-online-players

Default: true
Set this to false if you do not want the already online players to be kicked when you enable maintenance (new connections will still be blocked).


language

Default: en
See here for more information.


continue-endtimers-after-restart

Default: enabled: false, end: 0
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.

The end value is for internal saving, so you should not change that at any time.


timer-broadcast-for-seconds

Default: [1200, 900, 600, 300, 120, 60, 30, 20, 10, 5, 4, 3, 2, 1]
When running a start-/endtimer, a broadcast will be sent x seconds before the timer ends.


update-checks

Default: true
If enabled, the plugin will check for updates once on startup and on the first join per startup for players with the maintenance.admin permission.

It really is not recommended to disable this, as every update includes some fixes and internal improvements, so not updating usually means less stability and no guarantee for any support regarding that old version.


Additional fields for the Bungee/Velocity version:

proxied-maintenance-servers

Enables maintenance the listed proxied servers. Also changeable using the /maintenance <on/off> <server> command.


fallback

Default: lobby
If maintenance is enabled on a proxied server, the players on that server will obviously have to be sent somewhere else. The set fallback server is exactly that.

If there is no fallback server set or it it is for some reason not reachable, players will instead be kicked off the entire network.

If you want to define multiple fallback servers, you can also set a list to this field, for example:

fallback:
  - lobby
  - Server2

waiting-server

Default: empty
If maintenance is enabled globally, you can define a "waiting" lobby for players to be sent to instead of being kicked. New players will also be connected to this waiting server. Leave this empty to disable the feature.


MySQL section

Used to connect multiple proxy instances to a database, so that you won't have to enable/disable maintenance on each proxy by hand. This means, that if you change the maintenance status of the proxy/a proxied server on one proxy, your other proxies will see a change in the database, change their mode as well (and kick online players if necessary).


use-mysql

Default: false
Enables the MySQL connection.


host, port, database, username, password

Information required to connect to your database.


update-interval

Default: 15
Requests to the database will only be made at least x seconds after the last request, so there won't be a request on every single ping and join on a server with many players.

Set this to 0 to make a database request on (almost) every single ping (0 is not recommended if having more than a hundred concurrent players, then I'd recommend keeping it from 10-60).


use-ssl

Default: true
If you for some reason are not able to establish SSL connections to your database, you may disable it here.


Language file

Determines which file most messages will be taken from, the default is en (English). Other available default languages are de (German), fr (French), pt (Portuguese), es (Spanish), ru (Russian), zh (Chinese), it (Italian), pl (Polish), tr (Turkish), sv (Swedish), uk (Ukrainian), ja (Japanese), da (Danish), ko (Korean), hu (Hungarian), vi (Vietnamese).

If you want to get the proofreader or translator role on Crodwin, join our Discord. All translations are managed here: https://crowdin.com/project/maintenance

Other that that, you can simply edit the messages present in the file to your hearts content.

Here's a secret setting you can insert into the language file, to set custom kick messages for individual servers. If you want to do that, here's an example you can throw somewhere into the file:

# Here you can set kick messages for individual proxied servers.
singleMaintenanceKicks:
  Build-Server1: "<prefix><red>The server %SERVER% is currently under maintenance! You can run around in the lobby in the meantime!"
singleMaintenanceKicksComplete:
  Build-Server1: "<red>The server %SERVER% is under maintenance!<br><red>You may try to rejoin to go onto another server!"

WhitelistedPlayers file

Players listed in this file can join the server regardless of whether maintenance is enabled or not. You can either add and remove players to/from the maintenance whitelist with the /maintenance <add/remove> <name/uuid> command, or do the same by hand in the file itself. Since 3.0.6, you can manually add offline players on proxies with /maintenance add <uuid> <name>. To manually add them to the file, simply put their uuid and name into the file in this format: <uuid>: <name>.

An example could be:

# You can add and remove players with the '/maintenance <add/remove> <name/uuid>' command.
# Alternatively, you can just add their uuid and name here by hand in the following format:

a8179ff3-c201-4a75-bdaa-9d14aca6f83f: kennytv
069a79f4-44e9-4726-a5be-fca90e38aaf5: Notch