Ekran Kartlı Sunucu Satışları Başladı. İncele
Minecraft Hata Çözümleri

Minecraft Crash Report Nasıl Okunur?

Çöken sunucunun crash-report ve latest.log dosyalarını okuma: stack trace analizi, hatalı eklentiyi bulma ve çözüme giden yol haritası.

  • 8 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • Crash report okumanın birinci kuralı: yığın izinde asıl neden en alttaki Caused by: bloğudur, konsolun son satırı değil.
  • İki farklı kaynak vardır: logs/latest.log sunucunun tüm çalışma günlüğü, crash-reports/ ise yalnızca tam çökmede oluşur.
  • Yığın izinde bir eklenti ya da mod paket adı (com.ornek.eklenti) görüyorsanız suçlu bulunmuş demektir. Yalnızca net.minecraft satırları varsa nedeni bellek, disk veya donanımda arayın.
  • 26.1 unobfuscation sonrası NoClassDefFoundError ve NoSuchMethodError hataları çok yaygınlaştı: eski eklentiler yeniden derlenmeden 26.x’te çalışmaz.

Minecraft crash report okumayı öğrenmek, sunucu yönetiminde tahmin yürütmekle kesin teşhis koymak arasındaki farktır. Java’nın ürettiği yığın izi ilk bakışta okunamaz görünür; oysa yapısı bellidir ve doğru satırı bulmak birkaç saniye sürer. Kural basittir: asıl neden en alttaki Caused by: bloğundadır, konsolun en son satırında değil.

Bu sayfada hangi dosyaya bakacağınızı, yığın izinin anatomisini, sık karşılaşılan istisna tiplerinin ne anlama geldiğini ve suçlu eklentiyi bulmanın sistematik yöntemini bulacaksınız. Örnekler Minecraft 26.2 ve Paper sunucu yazılımı üzerinden verildi.

Nereye Bakmalı?#

logs/latest.log
Son çalışmanın tam günlüğü. Sunucu her başladığında sıfırlanır, öncekiler logs/2026-08-12-1.log.gz biçiminde arşivlenir.
crash-reports/
Yalnızca sunucu tamamen çöktüğünde dosya oluşur. Çökme anındaki iş parçacıkları, bellek durumu, sistem bilgisi ve yüklü mod listesi burada.
logs/gc.log
GC logu etkinleştirilmişse duraklama süreleri burada. Donma araştırmalarında vazgeçilmezdir.
Konsol çıktısı
Canlı akış. Sunucu açılışındaki ilk 30 saniyede basılan uyarılar en değerli olanlardır.

Dosyaları hızlıca taramak için:

ls -lt crash-reports/ | head -5
grep -n "Caused by:" logs/latest.log | head -20
zgrep -n "ERROR" logs/2026-08-11-*.log.gz | head
Get-ChildItem .\crash-reports\ | Sort-Object LastWriteTime -Descending | Select-Object -First 5
Select-String -Path .\logs\latest.log -Pattern "Caused by:" | Select-Object -First 20

Bir Crash Report’un Anatomisi#

Tipik bir sunucu crash report’u dört bölümden oluşur:

---- Minecraft Crash Report ----
// Uh... Did I do that?

Time: 2026-08-12 04:18:33
Description: Exception ticking world

java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getWorld()"
	because "player" is null
	at com.ornek.eklenti.listener.MoveListener.onMove(MoveListener.java:64)
	at org.bukkit.plugin.EventExecutor.execute(EventExecutor.java:79)
	at net.minecraft.server.level.ServerLevel.tickNonPassenger(ServerLevel.java:812)
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1394)

-- Affected level --
Details:
	All players: 14 total; [ServerPlayer['oyuncu1'/1234, l='ServerLevel[world]']]
	Chunk stats: 3421 chunks
	Level dimension: minecraft:overworld

