Java Server Guide
Spigot, Paper and Folia setup on Lunify — from install to tuning for 100+ players.
1. Pick your software
Vanilla: lowest overhead, no plugins.
Spigot / Paper: plugin support, fast and well-tested. Choose Paper unless you need a Spigot-only plugin.
Folia: regionised multithreading for huge player counts. Plugins must be Folia-compatible.
2. JVM flags
Use Aikar’s flags for 4 GB+ servers. In the control panel → Startup tab, set:
-Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200
Match -Xms and -Xmx to avoid heap resizing.
3. View distance and simulation
In server.properties: view-distance=8 simulation-distance=6
Lower view distance first if TPS drops. Players further than simulation-distance don’t get entity updates.
4. Plugins that pay for themselves
LuckPerms (permissions), ViaVersion (cross-version play), CoreProtect (rollback), EssentialsX (quality of life), GeyserMC (Bedrock bridge). Avoid duplicate functionality — running two chat managers will conflict.
5. Monitoring TPS
Run /tps in-game or use spark (./spark profiler) to find slow plugins. Below 18 TPS indicates a problem; below 15 means it needs fixing now.