Minecraft Server Best Practices

Pick the right server type, then a checklist for a fast, safe, well-backed-up server

Minecraft

4 min readIntermediateLast updated Oct 30, 2026

A checklist for a server that's fast, safe and easy to recover. Each item links to the guide that shows how.

Pick the right server type

Each type has its own setup and best-practice guide:

Server type Best for Runs Guide
Paper / Purpur Vanilla gameplay with plugins: survival, SMP, minigames, lobbies Bukkit/Spigot/Paper plugins Paper and Purpur
Fabric Light modding, and vanilla with performance mods Fabric mods Fabric
NeoForge Big modpacks on Minecraft 1.20.2 and newer NeoForge mods NeoForge
Forge Modpacks on 1.20.1 and older Forge mods Forge
Velocity Joining several servers behind one address Velocity plugins Velocity networks

Plugins and mods don't mix: a Paper server can't run mods, and a modded server can't run Paper plugins. Pick by what your players want to play, then the version your mods or plugins support.

Running a specific game mode (Skyblock, OneBlock, Chunklock, minigames, Prison, Factions, an advanced SMP and more)? See Minecraft game modes.

Backups

  • [ ] Automatic backups on a schedule, with a Create Backup task (a schedule with no tasks does nothing). Guide
  • [ ] At least one backup slot unlocked, so scheduled backups can rotate.
  • [ ] A locked backup before every update of Minecraft, plugins or mods. Guide
  • [ ] Your own copy of important milestones: Download them now and then.
  • [ ] Test a restore once, so you know it works before you need it.

Versions and updates

  • [ ] Pin the Minecraft version on Startup instead of leaving latest, so a reinstall never surprises you. Guide
  • [ ] Every server in a network on the same Minecraft version, where possible. ViaVersion bridges versions, but adds overhead and edge-case bugs.
  • [ ] Release builds of plugins and mods, not SNAPSHOT, dev or alpha builds.
  • [ ] One copy of each plugin/mod. Delete the old jar when you update (watch for name (1).jar duplicates).
  • [ ] Matching versions of shared plugins/mods across a network (e.g. the same Geyser, Floodgate, voice chat and Fabric API on every server).
  • [ ] Update one thing at a time and restart between each.

Memory

  • [ ] Leave headroom. Java uses memory beyond its heap (threads, native code, networking). The start command's -XX:MaxRAMPercentage should be about 75–85 % of the plan: lower on small plans, higher on large ones. 95 % leaves too little, and the server can be killed for going over its limit. Paper's guidance is to keep about 1–1.5 GB of a plan outside Java's heap.
  • [ ] Use Paper's recommended G1 flags ("Aikar's flags") on Paper/Purpur with 4 GB or more. They cut lag spikes from garbage collection. Ask us to set them on your plan.
  • [ ] Don't over-allocate. A small vanilla or Paper server for friends needs 3–4 GB; Fabric with performance mods about the same; big NeoForge/Forge modpacks 10–12 GB. More than you use doesn't help.

Performance

  • [ ] Paper or Purpur for plugin servers; Lithium + FerriteCore for Fabric. Guide
  • [ ] simulation-distance 4–6, view-distance 8–10. Guide
  • [ ] Pre-generate the world and set a world border. Guide
  • [ ] A daily restart with a warning (every 12 hours, or 6–8 on heavy modpacks). Guide
  • [ ] spark installed so you can profile lag when it happens. Guide

Security

  • [ ] Two-factor authentication on your panel account. Guide
  • [ ] online-mode=true on any server players join directly. false is only for back-ends behind a correctly set-up Velocity proxy. Guide
  • [ ] Sub-users instead of sharing your password, with only the permissions they need. Guide
  • [ ] Few ops. Use LuckPerms for moderators.
  • [ ] Plugins only from official pages (Modrinth, Hangar, SpigotMC, CurseForge, GitHub).
  • [ ] A whitelist on private servers. Guide
  • [ ] enable-rcon=false. The panel console does the same job without opening another port.
  • [ ] Grief logging (CoreProtect on Paper, Ledger on Fabric).

Networks (Velocity)

  • [ ] Modern forwarding with a secret, and every back-end set to accept only the proxy. Guide
  • [ ] Only the proxy port public. Back-end ports shouldn't be reachable from the internet.
  • [ ] Geyser once, on the proxy, with Floodgate on the proxy and back-ends. Guide
  • [ ] Voice chat on its own UDP port per server, forwarded by the proxy plugin. Guide

Article information

Category
Minecraft
Read time
4 minutes
Difficulty
Intermediate
Last updated
Oct 30, 2026