Minecraft Sunucuları 9 dk okuma

Minecraft sunucu çöküyor mu? Crash report ve latest.log nasıl okunur, hata nasıl bulunur

Minecraft sunucunuz çöküyor ya da açılır açılmaz kapanıyorsa cevap crash report ve latest.log dosyalarında. Description ve Caused by satırlarını okumayı, suçlu modu bulmayı ve sık nedenleri çözmeyi adım adım öğrenin.

Minecraft sunucu çöküyor mu? Crash report ve latest.log nasıl okunur, hata nasıl bulunur
AnkSOFT
Yayıncı

Oyuncular bir anda sunucudan atılıyor, konsol kırmızı satırlarla doluyor ve sunucu kendini kapatıyor. Minecraft sunucu çöküyor dediğiniz durumların neredeyse hepsinde sunucu, neden çöktüğünü bir dosyaya yazar. Sorun çoğu zaman bir mod, yanlış Java sürümü, bozuk bir chunk ya da yetersiz bellektir; bunu tahmin etmek yerine okumak mümkündür.

Bu rehberde crash-reports klasörünü ve logs/latest.log dosyasını nerede bulacağınızı, bir çökme raporunda hangi satırlara bakmanız gerektiğini (Description, Caused by, mod listesi), sık karşılaşılan hata mesajlarının ne anlama geldiğini ve logu yardım isterken nasıl paylaşacağınızı adım adım anlatıyoruz.


Çökme Kaydı Nerede Durur?

Sunucunun ana klasöründe iki önemli yer vardır:

Konum Ne içerir? Ne zaman oluşur?
logs/latest.log Sunucunun son açılışından itibaren tüm konsol çıktısı Her açılışta yeniden yazılır
logs/2026-11-12-1.log.gz gibi dosyalar Önceki açılışların sıkıştırılmış logları Sunucu yeniden başladığında eski log arşivlenir
crash-reports/crash-...-server.txt Sunucunun çöktüğü andaki ayrıntılı rapor Yalnız oyun içi bir istisna sunucuyu durdurduğunda

Oyun panelinde sunucunuzu seçip dosya yöneticisini açtığınızda bu klasörleri ana dizinde görürsünüz. Dosyayı panelde açıp okuyabilir ya da indirip bilgisayarınızda bir metin düzenleyiciyle inceleyebilirsiniz.

Önemli bir ayrım: her çökme bir crash report üretmez. Sunucu Java sürümü yüzünden hiç başlayamıyorsa, bellek tamamen biterse ya da süreç dışarıdan sonlandırılırsa crash-reports klasörü boş kalabilir. Bu durumda tek kanıt latest.log dosyası ve paneldeki konsol çıktısıdır. Bu yüzden ilk bakılacak yer her zaman latest.log'un son satırlarıdır.

latest.log sunucu her açıldığında sıfırlandığı için çökmeden sonra sunucuyu defalarca yeniden başlatırsanız asıl hatanın yazıldığı log arşive gider. O durumda logs klasöründeki en yeni .log.gz dosyasını indirip açın.

Sunucu ana dizini: crash-reports, logs, mods ve world klasörlerinin yeri


Crash Report Nasıl Okunur?

Bir çökme raporu uzun görünür ama yukarıdan aşağı belirli bir düzeni vardır. Dosya şu satırla başlar:

---- Minecraft Crash Report ----

Ardından, şu sırayla okumanız yeterlidir:

1. Description satırı

Raporun en üstündeki Description: satırı çökmenin genel türünü söyler. Sık görülenler:

  • Description: Exception in server tick loop: Sunucu çalışırken bir oyun döngüsü (tick) sırasında hata oluştu. Genellikle bir mod, eklenti ya da dünya verisi.
  • Description: Exception ticking world: Hata belirli bir dünyayı işlerken oluştu; çoğu zaman bir varlık (entity), blok varlığı ya da chunk kaynaklıdır.
  • Description: Watching Server: Sunucunun bekçi (watchdog) mekanizması, tek bir tick çok uzun sürdüğü için sunucuyu durdurdu. Bu bir donmadır, aşağıda ayrıca anlatıyoruz.
  • Description: Mod loading error has occurred: Forge ya da NeoForge, modları yüklerken başarısız oldu. Sunucu hiç açılamadı.

