Ender Dragon unbeatable due to server lag

Back to Minecraft

Ender Dragon unbeatable due to server lag

Diagnosis: Server lag or client lag?

Are you experiencing problems defeating the Ender Dragon due to server lag? The combination of low TPS (ticks per second), high latency, and the resource-intensive Ender Dragon fight can make the battle impossible or unfair. This article provides concrete solutions for both acute and structural performance problems.

Diagnosis: Server lag or client lag?

Before you start optimizing, first determine where the problem lies:

Server-side lag (this article focuses on this):

  • TPS (ticks per second) below 20 (check with /tps or /spark tps)
  • All players experience lag simultaneously
  • Mobs move jerkily for everyone
  • Blocks break with delay for all players

Client-side lag:

  • Low FPS for individual players
  • Other players experience no problems
  • Only visual stuttering, no gameplay delay

Immediate temporary solutions

Step 1. Restart the server before the Dragon fight

A fresh server start has no memory leaks or accumulated entities. Access via the game panel at https://game.ping64.net → select your server → click "Restart".

Step 2. Pre-load the End chunks

Teleport to the End and let the chunks load before players arrive:

/execute in minecraft:the_end run tp @s 0 64 0

Walk a circle of approximately 200 blocks around the spawn platform to force chunks.

Step 3. Remove unnecessary entities in the End

/execute in minecraft:the_end run kill @e[type=!player,type=!ender_dragon,type=!end_crystal]

Structural optimizations

1. Lower view distance

Edit the server.properties file via the File Manager in the game panel:

view-distance=6
simulation-distance=4
  • view-distance: How far players can see chunks (default 10)
  • simulation-distance: How far mobs/redstone are active (default 10)

For Dragon fight minimum:

  • view-distance: 6-8
  • simulation-distance: 4-6

2. Use Paper or Purpur server software

Paper and Purpur are optimized Spigot forks with better performance.

Advantages:

  • Better entity tracking
  • Async chunk loading
  • Configurable mob AI optimizations

3. Optimize End dimension specifically

If you're using Paper or Purpur, edit config/paper-world-defaults.yml:

entities:
  behavior:
    ender-dragons-death-always-places-dragon-egg: true
  spawning:
    all-chunks-are-slime-chunks: false
    alt-item-despawn-rate:
      enabled: true
    per-player-mob-spawns: true
    
chunks:
  auto-save-interval: 300  # Increase for less disk I/O during fight
  delay-chunk-unloads-by: 10s
  
environment:
  treasure-maps:
    enabled: false  # Reduces chunk loading

4. Reduce mob AI complexity

Edit bukkit.yml:

ticks-per:
  monster-spawns: 4  # Increase from 1 to 4
  animal-spawns: 400
  water-spawns: 400
  water-ambient-spawns: 400
  ambient-spawns: 400

Minecraft version specific problems

Versions 1.19 and higher

Versions from 1.19 onwards have significantly higher resource requirements due to:

  • Chat signing system
  • Improved entity collision detection
  • Warden AI (even though it's not in the End)

Recommendation: Consider downgrading to 1.18.2 or upgrading to 1.20.4 or higher (contains optimizations).

Versions 1.20.5 and higher: Dragon fight bug

There is a known bug where the Dragon can get stuck in perching state.

Workaround:

/data merge entity @e[type=ender_dragon,limit=1] {DragonPhase:0}

This resets the Dragon AI to "circling" phase.

Check server resources

RAM usage

The End fight requires at least 2GB free RAM during the battle.

Check RAM via:

  • Game panel dashboard
  • In-game: /spark heapsummary

Too little RAM?

CPU bottleneck

The Dragon AI is single-threaded and CPU-intensive.

Check with Spark profiler:

  1. Install the Spark plugin
  2. Start profiling: /spark profiler start
  3. Fight Dragon for 2-3 minutes
  4. Stop profiling: /spark profiler stop
  5. Analyze the URL: Look at "Tick" percentage of EnderDragon.aiStep()

If Dragon uses >30% of tick time:

  • Consider lowering Dragon health with a datapack
  • Or use a plugin for simplified Dragon AI

Common problems

"TPS is 20 but Dragon still responds slowly"

This is likely an MSPT (milliseconds per tick) problem:

  • Check /spark tps → look at MSPT value
  • If MSPT >45ms: Ticks are being "skipped" internally
  • Solution: Follow structural optimizations above

"Server crashes during Dragon fight"

Crash logs can be found in the game panel under the logs section.

Common causes:

  1. OutOfMemoryError: Too little RAM → upgrade or optimize
  2. Watchdog crash: Tick took >60 seconds → lower simulation-distance drastically
  3. Plugin conflict: Disable plugins and test incrementally

"Dragon doesn't regenerate via End Crystals"

Not a lag problem, but a game mechanic bug in some versions.

Fix:

/data merge entity @e[type=end_crystal,limit=1,sort=nearest] {BeamTarget:{X:0,Y:128,Z:0}}

Ensures crystals beam to Dragon portal pillar.

Monitoring during fight

Use these commands to follow live performance:

/spark tps  # Check every 30 seconds
/spark tickmonitoringstart  # Warns of long ticks
/minecraft:debug start  # Vanilla profiling (stop after 10 sec)

Target values:

  • TPS: 19-20
  • MSPT: <45ms
  • RAM usage: <80% of total

Preventive measures

Pre-fight checklist:

  1. Server restart
  2. /kill @e[type=item] (remove dropped items)
  3. Ensure <15 players in End simultaneously
  4. Disable non-essential plugins temporarily

Post-fight cleanup:

/execute in minecraft:the_end run kill @e[type=item]
/execute in minecraft:the_end run kill @e[type=experience_orb]

Scheduled restarts:

Set daily restarts at 4:00 AM via the game panel to prevent memory leaks.

Final note

If no optimization helps and your server continues to lag during Dragon fights, contact Etheron support via https://mijn.etheron.nl with:

  • Your server package details
  • Spark profiler URL from during fight
  • Number of concurrent players during fight
  • Minecraft version and server software

They may be able to apply backend optimizations or discuss hardware upgrade options.


Need help? Contact us via support.etheron.nl

Julian
Updated on: 09/09/2026
Was this article helpful?