This is a comprehensive Paper Minecraft server optimization guide covering configuration tuning for performance.
Pre-generate the world map with Chunky/ChunkyBorder before launching your server.
Don't go below simulation-distance 5, view-distance should be ≥ simulation-distance
Villagers are uniquely resource-heavy and uncapped by spawn-limits. Use plugins like VillagerLobotomizer or population controls (Available in Purpur by default)
Change redstone-implementation to ALTERNATE_CURRENT, this will optimize redstone implemenation.
CPU single-core performance matters more than RAM (10GB usually sufficient); MSPT (not TPS) is the real performance metric; modern JVM (21+) handles GC well by default, Aikar's flags or Generational ZGC are optional.
Mob-stacker plugins, "lag-fix" plugins like ClearLagg/ETF, allowing spawner relocation, datapacks with repeating functions, plugins from untrusted sources, auto-updating Paper builds, anti-Fabric plugins, disabling chat reporting, and over-reliance on anti-cheat plugins.