2. İlk hata satırı ve "Caused by"

Description satırının hemen altında bir Java istisnası gelir, örneğin java.lang.NullPointerException ya da java.lang.NoClassDefFoundError. Altındaki at ... satırları yığın izidir (stack trace): hata hangi kodda oluştuysa oradan geriye doğru listelenir.

Asıl ipucu çoğu zaman en alttaki Caused by: satırıdır. Bir hata başka bir hatayı tetiklediyse Java bunları zincir hâlinde yazar; zincirin en altındaki Caused by: kök nedendir. Üstteki satırlar yalnızca sonuçtur.

3. at satırlarındaki paket adları

at satırlarında Minecraft'ın kendi kodu net.minecraft... ile başlar. Bunun dışında kalan ilk paket adı, suçluyu bulmanın en hızlı yoludur. Örneğin at com.ornekmod.machines.TileGenerator.tick(...) görüyorsanız sorun büyük olasılıkla "ornekmod" adlı moddadır. Paper ya da Spigot eklentilerinde bu satırlar eklentinin paket adını gösterir (at me.ornek.eklenti...).

Örnek bir crash report: Description, Caused by ve mod paket adının vurgulandığı satırlar

4. Sistem ayrıntıları bölümü

Raporun sonundaki -- System Details -- bölümünde Minecraft sürümü, Java sürümü, bellek bilgisi ve modlu sunucularda yüklü modların listesi bulunur. Java sürümünü ve hangi mod yükleyicinin hangi sürümünün çalıştığını buradan teyit edin.


latest.log İçinde Hata Nasıl Aranır?

latest.log binlerce satır olabilir. Baştan sona okumak yerine şu sırayla ilerleyin:

  1. Sondan başlayın. Sunucu çöktüyse ya da kapandıysa son 50 ile 100 satır neredeyse her zaman nedeni içerir.
  2. Seviyeye göre arayın. Her satırda bir seviye yazar: [Server thread/INFO], [Server thread/WARN], [Server thread/ERROR]. Metin düzenleyicide ERROR ve FATAL kelimelerini aratın.
  3. Exception ve Caused by kelimelerini aratın. Crash report üretilmemişse yığın izi doğrudan log içinde yer alır.
  4. İlk hatayı bulun, sonuncuyu değil. Bir mod yüklenemediğinde ardından onlarca bağlı hata gelir. Zamana göre ilk kırmızı satır genellikle asıl sorundur.

Bilgisayarınızda logu indirdiyseniz PowerShell ile hata satırlarını hızlıca süzebilirsiniz:

Select-String -Path .\latest.log -Pattern "ERROR","Exception","Caused by"

Son satırlara bakmak için:

Get-Content .\latest.log -Tail 100

Sık Çökme Nedenleri ve Log Satırları

Sık hata satırları ve anlamları: Java sürümü, eksik bağımlılık, istemci modu, bellek, tick gecikmesi

Java sürümü uyumsuzluğu

Sunucu açılmadan kapanıyor ve logda şuna benzer bir satır varsa:

java.lang.UnsupportedClassVersionError: ... has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

sunucu yazılımı, çalıştığı Java'dan daha yeni bir Java ister. Sınıf dosyası sürümü 61 Java 17'ye, 65 Java 21'e karşılık gelir. Minecraft 1.20.5 ve sonrası Java 21, 1.18 ile 1.20.4 arası Java 17 ister; 1.16.5 ve öncesindeki eski Forge sunucuları ise çoğu zaman Java 8 ile çalışır. Çok yeni Java da eski modpack'leri bozabilir. Çözüm, oyun panelinde sunucu sürümüne uygun Java'yı seçmek ya da sürüm ile yazılımı birlikte doğru ayarlamaktır. Bu adımları Minecraft sunucusunda sürüm ve yazılım değiştirme rehberimizde anlattık.

Eksik bağımlılık

Birçok mod başka bir moda ya da kütüphaneye ihtiyaç duyar. Fabric'te log genellikle Incompatible mods found! başlığıyla hangi modun neyi istediğini listeler; NeoForge ve Forge'da ise Mod loading error has occurred ve altında "requires ... which is missing" benzeri bir açıklama görürsünüz. Satırda adı geçen bağımlılığı, sunucunuzla aynı Minecraft ve mod yükleyici sürümü için indirip mods klasörüne ekleyin. Sürüm aralığı yazıyorsa (örneğin belirli bir sürümden yeni olmalı) tam o aralığa uyan dosyayı seçin.

