Minecraft
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 Backuptask (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).jarduplicates). - [ ] 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:MaxRAMPercentageshould 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-distance4–6,view-distance8–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=trueon any server players join directly.falseis 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
