Network
SnuggleMaintenance
Maintenance mode for the whole network or for single servers, with a friendly message and ETA.
- Runs on
- Velocity proxy (whole network)
- Commands
- 16
When we need to update things, SnuggleMaintenance tucks the servers in for a nap and tells everyone why and for how long. It runs on the proxy, so it covers the whole network.
What players see
- In the server list, the message of the day changes to a maintenance notice with the ETA and our Discord link.
- When joining during maintenance, you're turned away with a message that shows the reason, the ETA and where to find updates on Discord.
- If one server is down, you either get a note that it's "taking a cozy nap" and stay where you are, or you're sent to another server (usually the hub) with a note saying why.
People on the allowlist, and staff with the bypass permission, can still get in.
For staff
All commands are under /maint (or /maintenance) and need snuggle.maint.admin.
Network maintenance
/maint on <soft|hard> [reason] turns it on. By default, everyone online without bypass is disconnected with the maintenance message straight away.
| Mode | What it blocks |
|---|---|
hard |
Nobody without bypass can log in to the proxy at all. |
soft |
Players can reach the proxy, but can't connect to or switch to any server. They get the maintenance message in chat. |
Set the message with /maint reason and /maint eta. /maint off opens everything up again.
Single servers
Use server rules to close one server while the rest stay open:
/maint server adventure redirect hub Restartingsends anyone heading toadventuretohub./maint server dev deny Testingjust refuses the connection./maint server adventure clear(orallow) opens it again.
If a redirect target doesn't exist, the player is refused instead. Bypass and the allowlist work for server rules too.
Things to know
- Changes made with
/maintaren't written back to the config files. A proxy restart or/maint reloadgoes back to what's inconfig.ymlandservers.yml. - A status file (
snugglemaintenance_state.json) is updated after every change. - A Discord webhook can post when maintenance turns on or off and when people try to join. It's off in the default config.
Commands
Staff
| Command | What it does | Permission |
|---|---|---|
/maint status | Shows global maintenance, mode, reason, ETA, allowlist and server rules. | snuggle.maint.admin |
/maint on <soft|hard> [reason] | Turns on maintenance for the whole network. | snuggle.maint.admin |
/maint off | Turns off network maintenance. | snuggle.maint.admin |
/maint mode <soft|hard> | Changes the mode without turning maintenance on or off. | snuggle.maint.admin |
/maint reason <text> | Sets the reason shown to players. | snuggle.maint.admin |
/maint eta <text|clear> | Sets or clears the ETA shown to players, like /maint eta 30 minutes. | snuggle.maint.admin |
/maint allowlist add <player> | Lets a player in during maintenance. | snuggle.maint.admin |
/maint allowlist remove <player> | Takes a player off the allowlist. | snuggle.maint.admin |
/maint allowlist list | Lists the allowlist. | snuggle.maint.admin |
/maint server list | Lists the servers on the network. | snuggle.maint.admin |
/maint server <server> deny [reason] | Blocks players from joining that server. | snuggle.maint.admin |
/maint server <server> redirect <target> [reason] | Sends players who try to join that server to another server instead. | snuggle.maint.admin |
/maint server <server> allow [reason] | Lets players join that server again. | snuggle.maint.admin |
/maint server <server> clear | Removes the rule for that server. | snuggle.maint.admin |
/maint reload | Reloads config.yml and servers.yml. | snuggle.maint.admin |
/maint help | Lists the subcommands. | snuggle.maint.admin |
Permissions
| Node | Grants | Default |
|---|---|---|
snuggle.maint.admin | Use every /maint command. | Nobody |
snuggle.maint.bypass.global | Join and move between servers during any maintenance. | Nobody |