İstemci modu sunucuda

Yalnızca oyuncunun bilgisayarında çalışması gereken modlar (mini harita, shader, menü ve görsel iyileştirme modları gibi) sunucuya konursa şu tip bir hata alırsınız:

Attempted to load class net/minecraft/client/... for invalid dist DEDICATED_SERVER

Satırdaki client kelimesi ve hemen üstündeki mod adı suçluyu gösterir. O modu sunucunun mods klasöründen çıkarın; oyuncular kendi bilgisayarlarında kullanmaya devam edebilir. Modpack kurarken hangi dosyaların sunucuya gitmeyeceğini modpack kurulumu rehberimizde ayrıntılı anlattık.

Mod ya da eklenti çakışması

İki mod aynı oyun kodunu değiştirmeye çalışırsa Mixin apply failed ya da MixinApplyError gibi satırlar görürsünüz; satırda geçen .mixins.json dosya adı ilgili modu söyler. Paper sunucularda bir eklenti yüklenemediğinde Could not load 'plugins/...jar' satırı eklentinin dosya adını doğrudan verir. Önce adı geçen modu ya da eklentiyi güncel sürüme yükseltin; sorun sürerse geçici olarak kaldırıp sunucuyu deneyin.

Bozuk chunk ya da sorunlu varlık

Exception ticking world, Exception ticking entity veya Exception ticking block entity hatalarında rapor, sorunun koordinatlarını da verir. Entity's Exact location ya da Block location satırında yazan X, Y, Z değeri hatanın dünyada nerede olduğunu gösterir. Logda Couldn't load chunk ya da Chunk file at [...] is in the wrong location satırları dünya dosyasının zarar gördüğünü gösterir. Böyle bir durumda dünyaya dokunmadan önce mutlaka yedek alın; ardından ilgili modun güncellemesini deneyin ya da son sağlam yedeğe dönün. Yedek alma ve geri yükleme adımları dünya yedeği rehberimizde var.

Bellek yetersizliği: OutOfMemoryError

java.lang.OutOfMemoryError: Java heap space

Bu satır, sunucuya ayrılan belleğin tükendiğini söyler. Ancak her zaman "daha fazla RAM" anlamına gelmez. Bir mod ya da eklentideki bellek sızıntısı, aşırı büyük yüklenmiş bir alan ya da çok fazla varlık biriken bir çiftlik de aynı hatayı verir. Önce sunucunun ne zaman çöktüğüne bakın: açılır açılmaz çöküyorsa paketin ihtiyacı ayrılan bellekten büyüktür; saatler sonra çöküyorsa sızıntı ya da birikme olasılığı yüksektir. Gereken bellek miktarı modpack'e, oyuncu sayısına ve görüş mesafesine göre çok değişir; doğru değeri modpack geliştiricisinin önerdiği sunucu gereksinimi ve paneldeki bellek kullanım grafiği belirler.

Can't keep up ve Watchdog

Can't keep up! Is the server overloaded? Running 2500ms or 50 ticks behind

Bu bir çökme değil, uyarıdır: sunucu saniyede 20 tick hedefini tutturamıyor ve geride kaldı. Ara sıra görülmesi, özellikle açılışta dünya yüklenirken normaldir. Sürekli tekrar ediyorsa sunucu ağırlaşmıştır.

Durum daha ağırsa watchdog devreye girer:

A single server tick took 60.00 seconds (should be max 0.05)
Considering it to be crashed, server will forcibly shutdown.

Bu süre server.properties içindeki max-tick-time ayarından gelir (varsayılan 60000 milisaniye). Tek bir tick bu kadar uzun sürdüyse sunucu kendini kapatır ve Watching Server açıklamalı bir crash report yazar. Raporda Server thread yığın izine bakın: donma anında sunucunun ne yaptığını, yani hangi mod ya da hangi işlem üzerinde takıldığını gösterir. max-tick-time değerini -1 yaparak watchdog'u kapatmak mümkündür ama bu sorunu çözmez, yalnızca donan sunucunun kapanmasını engeller. Performans tarafı için Minecraft sunucu optimizasyonu rehberimize göz atabilirsiniz.


