VALENTINE'S SALE-50% OFFwithLOVE50

Best Settings for a Lag-Free Minecraft Server

Optimize your Minecraft server configuration with the best settings for server.properties, spigot.yml, paper-world-defaults.yml, and more to eliminate lag and maintain 20 TPS.

Best settings for a lag-free Minecraft server

The best settings for a lag-free Minecraft server involve tuning view distance, simulation distance, entity activation ranges, mob spawn limits, and merge radius across your server.properties, spigot.yml, and paper-world-defaults.yml files. Combined with proper JVM flags, these changes can cut tick time in half without noticeably affecting gameplay.

Most server owners never touch these files beyond the basics. That's a mistake — the default values are designed for single-player, not multiplayer. Adjusting them for your actual player count and server type makes a massive difference in TPS.


Before You Start

Use Optimized Server Software

These settings assume you're running Paper or Purpur. Vanilla and Spigot don't expose most of the configuration options covered here. If you're still on Spigot or vanilla, switching to Paper is the single biggest performance upgrade you can make. See our Paper vs Spigot vs Fabric vs Forge comparison.

Benchmark First

Install Spark and run a profiler before making changes. This gives you a baseline to measure improvements against. Change settings in batches, restart, and compare — don't change everything at once.

Back Up Your Server

Before editing config files, make a full backup. A misconfigured setting can cause unexpected behavior that's hard to trace back to a specific change.


Server Properties

The main configuration file for every Minecraft server. These settings in server.properties have the broadest impact.

# Chunk render distance sent to clients
# Default: 10 | Recommended: 7-8
view-distance=8

# How far from players entities and blocks are actively ticked
# Default: 10 | Recommended: 4-6
simulation-distance=5

# Minimum packet size before compression (bytes)
# Default: 256 | Recommended: 512
network-compression-threshold=512

# Max milliseconds a tick can take before watchdog kills the server
# Default: 60000 | Recommended: 60000 (don't lower this)
max-tick-time=60000

# Blocks around spawn where non-ops can't build
# Default: 16 | Recommended: 0 (use WorldGuard instead)
spawn-protection=0

View distance vs simulation distance is the most important distinction here. View distance controls how far players can see — simulation distance controls how far the server actively processes entities and blocks. Keeping view distance moderate (7-8) while lowering simulation distance (4-6) gives players decent visibility without the server ticking unnecessary chunks.


Bukkit Configuration

Controls mob spawning rates and basic server behavior in bukkit.yml. Lower spawn limits reduce entity counts across the board.

spawn-limits:
  monsters: 50        # Default: 70
  animals: 8          # Default: 10
  water-animals: 3    # Default: 5
  water-ambient: 2    # Default: 20
  water-underground-creature: 3  # Default: 5
  axolotls: 3         # Default: 5
  ambient: 1          # Default: 15

tick-per:
  animal-spawns: 400    # Default: 400
  monster-spawns: 1     # Default: 1
  water-spawns: 1       # Default: 1
  water-ambient-spawns: 1  # Default: 1
  ambient-spawns: 1     # Default: 1

chunk-gc:
  period-in-ticks: 400  # Default: 600

Key changes: Reducing monsters from 70 to 50 and ambient from 15 to 1 removes a significant number of entities without players noticing a major difference. Bats (ambient) contribute nothing to gameplay and cost real tick time. The chunk-gc period controls how often unloaded chunks are cleaned from memory — a lower value frees memory faster.


Spigot Configuration

Spigot's spigot.yml handles entity behavior, merging, and activation ranges.

world-settings:
  default:
    # Combine nearby dropped items into stacks
    merge-radius:
      item: 4.0        # Default: 2.5
      exp: 6.0          # Default: 3.0

    # How far from players mobs can spawn
    mob-spawn-range: 6  # Default: 8

    # Distance at which entities get full AI ticking
    entity-activation-range:
      animals: 16        # Default: 32
      monsters: 24       # Default: 32
      raiders: 48        # Default: 48
      misc: 8            # Default: 16

    # Ticks between hopper transfers
    ticks-per:
      hopper-transfer: 8   # Default: 8
      hopper-check: 1      # Default: 1

    # Maximum TNT detonations per tick
    max-tnt-per-tick: 20   # Default: 100

Why these matter:

  • merge-radius — Larger merge radius means fewer item entities on the ground. Items that would normally be 10 separate entities become 1 stack. This alone can save hundreds of entity ticks on busy servers.
  • entity-activation-range — Entities outside this range get reduced AI processing. Lowering from 32 to 16-24 blocks means distant mobs don't waste CPU on pathfinding when no player is nearby.
  • mob-spawn-range — Tighter spawn range concentrates mobs closer to players, reducing the total spawn volume.
  • max-tnt-per-tick — Prevents TNT explosions from freezing the server. Lower values spread detonations across multiple ticks.

