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
Spark profiler ile spike anını yakalayın — sadece ağır tick'leri filtreleyin
/spark profiler --only-ticks-over 50 --timeout 180
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
Heap'i Xms = Xmx olacak şekilde sabit tutun. Ayrıca MaxGCPauseMillis=200 hedef verin
-Xms8G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=200
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
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
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
RAM swap kullanımını kontrol edin — swap > 0 ise sorun
free -m
vmstat 1 5 # si/so kolonları 0 olmalı
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
Async olmayan plugin işlemlerini izleyin — Spark timings raporunda görünür. Plugini güncelleyin ya ConnectionPool eklenmesini talep edin
Sorun sürerse KEYDAL Spark Analyzer aracına profile raporunu yükleyin; ücretsiz otomatik analiz alırsınız: /oyun/araclar/spark
Benzer sorunlar
Minecraft Lag Sorunları
Oyuncular "lag yapıyor" diye şikayet ediyor ama bu tek bir sorun değildir. Server lag (TPS düşük), client lag (oyuncunun FPS'i düşük) ve network lag (yüksek ping) farklı olgulardır. Yanlış teşhis çözümü geciktirir.
02Minecraft Sunucu Lag Giderme
Sunucu genelinde yavaşlık, TPS 20 altında, bloklar gecikmeli kırılıyor, mobiler donuyor, chunk yavaş yükleniyor. Lag birden fazla sebepten (CPU, RAM, disk, ağ, plugin, entity) kaynaklanabilir. Bu rehber sistematik bir lag giderme pratiği sunar.
03Çok Fazla Entity Sunucuyu Çökertiyor
Server overloaded, too many entities, entity tick took too long, Can't keep up
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.logile 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.