Suçlu Mod ya da Eklentiyi Bulma Yöntemi

Rapor bir mod adı vermiyorsa ya da birden çok mod adı geçiyorsa sistemli ilerleyin:

Suçlu modu bulma sırası: yedek, log, ikiye bölme ve tek tek geri ekleme

  1. Önce yedek alın. Dünya ve mods ya da plugins klasörünün kopyası olmadan deneme yapmayın.
  2. Son değişikliği düşünün. Çökme yeni bir mod, güncelleme ya da sürüm değişikliğinden hemen sonra başladıysa ilk şüpheli odur.
  3. İkiye bölme yöntemini uygulayın. Modların yarısını geçici bir klasöre taşıyın (bağımlılıklarını birlikte), sunucuyu açın. Çökme sürüyorsa sorun kalan yarıdadır; geçtiyse taşıdığınız yarıdadır. Her adımda grubu yarıya indirerek birkaç denemede suçluyu bulursunuz.
  4. Bulduğunuz modu güncelleyin ya da değiştirin. Modun sayfasında sunucu sürümünüze uygun bir güncelleme olup olmadığına bakın; yoksa alternatifini kullanın.
  5. Config dosyasını da kontrol edin. Bazı çökmeler moddan değil, config klasöründeki bozuk bir ayar dosyasından gelir. İlgili modun config dosyasını yedekleyip silerseniz mod açılışta varsayılan ayarlarla yeniden oluşturur.

Paper ya da Spigot sunucularda aynı yöntem plugins klasörü için geçerlidir. Eklenti kurulumunun temelleri plugin kurulum rehberimizde anlatılıyor.


Logu Yardım İstemek İçin Paylaşma

Bir mod geliştiricisine, topluluk sunucusuna ya da destek ekibine yazarken ekran görüntüsü yerine logun tamamını paylaşın. Ekran görüntüsünde genellikle asıl Caused by satırı görünmez.

Minecraft topluluğunda bunun için en yaygın kullanılan yol mclo.gs log paylaşım servisidir. latest.log ya da crash report dosyasının içeriğini yapıştırırsınız, size paylaşılabilir bir bağlantı verir. Servis Minecraft loglarını tanır, hata satırlarını vurgular ve bilinen hatalar için kısa bir analiz gösterir; IP adreslerini de gizlemeye çalışır.

Paylaşmadan önce şunları kontrol edin:

  • Logda RCON şifresi, veritabanı şifresi, Discord bot token'ı ya da bir eklentinin API anahtarı geçiyorsa o satırı silin.
  • Yalnız son satırları değil, sunucunun açılışından çöktüğü ana kadar tüm logu paylaşın; mod listesi ve sürüm bilgisi baştadır.
  • Crash report varsa onu da ayrı olarak ekleyin.
  • Mesajınıza Minecraft sürümünü, mod yükleyiciyi (Paper, Fabric, NeoForge) ve sorunun ne zaman başladığını yazın.

Çökmeden Sonra İzlenecek Kontrol Sırası

Minecraft sunucu çöktüğünde izlenecek kontrol sırası

Her çökmede aynı sırayı uygularsanız çoğu sorunu birkaç dakikada daraltırsınız:

  1. Sunucuyu hemen tekrar tekrar başlatmayın; önce latest.log ve varsa en yeni crash report dosyasını indirin.
  2. Description satırına bakın: açılış hatası mı, çalışırken çökme mi, donma mı?
  3. En alttaki Caused by satırını ve net.minecraft dışındaki ilk paket adını bulun.
  4. Java sürümünü ve Minecraft sürümünü System Details bölümünden doğrulayın.
  5. Son eklediğiniz ya da güncellediğiniz mod, eklenti veya ayarı geri alın.
  6. Sorun dünya kaynaklıysa yedeksiz işlem yapmayın.
  7. Hâlâ çözülmediyse logu paylaşarak yardım isteyin.

Oyun sunucularında konsolun genel hata kalıpları (port, dosya izni, başlangıç komutu) için oyun sunucusu açılmıyor rehberimize de bakabilirsiniz.