-- System Details --
Details:
	Minecraft Version: 26.2
	Java Version: 25.0.4, Eclipse Adoptium
	Memory: 4127854080 bytes (3936 MiB) / 10737418240 bytes (10240 MiB) up to 10737418240 bytes
	CPUs: 24
	JVM Flags: 9 total; -Xms10G -Xmx10G -XX:+UseG1GC ...
	Server Running: true
	Plugins: 27 total; EssentialsX v2.22.0, LuckPerms v5.5.57, OrnekEklenti v1.2.0
BölümNe anlatırNe aranır
DescriptionÇökmenin genel kategorisi“Exception ticking world”, “Ticking entity”, “Initializing game”
Stack traceHatanın geçtiği kod yoluEn alttaki Caused by, ilk üçüncü taraf paket adı
Affected levelHangi dünya ve chunkBelirli bir bölgede tekrar ediyorsa koordinat
System DetailsSürüm, Java, bellek, eklenti listesiBellek doluluğu, JVM bayrakları, eklenti sürümleri
Crash report bölümleri ve okunma sırası
BilgiYukarıdaki örnekte hata com.ornek.eklenti.listener.MoveListener.onMove satırında oluşmuş. Bu paket adı net.minecraft veya org.bukkit ile başlamadığı için kesinlikle bir eklentiye aittir. Satır numarası (MoveListener.java:64) eklenti geliştiricisine bildirim yaparken çok işe yarar.

Yığın İzini Doğru Okumak#

  1. En alttaki Caused by bloğunu bulun#

    Java hataları zincirlenir. Üstteki istisna bir sonucu, alttaki asıl nedeni gösterir. Bu yüzden okumaya sondan başlayın:

    net.minecraft.ReportedException: Ticking entity
    	at net.minecraft.server.level.ServerLevel.tickNonPassenger(ServerLevel.java:812)
    Caused by: java.lang.IllegalStateException: Chunk not loaded
    	at net.minecraft.world.level.Level.getChunkAt(Level.java:244)
    Caused by: java.lang.NullPointerException: Cannot read field "world"
    	at com.ornek.eklenti.task.SpawnTask.run(SpawnTask.java:31)   <-- ASIL NEDEN
  2. İlk üçüncü taraf paket adını işaretleyin#

    Yukarıdan aşağı inerken net.minecraft, org.bukkit, io.papermc ve java.* dışındaki ilk paket adı sizin aradığınız yerdir. Bu adı eklenti klasöründeki jar adlarıyla eşleştirin.

  3. Hiç üçüncü taraf paket yoksa#

    Yığın izi baştan sona net.minecraft satırlarından oluşuyorsa neden eklenti değildir. Bu durumda bakılacak yerler: bellek durumu, disk sağlığı, bozuk chunk dosyaları ve donanım. System Details bölümündeki Memory satırı ilk kontrol noktasıdır.

  4. Description satırını kategoriye çevirin#

    DescriptionAnlamı
    Exception ticking worldDünya güncellemesi sırasında hata; genelde blok veya redstone kaynaklı
    Ticking entityBir varlık güncellenirken hata; mob veya item entity
    Ticking block entitySandık, fırın, hopper gibi blok varlıkları
    Exception in server tick loopAna döngü çöktü; en ciddi kategori
    Initializing game / Loading levelAçılış aşamasında; genelde bozuk dünya ya da uyumsuz mod
    Watching ServerWatchdog kilitlenme tespit etti
    Crash report Description satırlarının anlamları

Sık Karşılaşılan İstisnalar ve Anlamları#

