Direct answer

Start server security with account authentication, limited exposed ports, least-privilege access, verified backups and safe plugin sourcing.

Step-by-step procedure

  1. Require authenticated Java accounts unless a properly configured proxy is handling public authentication; understand the consequences of online-mode=false on backends.
  2. Use a whitelist while building; limit operator accounts and grant individual plugin permissions instead of distributing OP casually.
  3. Keep panel, OS, proxy, server and plugin software updated from official sources; remove abandoned plugins with unnecessary access.
  4. Firewall proxy backends, database and remote console ports, and rehearse a restore from an off-server backup.

Common mistakes and trade-offs

A shared forwarding secret alone does not block direct network connections. Exposing RCON without strong restrictions adds an unnecessary attack surface.

How to verify it worked

Test from an unrelated internet connection: the public entry should respond, while private backend, database and panel endpoints are not exposed.

Version and platform differences

Security settings vary among Vanilla, Paper, Velocity and modded servers. Change one layer at a time and preserve a known-good configuration.

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