Skip to content
Back to Guides
8 min read

How to Secure a Minecraft Server

A practical hardening checklist covering who joins, who runs commands, how you recover, and what the hosting layer protects.

By Lodgichost Team · Last updated: August 19, 2026

Running a live Minecraft server means exposing a world to the internet, and the real threats are rarely in-game griefing. They are identity theft, stolen operator accounts, and outdated plugins with known exploits. A standard toolset handles all of them: a strict whitelist, a minimal ops.json, a permission plugin like LuckPerms, and a rollback-capable block logger. This guide walks through a hardening checklist for a single afternoon. Each step is concrete, takes under ten minutes, and together they close the failure points that get servers wiped.

Auth and Admins

Control entry first. Turn on the whitelist and add only players you trust. The list lives in whitelist.json and is managed from console. Operator status is far more dangerous: whitelist only decides who joins, while ops.json is the master list of players who bypass all permission checks and can run /ban, /op, and more. Keep it to a tiny set of names, ideally just yourself. Confirm server.properties keeps online-mode=true; with it false, any client can join under any name, letting strangers claim your username and clear your base.

[
  {
    "uuid": "2f4a9c1d-...",
    "name": "yourname",
    "level": 4
  }
]
  • Run /whitelist on, then add friends with /whitelist add <name>.
  • Verify ops.json holds only trusted accounts.
  • /deop <name> as soon as you revoke access.
  • Keep online-mode=true enabled at all times.

Permissions Control

Whitelisted players still have no reason to hold every command. Install LuckPerms and replace raw operator status with groups. Give the default group only harmless permissions, add a moderator group with kick and ban, and keep one admin tier. Never promote a stranger to operator on a support ticket. LuckPerms stores data in YAML or your MySQL database, and group changes apply live when you run /lp sync.

lp group default permission set minecraft.command.spawn true
lp group moderator create
lp group moderator permission set minecraft.command.ban true
lp user steve parent add moderators
lp sync

Anti-Cheat and Logging

The strongest safety net is a block logger with rollback. CoreProtect records every block change, chest access, and player action with timestamps and undoes damage in minutes. Install it before players arrive, not after the first grief. Paper ships movement anti-cheat you can extend with extra checks. Keep server logs enabled and review them on a schedule.

  • Install CoreProtect and verify events with /co inspect.
  • Undo grief with /co rollback t:<name> t:-1d.
  • Restore a chest with /co restore c:<name>.
  • Match anti-cheat and logger versions to your Paper release.

Backups and Restore

A backup you have never restored is an assumption. Use the panel's automatic daily snapshot as your baseline, and keep one copy outside the host by downloading the world zip weekly. Snapshot manually before every plugin or config change, so a bad update is one click from undone. Because backups live at the hosting layer, a corrupt world, a griefed spawn, or a wiped server is a restore away, not a restart from zero.

  • Enable automatic daily snapshots in the panel.
  • Download a world copy weekly for peace of mind.
  • Snapshot before any plugin or config change.
  • Test a full restore once a quarter.

DDoS and Layer Protection

A volumetric DDoS attack cannot be stopped by anything inside the server; the provider's network and filtering absorb it upstream. Your job is to keep the server on that protected network, secure panel credentials, and never scatter your raw IP, since a circled address invites floods. For extra mitigation, route players through a proxy like Velocity or use the provider's filtered front-end. The full trade-offs are in the dedicated DDoS protection guide.

  • Keep the server on the provider's protected network.
  • Never expose your raw IP anywhere.
  • Use a proxy like Velocity on bigger networks.
  • Confirm the provider's DDoS limits match your size.

Ongoing Audit

Security is a habit, not a one-time setup. Most takeovers come from unpatched Paper builds or plugins with known exploits. Update Paper and every plugin on release, and read the release notes for security fixes. Audit your admin list and whitelist monthly, scan logs for repeated failed logins, and disable unused features. RCON stays off by default and only turns on when needed, behind a strong password and a firewall rule, and command blocks stay disabled unless a map needs them.

  • Update Paper and plugins promptly after each release.
  • Review ops.json and the whitelist monthly.
  • Scan recent logs for suspicious activity.
  • Keep RCON and command blocks off unless in use.

Troubleshooting

  • A whitelisted player still cannot join: re-add them with the exact in-game name (case-sensitive), then /whitelist reload.
  • Anyone can join despite the whitelist: /whitelist on only blocks new connections when enforce-whitelist=true is set, so enable that flag.
  • LuckPerms commands are unknown: the plugin did not load; check the console, confirm it matches your server version, and restart.
  • Server stutters after installing plugins: remove the heaviest plugins one at a time, confirm they match your Paper build, and raise memory.

FAQ

What is the difference between the whitelist and operator status?

The whitelist decides who may join at all. Operator status, stored in ops.json, lets a player bypass permission checks and run commands like /op and /ban. They are independent; whitelisting grants no admin power.

Is it safe to run the server with online-mode=false?

No. The server then trusts whatever username a client claims, so an attacker can log in as you, steal items, and /op their account. Keep online-mode=true unless you deliberately run a cracked server.

Should I give operator rank to my moderators?

No. Create a moderator group in LuckPerms and grant only the kick and ban they need. Operator is the master key and belongs only to accounts you fully control.

Does whitelisting work on modded servers?

Whitelisting works the same on Paper, Spigot, and Forge servers. Keep it enabled in server.properties, and on larger networks manage one master list through the proxy.

Can a plugin stop a DDoS attack?

No. Volumetric attacks overwhelm the network before the server sees a packet, so mitigation must happen at the hosting layer. Keep the server on the provider's protected IP and never announce your raw address.

Related Guides

This site uses cookies to improve your experience. Learn more.