Hata ayıklama

Sunucunuzu hata ayıklama ve nelerin yanlış gittiğini anlama konusunda kayıtlar önemli bir rol oynar. Bu sayfada bazı temel günlük örnekleri gösterilecek ve karşılaştığınız sorunları düzeltmek için neler yapabileceğinizi açıklamaya çalışacağız.

Kontrol Listesi

Bir çarpışma veya uyarı ile karşılaştığınızda, SpongeForge veya SpongeVanilla’nın doğru ayarlandığından emin olun.İşte size yardımcı olacak kısa bir kontrol listesi.Gerekli bilgiyi nasıl edineceğiniz konusunda emin değilseniz,doc: logs sayfasına bir göz atın. Günlük dosyalarınızdan istenen cevapları nasıl elde ettiğiniz açıklanmaktadır.

  1. Java 8 kurulu ve Sponge bunu kullanıyor mu?

Sponge, Java 8’i gerektirir ve Java 7’yi veya daha eski sürümünü kullanırken çökecektir.

  1. Önerilmiş olan Forge sürümü yüklü mü?

Genellikle SpongeForge eski veya daha yeni Forge üzerinde çalışacak önerilen yapıda inşa edilir. Bununla birlikte, yalnızca önerilen yapıyı çalıştırmanız önerilir. Bir kilitlenme ile karşılaşırsanız ve sürümleriniz uyuşmazsa, önce bunları eşleştirin ve tekrar deneyin. Hangi Forge sürümüne ihtiyacınız olacağından emin değilseniz şu adrese bir göz atın SpongeForge’u kurmak

  1. (SpongeForge dışında) yüklenmiş başka çekirdek kodlar var mı?

Bazı çekirdek modlar Forge’u, SpongeForge’u düzgün bir şekilde çalıştırmayı imkansız kılacak şekilde değiştirir. Çekirdek modlar yüklüyse ve Sponge çökerse, bunları kaldırmaya ve tekrar test etmeye çalışın. Uyumsuz çekirdek modları GitHub veya SpongeForumları’nda rapor edin. Bu rapor, personelin bu sorunları mümkün olan en kısa sürede çözmesini sağlar.

  1. Kullanılan her eklenti, istediğiniz Sünger yapısına göre inşaa edilmiş midir?

Sponge API bazen değişime uğrar. En yeni Sponge derlemesinde eski bir eklentiyi kullanmaya çalıştığınızda bir çökme meydana geldiğinde, Sponge’u indirgeyerek açmayı deneyin veya güncelleştirilmiş bir eklenti edinmek için eklenti yazarıyla iletişime geçin. Eski bir Sponge sürümündeyseniz ve yeni bir eklenti çöküyorsa, önce Sponge’u güncellemeyi deneyin.

  1. Hatalı bir eklentiyi ayırma

Sorun devam ederse, her eklentiyi kaldırmaya çalışın ve her eklentiyi eklediğinizde sunucuyu başlatmaya çalışırken bunları tek tek tekrar ekleyin.

Neden ve neyin tam olarak çöktüğünden emin değilseniz, kilitlenme günlüğünüze bir göz atın. Bazı yaygın çökmeler ve ortak çözümler aşağıda listelenmiştir.

Genel uyarılar

Hataların ve hataların ortak kaynağı, SpongeForge ve Forge veya SpongeForge ve Plugin’lerin arasındaki bir sürüm uyumsuzluğudur. Öncelikle genel uyarıya bakacağız Forge çöküş konusunda bize şu bilgileri sağlamaktadır:

WARNING: coremods are present:
   SpongeForge (sponge-1.8-1521-2.1DEV-750.jar)
Contact their authors BEFORE contacting forge

Bu bir hata değil, sadece Forge size bir Coremod’un (burada: SpongeForge) yüklendiğini bildiriyor. Forge, desteğinden yardım istemeden ilk önce Sünger geliştiricileriyle bağlantı kurmanızı önermektedir. Sorun edilecek birşey yok.

Ortak özel durumlar

Burada bazı benzer istisnalar ve onlarla neden karşılaşabileceğinizin nedenleri vardır.

Not

Eğer burada listelen meyen bir kaza, hata veya herhangi başka arıza ile karşılaştıysanız, lütfen bunu Sponge Forums veya GitHub üzerinde bildirin. Bu aynı sorunla ilgilenen diğer kişilere yardımcı olacaktır.

Eşleşmeyen SpongeForge ve Forge

[12:59:21] [main/ERROR] [mixin/]: @Mixin target net.minecraftforge.event.world.BlockEvent$NeighborNotifyEvent was not found mixins.forge.core.json:event.block.MixinEventNotifyNeighborBlock

Yanlış Forge yapısında SpongeForge çalıştırmayı denediğinde bu ortak bir kazadır. Hedef/Mixin ‘in değiştirilebileceğine dikkat edin. Her zaman Forge, SpongeForge karşı eşleşir! Eğer Forge’ın hangi sürümünün gerekli olduğundan emin değilseniz ve SpongeForge yapınıza zaten sahipseniz, şu adrese bir göz atın: SpongeForge’u kurmak

Diğer ortak hatalar

Caused by: java.lang.ClassNotFoundException: org.spongepowered.api.event.state.ServerStartedEvent
Caused by: java.lang.NullPointerException

İlk hata Class ın eksik olduğunu gösterir, ikincisi ise Kullanmaya çalıştığınız eklentinin eksik parametrelere dayandığını belirten NullPointer Olağan dışı durumu. Bu daha modern SpongeForge veya SpongeVanilla’da çalıştırmayı denediğinizde ve eski eklentiyi çalıştırmayı denediğinizde ve karşılıklı olur.

java.lang.AbstractMethodError: net.minecraft.entity.player.EntityPlayerMP.getTabList()Lorg/spongepowered/api/entity/living/player/tab/TabList;
at (...)

Bir eklenti henüz uygulanmayan bir yöntemi çağırmaya çalıştığında AbstractMethodError oluşur. Lütfen en son kullanılan Sponge sürümünü çalıştırıp çalıştırmadığınızı kontrol edin ve daha yeni bir sürüm mevcutsa güncelleyin. Sorun hala devam ediyorsa, bunu resmi Issuetracker’da, forumlarda veya IRC’ye bildirin. Kayıp olan özelliğin uygulanmasını da isteyebilirsiniz.

[Server thread/INFO]: Starting minecraft server version 1.8
[Server thread/ERROR]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: org/spongepowered/api/event/game/state/GameStartingServerEvent

Not

Tam örnek çarpışma günlüğünü buradan okuyabilirsiniz: :download: SpongeForge 575 crashlog with a plugin built against build 750 </files/crashlogs/crashlog-sponge575-plugin750.txt>

Eklenti, sınıf yolunda olmayan bir sınıfa erişmeye çalıştığında bir NoClassDefFoundError oluşur. API, son zamanlarda yeniden düzenlendiğinde veya yeniden yapılandırıldığında ve daha yeni bir Sponge yapısında eski bir eklenti çalıştırmaya çalışıyorsanız veya tam tersi olduğunda ortaya çıkar. Her zaman doğru sürümü kullanın! Plugin yazarına, hangi Sponge sürümünü oluşturduğunu sorun ya da bunu çözmek için SpongeForge veya SpongeVanilla’yı güncelleştirmeyi/indirgemeyi deneyin.