İstisnaAnlamıTipik nedeniİlk adım
NullPointerExceptionBoş bir nesneye erişildiEklenti hatasıYığın izindeki eklenti adına bakın
NoClassDefFoundErrorSınıf çalışma zamanında yok26.1 unobfuscation, eksik bağımlılıkEklentinin 26.2 sürümünü indirin
NoSuchMethodErrorMetot imzası değişmişABI kırılması, eski eklentiEklentiyi güncelleyin
OutOfMemoryErrorHeap dolduYetersiz RAM veya sızıntıOOM sayfası
UnsupportedClassVersionErrorJava sürümü yetersizYanlış JDKJava sürüm sayfası
ConcurrentModificationExceptionKoleksiyon eşzamanlı değiştirildiEklentinin thread hatasıEklenti geliştiricisine bildirin
StackOverflowErrorSonsuz özyinelemeDöngüsel eklenti mantığı, hopper zinciriŞüpheli eklentiyi kaldırın
ReportedException: Ticking entityVarlık güncellemesinde çökmeBozuk entity verisiBölgeyi bulun, entity temizleyin
Minecraft crash raporlarında sık görülen istisnalar

26.x Döneminin En Yaygın Çökme Nedeni#

26.1 ile Mojang obfuscated sunucu jar’ı yayınlamayı bıraktı. Bu bir ABI kırılmasıdır: Paper dahili remapper’ı tamamen kaldırdı, Spigot desteği düşürdü, Fabric Yarn’ı bırakıp Mojang Mappings’e geçti. Sonuç olarak 1.21.11 ve öncesindeki hiçbir mod ve NMS kullanan hiçbir eklenti yeniden derlenmeden 26.x üzerinde çalışmaz.

[09:14:22] [Server thread/ERROR]: Error occurred while enabling OrnekEklenti v1.2.0
java.lang.NoClassDefFoundError: net/minecraft/server/v1_21_R1/EntityPlayer
	at com.ornek.eklenti.nms.PlayerUtil.<clinit>(PlayerUtil.java:18)
Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_21_R1.EntityPlayer
DikkatYığın izinde v1_21_R1 gibi sürüm etiketli bir NMS paketi görüyorsanız neden kesindir: eklenti eski sürüm için derlenmiştir. Sunucuyu düşürmek yerine eklentinin 26.2 yapısını bulun; yoksa alternatif bir eklentiye geçin. Uyumluluk tablosu sürüm uyuşmazlığı sayfasında var.

Watchdog Raporunu Okumak#

Sunucu çökmez ama tamamen donarsa Paper’ın watchdog iş parçacığı devreye girer ve tüm thread’lerin yığın izini basar. Bu rapor kilitlenmenin tam olarak nerede olduğunu gösterir:

[02:33:11] [Paper Watchdog Thread/ERROR]: The server has stopped responding!
[02:33:11] [Paper Watchdog Thread/ERROR]: Current Thread: Server thread
[02:33:11] [Paper Watchdog Thread/ERROR]: 	PID: 32 | Suspended: false | Native: false | State: RUNNABLE
[02:33:11] [Paper Watchdog Thread/ERROR]: 	Stack:
[02:33:11] [Paper Watchdog Thread/ERROR]: 		com.ornek.eklenti.db.MySQLStore.saveSync(MySQLStore.java:88)
[02:33:11] [Paper Watchdog Thread/ERROR]: 		java.sql.DriverManager.getConnection(DriverManager.java:681)

Bu örnekte bir eklenti veritabanı yazma işlemini ana thread üzerinde senkron yapıyor ve bağlantı beklerken sunucu tamamen duruyor. Yalnızca “Server thread” bölümüne bakın; diğer thread’ler genelde boştadır.

Suçluyu Sistematik Bulmak#

  1. Raporda açık bir isim var mı?#

    Yığın izinde bir eklenti paket adı görünüyorsa iş biter: o eklentiyi güncelleyin, yapılandırmasını gözden geçirin ya da kaldırın. Test edip doğrulayın.

  2. İkili arama uygulayın#

    Rapor belirsizse eklentileri yarıya bölün. 32 eklentiniz varsa beş denemede suçluyu bulursunuz:

    mkdir -p plugins_disabled
    mv plugins/{A..M}*.jar plugins_disabled/    # ilk yarıyı devre dışı bırak
    # sunucuyu başlat, çökme tekrarlıyor mu?
  3. Temiz kurulumda test edin#

    Boş bir klasörde eklentisiz temiz bir Paper 26.2 kurulumu yapın ve aynı dünyayı kopyalayın. Çökme burada da oluyorsa sorun eklentide değil dünya verisinde veya sunucu yazılımındadır.

  4. spark ile profil çıkarın#

    Donma ve yavaşlama vakalarında crash report değil profil gerekir:

    /spark profiler start --timeout 120
    /spark tickmonitor --threshold 100
    /spark health

    Rapor okuma yöntemi spark ve timings analizi sayfasında anlatıldı.

  5. Bozuk chunk aramayı deneyin#

    Çökme hep aynı koordinatta oluyorsa bölge dosyası bozulmuş olabilir. Affected level bölümündeki chunk bilgisini not edin, yedekten o bölgeyi geri yükleyin.

