Server Hosting

Best Minecraft Server Settings for Performance in 2025

Optimize your Minecraft server with the best settings for server.properties, Paper config, and JVM flags. Reduce lag and maximize TPS for all player counts.

Game Server Hosting Host a Minecraft Server →

Why Server Settings Matter

The default Minecraft server configuration is designed for compatibility, not performance. Out of the box, view distances are too high, entity limits are too generous, and garbage collection is untuned. A few targeted configuration changes can dramatically improve your server’s TPS (ticks per second) and reduce lag spikes, especially as your player count grows.

This guide covers the most impactful settings across server.properties, Paper configuration, and JVM startup flags.

server.properties: The Foundation

These settings apply to every Minecraft server regardless of software.

simulation-distance

This is the single most impactful setting for server performance. It controls how far from each player the server actively simulates game logic including mob AI, redstone, crop growth, and block updates.

Recommended value: 4-6

The default of 10 is excessive for most servers. Setting simulation-distance to 4 or 5 handles roughly 80 percent of lag issues on its own. Players still see terrain at the view-distance range, but the server only ticks entities and blocks within the simulation distance.

view-distance

Controls how many chunks of terrain are sent to players for rendering. This is less performance-intensive than simulation-distance but does consume more RAM.

Recommended value: 8-10

Keep this higher than simulation-distance so players can see far without the server doing extra work. Reduce to 6-7 on servers with 30 or more players.

max-players

Set this to your actual expected player count plus a small buffer. Do not set it to 100 if you expect 15 players. Higher values increase the range of potential resource demands.

network-compression-threshold

Recommended value: 256

This compresses packets larger than the specified byte count. The default of 256 is appropriate for most servers. Setting it too low wastes CPU on compressing tiny packets.

Paper Configuration

If you run Paper (and you should for any plugin-based server), these configuration files provide fine-grained control.

paper-global.yml

chunk-loading.min-load-radius: 2 — Reduces the area that must be loaded around a player before they can interact with the world.

unsupported-settings.allow-permanent-block-break-exploits: false — Keep this false to prevent vanilla bugs from being exploited for griefing.

paper-world-defaults.yml

chunks.max-auto-save-chunks-per-tick: 8 — Limits how many chunks the server saves per tick during autosave. Prevents lag spikes from large world saves.

entities.spawning.per-player-mob-spawns: true — Distributes mob spawning per player rather than globally. Prevents one player in a mob farm from consuming the entire server’s mob cap.

environment.optimize-explosions: true — Uses a faster algorithm for explosion calculations. No gameplay difference, significant performance gain during TNT and creeper events.

misc.redstone-implementation: ALTERNATE_CURRENT — Replaces the vanilla redstone engine with a significantly faster alternative. Vanilla redstone calculates updates inefficiently, and ALTERNATE_CURRENT fixes this without changing behavior for the vast majority of redstone builds.

Spawn Rate Tuning

In paper-world-defaults.yml under entities.spawning.spawn-limits:

CategoryDefaultRecommended
monsters7050
animals108
water-animals53
water-ambient2010
ambient155

Lower mob caps reduce the number of entities the server must process each tick. Players rarely notice the difference, but the server benefits significantly.

JVM Flags: Memory and Garbage Collection

The Java Virtual Machine flags you use when starting your server affect memory management and garbage collection pauses.

java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC -XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1 -jar paper.jar --nogui

Key Principles

Set Xms equal to Xmx. Allocating the same minimum and maximum memory prevents the JVM from constantly resizing the heap, which causes lag spikes.

Use G1GC. The G1 garbage collector is the best general-purpose choice for Minecraft servers. It balances throughput with pause time effectively.

Do not over-allocate RAM. Giving a server 16 GB when it only uses 4 GB means the garbage collector has to scan more memory, leading to longer GC pauses. Allocate based on actual need.

Pre-Generation: The Overlooked Optimization

Generating new chunks is one of the most CPU-intensive operations a Minecraft server performs. When players explore new territory, the server must calculate terrain, structures, biomes, and mob spawns in real time.

Install the Chunky plugin and pre-generate a reasonable area around spawn before opening your server to players. A 5000-block radius covers most early-game exploration and eliminates chunk generation lag entirely within that area.

/chunky radius 5000
/chunky start

Monitoring Performance

Install the Spark profiler on your server. It works on Paper, Fabric, Forge, and nearly every other server platform. Use it to identify exactly what is causing performance issues rather than guessing.

Run /spark tps to check your current ticks per second. A healthy server maintains 20 TPS consistently. Run /spark profiler to generate a detailed report of what is consuming CPU time.

Quick Reference Checklist

  • Set simulation-distance to 4-6
  • Set view-distance to 8-10
  • Enable ALTERNATE_CURRENT redstone in Paper
  • Enable per-player mob spawns
  • Lower mob spawn limits
  • Pre-generate chunks with Chunky
  • Match Xms and Xmx in JVM flags
  • Use G1GC garbage collector
  • Install Spark for ongoing monitoring

Let Us Handle the Optimization

Tuning a server takes time and testing. Reactor’s Minecraft hosting comes pre-configured with optimized settings and runs on high-performance hardware with SSD storage and dedicated CPU cores. You get full access to all configuration files if you want to fine-tune further, plus automatic backups and a web console for easy management. Focus on building your community while the infrastructure takes care of itself.

Tags: minecraftserver-settingsperformancepaperoptimizationserver-hosting

Ready to host your game server?

Reactor offers instant setup, European hardware, full mod support, and 24/7 uptime. Starting at just €4.40/month.

Browse Game Servers →

Related Posts