ULTIMATE GUIDE TO MINECRAFT SERVER OPTIMIZATION – BOOST PERFORMANCE BY 500%!
- HolyHosting

- Oct 8
- 4 min read
Remember that Forge servers have a separate guide. This guide is based on https://paper-chan.moe/paper-optimization/, and we give full credit to its creator(s). Without further ado, let’s dive into the guides. We strongly recommend going through each option step by step, and if you encounter any issues while applying any of the fixes, the Discord community is there to help you.
| 🌏 Pre-generate Terrain
Generating new chunks in Minecraft consumes a significant amount of resources, so it’s recommended to pre-generate your map if you’re launching a new world/server.
If your server is a Survival world, it’s recommended to pre-generate between 5,000 and 10,000 blocks from your spawn point. This helps reduce stress on launch day and allows you to spot any generation errors before the official launch.
Get Chunky and ChunkyBorder
Chunky is the easiest pre-generation plugin, and when combined with ChunkyBorder, it allows you to customize the border shapes to your liking.
Please be careful when selecting a border limit; the file size will grow exponentially as you expand the boundary, which could cause issues with storage and backups later on.
|🔎 Render Distance
Simulation distance determines how much of the environment is actively running around the player. View distance determines how many blocks (terrain) are visible to the player. Check the "🦗 Optimizing YML Files" section to learn how to adjust it.
Simulation distance has a significant impact on performance, so setting a lower value will help keep your server much better optimized. The default value for Vanilla Minecraft is 10, and most farm designs on YouTube are based on this setting. Reducing it will affect those farms. We recommend keeping it between 4 and 6. Lower than that can improve performance in high-lag environments, while higher values may cause lag when exploring the world with elytras or when many players are exploring simultaneously.
View distance determines how many blocks of terrain are visible and doesn’t impact performance as much as simulation distance. We recommend setting it equal to the simulation distance.
|🦗 Optimizing YML Files
Below, we’ll provide the values to edit, which help with optimization without affecting gameplay in general. If you experience issues with automatic farms or spawners, for example, after editing these files, we recommend reverting them to their default values. However, we have tested each setting, and none of them affected their functionality.
📋 server,properties (Essential Settings to Edit)
view-distance=5 simulation-distance=5 allow-flight=true
📋 bukkit.yml (Essential Settings to Edit)
spawn-limits:
monsters: 20
animals: 5
water-animals: 2
water-ambient: 2
water-underground-creature: 3
axolotls: 3
ambient: 1
ticks-per:
monster-spawns: 10
animal-spawns: 400
water-spawns: 400
water-ambient-spawns: 400
water-underground-creature-spawns: 400
axolotl-spawns: 400
ambient-spawns: 400
autosave: 6000
📋 spigot.yml (Essential Settings to Edit)
view-distance: 5
simulation-distance: 5
mob-spawn-range: 3
entity-activation-range:
animals: 16
monsters: 24
raiders: 40
misc: 8
water: 8
villagers: 16
flying-monsters: 40entity-tracking-range:
players: 32
animals: 32
monsters: 32
misc: 24
other: 32tick-inactive-villagers: false
nerf-spawner-mobs: true
📋 config/paper-world-defaults.yml (Essential Settings to Edit)
despawn-ranges:
ambient:
hard: 48
soft: 24
axolotls:
hard: 48
soft: 24
creature:
hard: 48
soft: 24
misc:
hard: 48
soft: 24
monster:
hard: 48
soft: 24
underground_water_creature:
hard: 48
soft: 24
water_ambient:
hard: 48
soft: 24
water_creature:
hard: 48
soft: 24
per-player-mob-spawns: true
max-entity-collisions: 2
update-pathfinding-on-block-update: false
fix-climbing-bypassing-cramming-rule: true
armor-stands.tick: false
armor-stands.do-collision-entity-lookups: false
tick-rates:
behavior:
villager:
validatenearbypoi: 60
acquirepoi: 120
sensor:
villager:
secondarypoisensor: 80
nearestbedsensor: 80
villagerbabiessensor: 40
playersensor: 40
nearestlivingentitysensor: 40optimize-explosions: true anti-xray:
enabled: false
|🤖 Spark Profiler Performance Diagnostic Tool (commands) (download)
The Spark profiler can provide insights into potential performance issues on your server.
If you need to request help, it’s useful to have a Spark report that captures the performance problem ready, so contributors on our Discord can assist you with your server issues. |🖥️JVM Arguments – "Aikar’s JVM Flags" Aikar’s flags are arguments used to optimize your server and are added to your server’s startup command. On hosting platforms like HolyHosting, for security reasons, clients are not allowed to edit them manually. Instead, you should submit a support ticket, and a team member will be happy to apply them for you. Remember to include your server version (e.g., Paper 1.20.4 or Forge 1.18.2). |✅ Recommended Plugins Installing plugins to optimize performance isn’t the best practice, but it provides a simple and effective way to solve various performance-related issues without spending hours or needing advanced programming knowledge. Some of the most notable ones include:
WorldGuard: This plugin features a function to significantly reduce lag and increase TPS. Running the "/stoplag" command will limit the server’s tasks to the maximum, which may affect gameplay, so use it responsibly.
https://dev.bukkit.org/projects/worldguard
Chunky: Plugin for pre-generating terrain. It is essential for Survival-style servers.
https://modrinth.com/plugin/chunky
Spark: Plugin to monitor your server’s performance. Ideal for identifying what’s causing lag by analyzing a profiler. See the full Spark guide. https://www.spigotmc.org/resources/spark.57242/ Conclusion
With just a few simple steps, you can protect your valuable inventory and experience points in Minecraft—whether you're playing solo or with friends.We hope you found this guide helpful! 🚀 If you have any questions, feel free to ask in the HolyHosting Discord or reach out to our support team.

Stuffy @ HolyHosting

