Log Yönetimi ve Saklama#

Sorun yaşandığında elinizde geçmiş log olması teşhisi kolaylaştırır. Paper varsayılan olarak eski logları sıkıştırıp saklar; bunu bozacak şekilde temizlik yapmayın.

ls -lh logs/ | tail -10
zcat logs/2026-08-10-3.log.gz | grep -n "Caused by" | head
Get-ChildItem .\logs\ | Sort-Object LastWriteTime -Descending | Select-Object -First 10 Name,Length
İpucuCrash report ve latest.log dosyalarını destek talebi açarken paylaşmak çözümü hızlandırır. Log içeriğini mesaj gövdesine yapıştırmak yerine dosya olarak ekleyin; satır numaraları ve biçim korunur. Destek talebi oluştururken sunucu sürümünü, Java sürümünü ve eklenti listesini de belirtin.

Teşhis Araçları#

İndirmeniz gerekenler
  • spark profilerÖnerilen Paper / Fabric / Forge.jarÜcretsiz
    İndir
  • Paper 26.2 sunucu jar Her platform.jar
    İndir
  • Eclipse Temurin JDK 25LTS Windows / Linux.msi / .tar.gz
    İndir
  • Notepad++ (log görüntüleyici) Windows.exeÜcretsiz
    İndir

Bağlantılar resmî kaynaklara gider. JDK içindeki jcmd ve jstack araçları kilitlenme incelemesinde işinize yarar.

Çökme Sonrası Yapılacaklar#

  • Crash report dosyasını silmeyin; başka bir yere kopyalayıp saklayın.
  • Sunucuyu hemen başlatmadan önce dünyanın bütünlüğünü kontrol edin; Region file … is corrupted uyarısı arayın.
  • Aynı çökme tekrarlıyorsa nedeni bulmadan sunucuyu otomatik yeniden başlatan bir betikle üstünü örtmeyin.
  • Dünyada bozulma varsa son sağlam yedeğe dönmeyi değerlendirin.
  • Bellek kaynaklı çökmelerde heap ve GC ayarlarını gözden geçirin.
UyarıÇökme sonrası dünya klasörünü elle düzenlemeye kalkmayın. Bölge dosyaları ikili biçimdedir ve yanlış müdahale kalıcı veri kaybına yol açar. Şüpheli bir bölge varsa önce tam kopyasını alın, sonra işlem yapın.

İlgili Sayfalar#

Özetle#

Crash report okumak öğrenilebilir bir beceridir ve tek bir kurala dayanır: asıl nedeni en alttaki Caused by: bloğunda arayın. Yığın izinde net.minecraft ve org.bukkit dışında bir paket adı görüyorsanız suçlu odur; yoksa bellek, disk ve dünya verisine bakın. 26.x döneminde NoClassDefFoundError ve NoSuchMethodError hatalarının büyük bölümü 26.1 unobfuscation kırılmasından kaynaklanır ve çözümü eklentinin 26.2 yapısını indirmektir. Rapor belirsizse eklentileri ikili aramayla eleyin, donma vakalarında ise crash report yerine spark profili çıkarın.

Sıkça Sorulan Sorular#

Minecraft crash report nerede bulunur?

