Minecraft Server Optimization Guide

Server Optimization

This guide is based on the comprehensive Minecraft server optimization guide from GitHub. It covers essential settings for Paper servers to improve performance.

  1. Server JAR
    Use Paper or Purpur for the best performance. Avoid outdated software like Bukkit or Spigot. For vanilla servers, set sync-chunk-writes to false in server.properties.
  2. Map Pre-generation
    Pre-generate your world using plugins like Chunky to avoid lag from chunk generation. Set world borders to prevent new chunk loading.
  3. Networking (server.properties)
    Set network-compression-threshold to 256. For internal networks, set to -1 to disable compression.
  4. Chunks (server.properties)
    Set simulation-distance to 4 and view-distance to 7. This reduces the load while keeping visibility.
  5. Mobs (bukkit.yml)
    Lower spawn-limits: monsters to 20, animals to 5. Increase ticks-per for spawns to reduce frequency.
  6. Mobs (spigot.yml)
    Set mob-spawn-range to 3. Lower entity-activation-range and entity-tracking-range to reduce active mobs.
  7. Mobs (paper-world config)
    Enable per-player-mob-spawns. Set max-entity-collisions to 2. Adjust despawn-ranges for faster mob clearing.
  8. Misc (spigot.yml)
    Set merge-radius for items to 3.5 and exp to 4.0. Increase hopper-transfer and hopper-check to 8 for better performance.
  9. Misc (paper-world config)
    Use ALTERNATE_CURRENT for redstone-implementation. Enable optimize-explosions. Set alt-item-despawn-rate for common items.
  10. Java Startup Flags
    Use Aikar's flags or flags.sh for optimal JVM settings to reduce lag spikes.
  11. Measuring Performance
    Use /mspt command. Install Spark plugin for detailed profiling.