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.