Sunucu klasöründeki crash-reports/ dizininde, crash-2026-08-12_04.18.33-server.txt biçiminde adlandırılmış dosyalar hâlinde durur. Bu dosyalar yalnızca sunucu tamamen çöktüğünde oluşur. Çökme olmadan yaşanan hatalar için logs/latest.log dosyasına bakmanız gerekir.

Stack trace nasıl okunur?

Yığın izi yukarıdan aşağı doğru hatanın hangi katmanlardan geçtiğini gösterir; asıl neden en alttaki Caused by: bloğundadır. Üstteki satırlar sonucu, alttaki satırlar sebebi anlatır. Bu yüzden okumaya sondan başlayın ve ilk tanıdık paket adını arayın.

Hangi eklentinin çökmeye sebep olduğunu nasıl bulurum?

Yığın izinde net.minecraft ve org.bukkit dışındaki paket adlarını arayın. com.ornek.eklenti.Listener.onMove gibi bir satır doğrudan eklentiyi ve metodunu gösterir. Paper crash raporlarında ayrıca yüklü eklenti listesi de yer alır; sürüm numaralarını 26.2 uyumluluğuyla karşılaştırın.

latest.log ile crash-report arasındaki fark nedir?

logs/latest.log sunucunun tüm çalışma günlüğüdür; uyarılar, eklenti mesajları ve hatalar zaman sırasıyla akar. Crash report ise yalnızca tam çökmede oluşur ve o andaki iş parçacıklarını, bellek durumunu, sistem bilgilerini ve yüklü mod listesini içerir. Çökme varsa ikisine birden bakın.

Sunucu hiç hata basmadan kapanıyorsa ne yapmalıyım?

Bu genellikle işletim sisteminin süreci öldürdüğünü gösterir. Linux’ta dmesg | grep -i "killed process" komutuyla OOM killer kaydını arayın. Windows’ta Olay Görüntüleyici’de uygulama günlüğüne bakın. Ayrıca sunucuyu konsol penceresinden çalıştırıp pencerenin kapanmasını engelleyerek son satırları okuyun.

NoClassDefFoundError hatası ne anlama gelir?

Bir sınıf çalışma zamanında bulunamadı demektir. 26.x sunucularında bunun en yaygın nedeni 26.1 ile gelen unobfuscation değişikliğidir: NMS veya craftbukkit paketine dokunan eklentiler yeniden derlenmeden çalışmaz. Eklentinin 26.2 etiketli sürümünü indirmek sorunu çözer.

Watchdog raporu nedir?

Sunucu belirlenen süre boyunca yanıt vermediğinde Paper’ın watchdog iş parçacığı devreye girip tüm iş parçacıklarının yığın izini basar. Bu rapor bir çökme değil kilitlenme kaydıdır ve donmanın hangi kodda gerçekleştiğini doğrudan gösterir. Server thread bölümü en değerli kısımdır.

Minecraft Hata Çözümleri — Tüm Rehberler#

  1. Minecraft Sunucu Hataları ve Çözümleri
  2. Minecraft “Internal Exception” Hatası Çözümü
  3. Minecraft “Connection Refused” Hatası ve Çözümü
  4. Minecraft “Connection Timed Out” Hatası Çözümü
  5. “Outdated Server” ve “Outdated Client” Hatası Çözümü
  6. Minecraft io.netty Hataları ve Çözüm Yolları
  7. Minecraft “Failed to Bind to Port” Hatası Çözümü
  8. Minecraft “Out of Memory” (OutOfMemoryError) Hatası Çözümü
  9. Minecraft “Can’t keep up! Is the server overloaded?” Uyarısı
  10. “Unable to access jarfile server.jar” Hatası Çözümü
  11. Minecraft EULA Hatası: “You need to agree to the EULA”
  12. Minecraft “Invalid Session” Hatası Çözümü
  13. Minecraft Java Sürüm Hatası (UnsupportedClassVersionError)
  14. Minecraft Crash Report Nasıl Okunur?

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön