Direct answer

A maintenance window should have a defined start and end, a known-good backup, an owner for the change, an acceptance test and a clear rollback decision.

Recommended procedure

  1. List the exact JARs, plugins, configs and worlds affected. Choose a low-traffic period and communicate the expected interruption to players.
  2. Collect a baseline: server build, Java version, startup log, active plugins and spark measurements if performance may be affected.
  3. Test the proposed change on staging, then back up production during an offline or otherwise consistent snapshot window.
  4. Stop the running server before replacing JARs, apply the smallest documented change, restart and verify logs plus representative player actions.
java -version
/spark tps

Why this matters

Reserve time for a restore test, not just the change itself. Define in advance which symptoms trigger rollback (world errors, lost permissions or major tick regression).

How to verify the result

Run the acceptance checklist: can players connect, are worlds and inventories intact, do critical plugins work, and has MSPT remained comparable? Publish a short change summary.

Version and compatibility notes

Do not let an automated restart or update process unexpectedly race against maintenance. Use documented procedures for your hosting panel or systemd service.

Official references

Was this article helpful?
Help us improve this article

Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.

What could we improve?
Do not include passwords, server IPs, or other private information.0 / 1000