<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Minecraft Server Optimization Guide</title>
<style>
body{
font-family: Arial, Helvetica, sans-serif;
line-height:1.6;
background:#ffffff;
color:#111;
max-width:900px;
margin:auto;
padding:20px;
}
h1,h2,h3{
color:#0b5cff;
margin-top:30px;
}
code{
background:#f4f4f4;
padding:2px 6px;
border-radius:4px;
}
pre{
background:#0d1117;
color:#e6edf3;
padding:15px;
border-radius:8px;
overflow:auto;
}
ul{
margin-left:20px;
}
.box{
background:#f1f6ff;
border-left:4px solid #0b5cff;
padding:12px;
margin:15px 0;
}
</style>
</head>
<body><h1>Minecraft Server Optimization Guide</h1>
<p><strong>Updated for Minecraft 1.21.8</strong></p><p>The definitive guide to squeezing every bit of performance from your Minecraft server.
From Paper configurations to Java flags, understand what each option does and how it affects gameplay.</p><h2>Introduction</h2>
<p>There will never be a guide that will give you perfect results. Each server has different needs.
Optimization always depends on hardware, plugins, player count and gameplay style.</p><div class="box">
<strong>Important:</strong> As your server world grows older and players progress, performance impact increases.
Optimization should be done regularly.
</div><h2>Preparations</h2><h3>Choosing Server Software</h3>
<ul>
<li><strong>Paper</strong> – Highly optimized and most recommended</li>
<li><strong>Purpur</strong> – Paper fork with extra gameplay controls</li>
</ul><h3>Avoid Using</h3>
<ul>
<li>Paid async server jars</li>
<li>Very old Spigot / Bukkit builds</li>
<li>Plugin reload managers</li>
</ul><h3>Pregenerate Your Map</h3>
<p>Chunk generation is the heaviest lag source. Always pre-generate terrain
(5k–10k block radius) before opening server to players.</p><h2>View Distance & Simulation Distance</h2>
<ul>
<li><strong>simulation-distance</strong> → controls mob AI, farms & redstone ticking</li>
<li><strong>view-distance</strong> → controls visible terrain & RAM usage</li>
</ul><h2>Mob Spawn Mechanics</h2>
<ul>
<li>Default View Distance: 10</li>
<li>Default Simulation Distance: 10</li>
<li>Mob Spawn Range: 8 chunks</li>
<li>Soft Despawn Range: 32 blocks</li>
<li>Hard Despawn Range: 128 blocks</li>
<li>No Spawn Radius: 24 blocks</li>
</ul><h2>Recommended Configuration</h2><h3>server.properties</h3>
<pre>
simulation-distance=4
view-distance=7
network-compression-threshold=256
sync-chunk-writes=false
</pre><h3>bukkit.yml</h3>
<p>Lower mob spawn limits can greatly improve performance but reduce farm efficiency.</p><h3>spigot.yml</h3>
<pre>
mob-spawn-range=3
entity-activation-range:
animals: 16
monsters: 24
raiders: 32
merge-radius:
item: 6.0
exp: 8.0
nerf-spawner-mobs=true
</pre><h3>paper-world-defaults.yml</h3>
<pre>
despawn-ranges:
soft: 28
hard: 96
delay-chunk-unloads-by: 10s
max-auto-save-chunks-per-tick: 8
prevent-moving-into-unloaded-chunks: true
use-alternate-current: true
</pre><h3>paper-global.yml</h3>
<pre>
max-joins-per-tick: 3
packet-limiter:
incoming-packet-threshold: 300
</pre><h2>Anti-Xray</h2>
<p>Enable Paper anti-xray engine-mode 2 for better security against x-ray cheats.
This increases CPU usage slightly.</p><h2>Java Optimization</h2>
<ul>
<li>Use latest LTS version (Java 21 recommended)</li>
<li>Set Xms and Xmx equal</li>
<li>Avoid allocating excessive RAM</li>
</ul><h3>Example JVM Flags</h3>
<pre>
-Xms8G
-Xmx8G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
</pre><h2>Performance Monitoring Tools</h2>
<ul>
<li>Spark Profiler</li>
<li>Paper Timings Report</li>
<li>/tps command</li>
</ul><h2>Things You Should Avoid</h2>
<ul>
<li>/reload command usage</li>
<li>Mob stacking plugins</li>
<li>ClearLag style plugins</li>
<li>Too many heavy plugins</li>
</ul><h2>Common Optimization Mistakes</h2>
<ul>
<li>No world border set</li>
<li>Oversold cheap hosting</li>
<li>Ignoring MSPT values</li>
<li>Not pre-generating map</li>
</ul><h2>Security Tweaks</h2>
<ul>
<li>Limit armor stand collisions</li>
<li>Reduce max book size</li>
<li>Set entity collision limits</li>
<li>Enable packet rate limiter</li>
<li>Restrict treasure map generation</li>
</ul><h2>Conclusion</h2>
<p>Minecraft server optimization is not a one-time setup.
Continuous monitoring, tuning and hardware scaling ensures smooth gameplay experience.</p></body>
</html>