Problem nedir?

Sunucu normalde akıcı çalışıyor ama arada 2–5 saniyelik donmalar yaşanıyor, sonra devam ediyor. Oyuncular anlık "teleport" yaşıyor, mobiler sıçrıyor. Bu ani donmalar (lag spike) genellikle GC pause, chunk save veya backup kaynaklıdır.

Bu hataya genelde ne sebep olur

  • ! Stop-the-world GC pause — heap boyutu uygunsuz ya da GC flag'leri eksik
  • ! Chunk save spike — otomatik save sırasında tüm modifiye chunk'lar aynı anda diske yazılıyor
  • ! Backup aktif — tar/zip çalışırken disk IO doluyor, main thread yazmaya bekliyor
  • ! RAM swap — fiziksel RAM yetmediği için kernel disk'e swap yapıyor
  • ! Async olmayan plugin işlemi — main thread'de DB sorgusu veya HTTP isteği bloklama yapıyor
  • ! Entity / tile entity tick spike — çok fazla hopper veya beacon aynı tick'te işleniyor

Adım adım çözüm

01

Spark profiler ile spike anını yakalayın — sadece ağır tick'leri filtreleyin

/spark profiler --only-ticks-over 50 --timeout 180
02

GC loglarını açın — pause sürelerini net görün

# start script'e ekleyin:
-Xlog:gc*:file=logs/gc.log:time,uptime:filecount=5,filesize=10M
03

Heap'i Xms = Xmx olacak şekilde sabit tutun. Ayrıca MaxGCPauseMillis=200 hedef verin

-Xms8G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=200
04

Aikar's Flags'i tam uygulayın. Yarım uygulama spike'ları bitirmez. Tüm setini kullanın

# Aikar flags için referans:
# https://docs.papermc.io/paper/aikars-flags
05

Chunk save'i aralıklı hale getirin — tüm dünyayı aynı anda kaydetmeyin

# config/paper-global.yml
chunk-saving:
  max-chunks-to-save-per-tick: 4
06

Backup scriptinizi düşük trafik saatine (03:00 gibi) alın. Canlı oyuncu varken tar çalıştırmak büyük spike yapar

crontab -l | grep backup
# yeni saat örneği:
# 0 3 * * * /opt/scripts/mc-backup.sh
07

RAM swap kullanımını kontrol edin — swap > 0 ise sorun

free -m
vmstat 1 5  # si/so kolonları 0 olmalı
08

Hopper zincirleri ve beacon gruplarını azaltın. Gerekirse LagAssist / FarmLimiter kurun

# Spark profiler rapor > Entity tick bölümünde sorunlu chunk'ları bulun
09

Async olmayan plugin işlemlerini izleyin — Spark timings raporunda görünür. Plugini güncelleyin ya ConnectionPool eklenmesini talep edin

10

Sorun sürerse KEYDAL Spark Analyzer aracına profile raporunu yükleyin; ücretsiz otomatik analiz alırsınız: /oyun/araclar/spark

Benzer sorunlar

Sorun devam ediyor mu?

Yukarıdaki adımlar Minecraft Lag Spike Çözümü probleminin %90'ını çözer. Sorun devam ediyorsa aşağıdaki kontrol listesiyle sistemin daha derin taramasını yapın.

  • Sunucu loglarını tail -f logs/latest.log ile gerçek zamanlı izleyin — hata mesajı ile kök nedene ulaşın.
  • Spark profiler ile ayrıntılı performans raporu alın — KEYDAL Spark Analyzer ücretsiz yorumlar.
  • Plugin ve sunucu sürümlerinin güncel olduğundan emin olun — eski sürümlerde çözülmüş hatalar güncellemeyle biter.
  • Yedekten test ortamı kurup değişiklikleri önce orada deneyin — production'a direkt müdahale risk yaratır.
  • Minecraft topluluğundaki benzer vakaları arayın — Discord topluluğumuzda aktif yardım alabilirsiniz.

KEYDAL Projects desteği

Kendi sunucunuzda bu adımları uygulamakta zorlanıyorsanız, KEYDAL Projects ekibi uzaktan bağlanıp sorunu çözer. İlk teşhis ve önerilerimiz ücretsiz — sunucunuzun durumunu birlikte inceler, kalıcı bir aksiyon planı çıkarırız. Panel yönetimi, plugin yapılandırması, optimizasyon ve günlük operasyon konularında Türkiye'nin deneyimli ekiplerindeniz.

Sorununuz çözülmedi mi?

Sunucunuzu birlikte inceleyelim. İlk teşhis ücretsiz.

WhatsApp