Paper World Defaults

Paper's paper-world-defaults.yml is where the most impactful performance settings live. These go beyond what Spigot offers.

entities:
  behavior:
    # Disable pillager patrols (optional, saves tick time)
    pillager-patrols:
      disable: false
      spawn-chance: 0.2
      spawn-delay:
        per-player: true
        ticks: 12000

  spawning:
    # How far from players mobs despawn
    despawn-ranges:
      monster:
        hard: 96          # Default: 128
        soft: 28          # Default: 32
      creature:
        hard: 96
        soft: 28
      misc:
        hard: 64
        soft: 28

    # Per-player mob spawning (huge improvement for multiplayer)
    per-player-mob-spawns: true  # Default: true (keep enabled)

chunks:
  # Chunks saved per autosave tick (spread I/O over time)
  max-auto-save-chunks-per-tick: 8  # Default: 24

  # Delay before newly unloaded chunks are eligible for removal
  delay-chunk-unloads-by: 10s       # Default: 10s

environment:
  # Use alternate redstone algorithm (reduces updates by 95%)
  redstone-implementation: ALTERNATE_CURRENT  # Default: VANILLA

  # Skip unnecessary explosion calculations
  optimize-explosions: true          # Default: false

  # Disable treasure map searches (extremely expensive)
  treasure-maps:
    enabled: true
    find-already-discovered:
      loot-tables: default
      villager-trade: true

  # Disable ice/snow ticking in unused chunks
  frosted-ice:
    delay:
      min: 20
      max: 40

tick-rates:
  # How often specific entities check behavior
  behavior:
    villager:
      validatenearbypoi: 60    # Default: -1
  sensor:
    villager:
      secondarypoisensor: 80   # Default: 40

Critical settings explained:

  • redstone-implementation: ALTERNATE_CURRENT — This is the single most impactful setting for servers with redstone. The alternate algorithm produces the same results as vanilla but skips redundant block updates, reducing redstone tick time by up to 95%.
  • optimize-explosions — Skips unnecessary raycasting during explosions. Noticeable improvement during Creeper spawns and TNT usage.
  • despawn-ranges — Tighter despawn ranges mean fewer mobs exist at any time. Mobs far from players serve no purpose — despawning them sooner saves tick time.
  • max-auto-save-chunks-per-tick — Lowering from 24 to 8 spreads disk writes across more ticks, preventing save-related lag spikes.
  • Villager tick rates — Villagers checking for workstations and points of interest is notoriously expensive. Increasing these intervals reduces how often they run those checks.

Purpur Configuration

If you're running Purpur (a Paper fork with extra options), these additional purpur.yml settings help.

world-settings:
  default:
    mobs:
      villager:
        # Disable AI for villagers with a claimed POI
        lobotomize:
          enabled: true
          check-interval: 100

        # Brain tick rate (higher = less frequent AI updates)
        brain-ticks: 2          # Default: 1

      zombie:
        # Aggressive toward villager scan rate
        aggressive-towards-villager-when-lagging: false

Villager lobotomization disables AI for villagers that have a claimed workstation and bed. They still trade and breed but stop pathfinding and wandering — the most expensive parts of their AI. This is a game-changer for servers with large trading halls.


JVM Startup Flags

How you launch the server matters as much as what's inside the config files. The default Java flags leave significant performance on the table.

These are the industry standard for Minecraft servers:

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

Key points:

  • Set -Xms and -Xmx to the same value — this prevents the JVM from constantly resizing the heap
  • G1GC (Garbage-First Garbage Collector) is optimized for Minecraft's memory patterns
  • Adjust the memory value based on your server's needs — see our RAM guide for recommendations

Settings That Hurt Gameplay

Not every performance setting is worth enabling. Some save tick time but degrade the player experience enough to cause complaints.

Be careful with:

  • Monster spawn limits below 30 — Survival becomes too easy when hostile mobs are rare. Find a balance between performance and challenge.
  • Entity activation range too low — Mobs that don't move or react until you're practically on top of them break immersion. Keep monster activation at 24+ blocks.
  • Disabling mob spawning categories entirely — Removing ambient or water mobs makes the world feel empty. Reduce counts instead of eliminating them.

The goal is a server that feels smooth and fun. A lag-free server that nobody wants to play on defeats the purpose.


Looking for hosting that's already optimized for performance? Check out Minecraft Server Hosting with tuned hardware and configuration built for smooth gameplay.


Frequently Asked Questions

What are the best server.properties settings for performance?

Set view-distance to 7-8, simulation-distance to 4-6, and network-compression-threshold to 512. These three changes alone reduce chunk processing and network overhead significantly.

