Tuning performance
Most "lag" is one of three things: not enough RAM, too much view distance, or a bad plugin. Work through this list.
1. Use Aikar's flags
Panel → Startup → Additional JVM Arguments (or the JAVA_FLAGS variable) and use Aikar's flags. They tune garbage collection for Minecraft specifically and are the single biggest free win.
2. Lower view distance
In server.properties:
view-distance=6
simulation-distance=4Family/friend servers rarely need more. Each step up multiplies CPU work.
3. Trim plugins
Run /timings report (Paper) or use spark:
/spark profiler start
# ... let it run 60s ...
/spark profiler stopThe report names the exact plugin or entity type eating your tick time.
4. Pre-generate your world
Exploring generates terrain live, which spikes CPU. Use Chunky to pre-generate the area your players actually use.
5. Check the panel graphs
Panel → Console/Resources — if RAM is pinned at 100% and you see Can't keep up, you need a bigger plan. Upgrade here →
TIP
Purpur gives you extra tuning toggles on top of Paper with no downside for most servers.