Direct answer
Start server security with account authentication, limited exposed ports, least-privilege access, verified backups and safe plugin sourcing.
Step-by-step procedure
- Require authenticated Java accounts unless a properly configured proxy is handling public authentication; understand the consequences of
online-mode=falseon backends. - Use a whitelist while building; limit operator accounts and grant individual plugin permissions instead of distributing OP casually.
- Keep panel, OS, proxy, server and plugin software updated from official sources; remove abandoned plugins with unnecessary access.
- 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.
Related guides
Help us improve this article
Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.