Should I use Aikar's flags for my Minecraft server?

Yes. Aikar's JVM flags optimize garbage collection for Minecraft's specific memory usage patterns. They reduce lag spikes caused by GC pauses and are recommended for every server regardless of size.

What does simulation-distance do in Minecraft?

Simulation distance controls how far from each player the server actively ticks entities and blocks. Chunks within simulation distance get full processing — chunks outside it are loaded visually but not simulated. Lowering it reduces CPU usage substantially.

What is ALTERNATE_CURRENT redstone in Paper?

It's an optimized redstone algorithm that produces the same results as vanilla redstone but eliminates redundant block updates. It can reduce redstone-related tick time by up to 95%. Unless you're running a technical server that relies on quirky redstone behavior, enable it.

How do I reduce villager lag on my server?

Lower villager brain tick rates in paper-world-defaults.yml, increase the interval for POI validation, and if running Purpur, enable villager lobotomization. For plugin-based solutions, see our performance plugins guide.

Does lowering view distance reduce lag?

Yes, significantly. Each chunk within view distance must be loaded and sent to players. Reducing from 10 to 8 eliminates roughly 36% of loaded chunks per player. Combined with a lower simulation distance, this is one of the most effective changes you can make.

What's the difference between view distance and simulation distance?

View distance controls how far players can see — chunks are loaded and rendered but not fully processed. Simulation distance controls how far the server actively ticks entities, redstone, and block updates. You can have higher view distance with lower simulation distance to give players good visibility without the full processing cost.

How often should I change server settings?

Adjust settings when your TPS drops below 18-19 consistently. Use Spark to profile your server first, identify what's consuming the most tick time, then target those specific areas with config changes rather than changing everything blindly.

Ready to Start Your Own Game Server?

Put your knowledge to practice with our high-performance game server hosting.

Instant Setup
24/7 Support
DDoS Protected
Got Questions?

Frequently Asked Questions

Everything you need to know about our game server hosting. Can't find what you're looking for? Contact our support team.

How do I set up my game server?

Setting up your game server is simple and fast. After choosing your plan, follow our user-friendly setup guide, and your server will be up and running in minutes. We offer one-click modpack installation, automatic backups, and 24/7 support to ensure a smooth setup experience.

What kind of support do you offer?

We provide 24/7 expert support through live chat, ticket system, and knowledge base. Our knowledgeable team responds within 5 minutes on average and has 10+ years of experience managing game servers. We offer setup assistance, troubleshooting, and ongoing maintenance support.

What hardware do you use for hosting?

We offer two hardware tiers across our global datacenters. Our budget tier features AMD EPYC 7551 processors, while our performance tier uses the latest AMD Ryzen 9 7950X and 7950X3D processors. All servers feature NVMe SSD storage, DDR5 RAM, and dedicated CPU cores. Our infrastructure provides 99.9% uptime with full DDoS protection and automatic failover systems.

Can I add mods and plugins to my server?

Yes! We offer support for all popular server types including Forge, Fabric, and Paper for Minecraft, as well as mods for Rust, Valheim, and other games. You can install mods, modpacks, or plugins directly from our control panel. If you have any issues, our support team can help with installation and configuration.

Can I upgrade my server plan later?

Yes, you can upgrade or downgrade your server plan at any time with zero downtime. Our flexible scaling allows you to adjust RAM and CPU as your needs grow. Upgrades take effect immediately, and we prorate any billing changes to ensure you only pay for what you use.

What is your refund policy?

We offer a 7-day money-back guarantee on all hosting plans. If you're not completely satisfied with our service, you can request a full refund within the first week, no questions asked. We also offer prorated refunds for early cancellations after the initial period.

Do you offer DDoS protection?

Yes, all our servers include enterprise-grade DDoS protection at no extra cost. Our network can handle attacks up to 1Tbps and automatically filters malicious traffic. We use multiple layers of protection including rate limiting, traffic analysis, and real-time threat detection to keep your server running smoothly.

How fast is server setup?

Our servers are set up in under 10 minutes on average. We use automated provisioning systems and pre-configured templates to ensure instant deployment. Once your payment is confirmed, your server is automatically created, configured, and ready to play. No waiting, no manual setup required.

What locations do you offer?

We have datacenters in North America (Texas, Virginia, Canada), Europe (London, Germany, France, Finland), and more locations coming soon. All locations feature low-latency connections, high-speed internet, and redundant power systems. You can choose the location closest to your players for the best performance.

Do you offer automatic backups?

Yes, we provide automatic daily backups with 7-day retention at no extra cost. Backups are stored in separate datacenters for security and can be restored with one click. We also offer manual backup creation and custom backup schedules for all plans.
Support Team