Direct answer

Protect your world and credentials with least-privilege filesystem permissions, separate backups and controlled access to hosting panels or SSH.

Step-by-step procedure

  1. Run the Java server under a dedicated unprivileged OS account, not root or Administrator whenever possible.
  2. Restrict write access to the instance, especially server.properties, plugin configs, forwarding secrets, backup credentials and databases.
  3. Enable multi-factor authentication on the hosting account where supported; use SSH keys instead of shared passwords for administration.
  4. Store backups outside the live server directory and test that the backup account cannot silently alter production data.

Common mistakes and trade-offs

Never put database passwords, bot tokens or Velocity forwarding secrets into public repositories, issue screenshots or logs uploaded to strangers.

How to verify it worked

From a low-privilege test account, check that production secrets cannot be read; confirm the Minecraft service can still write its intended world and log files.

Version and platform differences

Linux file permissions and Windows ACLs require different commands; do not apply recursive ownership changes to unrelated directories.

Official references

These sources were checked for the current MSH revision. Version-sensitive details should always be confirmed against the project documentation for the release you run.

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