En Sık Yapılan Hatalar

  1. Yalnızca ilk kırmızı satırı okuyup geçmek. Üstteki istisna çoğu zaman sonuçtur; kök neden en alttaki Caused by satırındadır.
  2. Çöken sunucuyu art arda yeniden başlatmak. latest.log her açılışta sıfırlanır; asıl hatayı arşive gönderirsiniz, bozuk chunk varsa dünyaya daha fazla zarar verebilirsiniz.
  3. Her hatayı RAM eksikliği sanmak. OutOfMemoryError dışındaki çökmelerde bellek artırmak sorunu çözmez; Java sürümü, eksik bağımlılık ve istemci modları çok daha sık nedendir.
  4. İstemci modlarını sunucuya koymak. Modpack'in istemci klasörünü olduğu gibi kopyalamak invalid dist DEDICATED_SERVER hatalarının bir numaralı nedenidir.
  5. Yedeksiz deneme yapmak. Mod çıkarmak, dünya düzeltmek ya da sürüm değiştirmek geri dönüşü zor sonuçlar doğurabilir.
  6. Watchdog'u kapatıp sorunu çözdüm sanmak. max-tick-time değerini -1 yapmak donmayı gizler, nedenini ortadan kaldırmaz.

Özet

  1. Çökmenin nedeni logs/latest.log ve crash-reports klasöründeki dosyalarda yazar; crash report yoksa logun son satırlarına bakın.
  2. Raporda önce Description, sonra en alttaki Caused by satırını ve net.minecraft dışındaki ilk paket adını okuyun.
  3. En sık nedenler Java sürümü uyumsuzluğu, eksik bağımlılık, sunucuya konmuş istemci modu, bozuk chunk ve bellek tükenmesidir.
  4. Can't keep up bir uyarıdır; sürekli tekrar eder ve watchdog devreye girerse donmanın nedenini Server thread yığın izinde arayın.
  5. Yardım isterken logun tamamını, gizli bilgileri temizleyerek mclo.gs gibi bir servisle paylaşın.

Modlu ya da eklentili sunucunuzu panelden konsol ve dosya yöneticisiyle yönetmek için AnkSOFT Minecraft sunucu paketlerine göz atabilirsiniz.

Sıkça Sorulan Sorular

Minecraft sunucum çöküyor ama crash-reports klasörü boş, neden?

Her çökme rapor üretmez. Sunucu Java sürümü yüzünden hiç başlayamıyorsa, bellek tamamen biterse ya da süreç dışarıdan sonlandırılırsa rapor yazılmaz. Bu durumda logs/latest.log dosyasının son satırlarına bakın.

latest.log dosyasında asıl hatayı nasıl bulurum?

Dosyanın sonundan başlayın, ERROR, Exception ve Caused by kelimelerini aratın. Birden çok hata varsa zamana göre ilk görüneni ve zincirin en altındaki Caused by satırını esas alın.

Can't keep up uyarısı sunucunun çöktüğü anlamına mı gelir?

Hayır. Sunucunun saniyede 20 tick hedefinin gerisinde kaldığını söyleyen bir uyarıdır. Açılışta ara sıra görülmesi normaldir; sürekli tekrar ediyorsa sunucu ağırlaşmıştır ve neden araştırılmalıdır.

OutOfMemoryError alıyorum, RAM artırmak yeterli mi?

Her zaman değil. Açılır açılmaz çöküyorsa paket ayrılan bellekten büyük olabilir. Saatler sonra çöküyorsa bir mod ya da eklentideki sızıntı veya biriken varlıklar daha olası nedendir.

invalid dist DEDICATED_SERVER hatası ne demek?

Yalnız oyuncunun bilgisayarında çalışması gereken bir istemci modu sunucuya konmuş demektir. Hata satırının üstünde adı geçen modu sunucunun mods klasöründen çıkarın.

Logu paylaşırken nelere dikkat etmeliyim?

RCON şifresi, veritabanı şifresi, bot token'ı ya da API anahtarı içeren satırları silin. Açılıştan çökmeye kadar tüm logu ve varsa crash report dosyasını paylaşın, Minecraft sürümünü ve mod yükleyiciyi de belirtin.

TR| EN