Skip to content
Bicore Logo
BICORE
Shyam StudioMinecraft Best PvP & Economy Resources by Shyam StudioYou can also put ads by giving $5 per week

The Ultimate Minecraft Server Configuration Guide: Paper, Spigot, and Bukkit

A categorical breakdown of the best performance settings for your server.properties, bukkit.yml, spigot.yml, and paper configuration.

Reading time: 3 min read

The Ultimate Minecraft Server Configuration Guide

Hardware is only half the battle. To truly optimize a Minecraft server, you must tune the configuration files. This guide breaks down the most impactful settings across the four main configuration files used by PaperMC and its forks.

1. server.properties

The base configuration for all Minecraft servers.

  • view-distance: 7-8. Lowering this reduces the number of chunks sent to players.
  • simulation-distance: 4. This is the most impactful setting. It limits the distance at which entities and blocks (like crops) actually tick.
  • network-compression-threshold: 256. If you are behind a proxy like BungeeCord or Velocity on the same machine, set this to -1.

2. bukkit.yml

Controls fundamental world and entity spawning settings.

  • spawn-limits:
    • monsters: 20
    • animals: 5
    • ambient: 1
    • Reduced limits allow for more players without exceeding the global mob cap.
  • ticks-per.monster-spawns: 10. Increasing this (default is 1) reduces how often the server tries to spawn new monsters.

3. spigot.yml

Focuses on entity activation and tracking.

  • entity-activation-range:
    • animals: 16
    • monsters: 24
    • villagers: 16
    • This stops entities from "doing stuff" until a player is within this range.
  • mob-spawn-range: 4. Limits how many chunks away from a player a mob can spawn.
  • merge-radius:
    • item: 3.5
    • exp: 4.0
    • Groups dropped items and XP orbs together to reduce the total number of entities.

4. Paper (paper-world-defaults.yml)

Advanced, high-impact optimizations.

  • max-entity-collisions: 2. Prevents entities from processing thousands of collision checks in crowded farms.
  • despawn-ranges:
    • monster.hard: 72
    • monster.soft: 30
    • Clears distant mobs faster to free up the mob cap.
  • per-player-mob-spawns: true. Ensures each player gets a fair share of mob spawns, making the survival experience feel consistent regardless of other players' farms.

5. Purpur (Optional: purpur.yml)

If you're using Purpur or a fork like LeafMC, tune these:

  • lobotomize-villagers: true. Strips AI from villagers that can't pathfind, drastically reducing CPU usage in trading halls.
  • alternate-keepalive: true. Helps prevent players with poor connections from being timed out.

Conclusion

Optimization is a balancing act. Start with these recommended values and monitor your server's MSPT (Milliseconds Per Tick) using /mspt or /spark profiler open --timeout 120. Adjust based on your specific player base and gameplay needs.


Detailed Guide

For a complete, in-depth breakdown of every single performance-impacting setting, we highly recommend checking the official Minecraft Optimization Guide on GitHub.

IMPORTANT

Always pre-generate your world usingChunky before inviting players. No amount of config tuning can save a server from multiple players exploring ungenerated terrain at once.

Related posts