Minecraft exit code 1 hatası, launcher penceresinde “Game crashed / Exit Code: 1” satırını gördüğünüzde karşınıza çıkar ve ilk bakışta hiçbir şey anlatmaz. Anlatmaması da normal: bu bir hata mesajı değil, bir çıkış kodudur. Java süreci kapanırken işletim sistemine bir sayı bırakır; sıfır “her şey yolunda”, sıfırdan farklı her değer “bir sorun oldu” demektir.
Yani exit code 1’in tek bir sebebi yok. Bozuk bir mod da bu kodu üretir, yanlış Java sürümü de, hatalı yazılmış bir JVM argümanı da, yarım inmiş bir oyun dosyası da. İnternette dolaşan “exit code 1 çözümü” başlıklı listelerin çoğu tam olarak bu yüzden işe yaramaz: rastgele on adım denersiniz, biri tutar, neden tuttuğunu asla öğrenemezsiniz.
Doğru yol daha kısa. Oyun kapanırken arkasında bir kayıt bırakır ve gerçek sebep orada, düz Türkçe olmasa da tek satırda yazılıdır. Aşağıda önce o satırı nasıl bulacağınızı gösteriyoruz, ardından sık görülen hata satırlarını sebep ve çözümleriyle tablo hâlinde veriyoruz. Son bölümlerde de her sebebi tek tek ele alıyoruz.
Exit Code 1 Ne Anlama Gelir, Ne Anlama Gelmez?#
Bir program kapandığında geriye bıraktığı sayıya çıkış kodu denir. Minecraft launcher’ı oyunu ayrı bir süreç olarak başlattığı için bu sayıyı okuyabilir ve size gösterir. Kodun anlamı şudur:
- Exit Code 0
- Süreç düzgün kapandı. Oyunu kendiniz kapattığınızda normal olan değer budur.
- Exit Code 1
- Genel hata. Java bir istisna (exception) yüzünden durdu ya da oyun kendini hata durumunda sonlandırdı.
- Negatif kodlar
- Süreç dışarıdan öldürüldü veya işletim sistemi seviyesinde bir ihlal oluştu (erişim ihlali, bellek).
Buradaki kritik nokta şu: kod kategoriyi söyler, sebebi değil. Exit code 1 gören iki kişiden birinin ekran kartı sürücüsü eski olabilir, diğerinin modu bozuk. Diğer çıkış kodlarının anlamlarını Minecraft açılmıyor sayfasındaki tabloda topladık; siz şimdilik 1 ile ilgilenin.
Gerçek Sebep Nerede Yazıyor: latest.log ve crash-reports#
Oyun her açılış denemesinde ne yaptığını satır satır yazar. İki dosya işinizi görür ve ikisi farklı şeydir.
%APPDATA%\.minecraft\logs\latest.log
%APPDATA%\.minecraft\crash-reports\crash-2026-08-25_19.42.11-client.txt
latest.log son denemenin tam kaydıdır; oyun çökmese bile yazılır. crash-reports klasöründeki dosya ise yalnızca gerçek bir çökme olduğunda oluşur ve daha derli topludur. Modpack oynuyorsanız bu klasörler .minecraft içinde değil, kullandığınız paketin kendi kurulum dizinindedir (CurseForge, Modrinth ve Prism kurulumlarında her paketin ayrı klasörü vardır).
-
Klasörü açın#
Dosya Gezgini’nin adres çubuğuna
%APPDATA%\.minecraft\logsyazıp Enter’a basın. macOS’ta yol~/Library/Application Support/minecraft/logs, Linux’ta~/.minecraft/logsşeklindedir. -
Dosyayı düzgün bir editörle açın#
Not Defteri büyük log dosyalarında satır sonlarını bozar ve arama yapmayı zorlaştırır. Notepad++ gibi bir editör kullanın.
-
Sondan başlayarak yukarı doğru okuyun#
Hata her zaman dosyanın sonuna yakındır.
Ctrl + File şu üç kelimeyi arayın:Caused by,Exception,ERROR. -
İlk “Caused by” satırını not edin#
Java, hataları iç içe yazar. En değerli satır genelde ilk
Caused bysatırıdır; mod dosya adı, sınıf adı veya sürücü DLL’i orada geçer. Aradığınız cümle o.
Tipik bir kayıt şuna benzer:
[19:42:09] [main/ERROR]: Failed to start the minecraft server
java.lang.RuntimeException: Mixin transformation of net.minecraft.client.Minecraft failed
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError:
Critical injection failure in sodiumextra.mixins.json
Process exited with code 1
Bu örnekte suçlu açıkça yazıyor. Raporun bölümlerini satır satır çözümlemek isterseniz crash report okuma rehberi tam olarak bunun için var.
Hata Satırından Sebebe: Referans Tablosu#
Logda bulduğunuz satırı aşağıdaki tabloda arayın. Sol sütundaki ifadeler birebir metinlerdir; tamamını değil, karakteristik kısmını aratmanız yeterli.
| Logda gördüğünüz satır | Gerçek sebep | Çözüm |
|---|---|---|
| UnsupportedClassVersionError … class file version 69.0 | Java sürümü eski | Java 25 kurun |
| Could not reserve enough space for object heap | Belleğe olmayan kadar RAM verilmiş ya da 32 bit Java | -Xmx değerini düşürün, 64 bit Java kurun |
| java.lang.OutOfMemoryError: Java heap space | Tahsis edilen bellek yetersiz | Tahsisi kademeli artırın, mod sayısını azaltın |
| EXCEPTION_ACCESS_VIOLATION … nvoglv64.dll / atio6axx.dll | Ekran kartı sürücüsü | Üreticinin sitesinden güncel sürücü |
| GLFW error 65542: WGL: The driver does not appear to support OpenGL | OpenGL desteği yok veya sürücü genel sürücü | Sürücü kurun, uzak masaüstünden oynamayın |
| java.lang.NoSuchMethodError / NoClassDefFoundError | Mod oyunun sürümü için derlenmemiş | Modun doğru sürümünü indirin |
| Mixin apply failed / InjectionError | İki mod aynı sınıfı değiştirmeye çalışıyor | Çakışan modlardan birini çıkarın |
| Incompatible mod set! / Missing or unsupported mods | Eksik bağımlılık veya sürüm uyuşmazlığı | Fabric API ve loader sürümünü doğrulayın |
| java.util.zip.ZipException: zip END header not found | Yarım inmiş veya bozuk .jar dosyası | Dosyayı silip yeniden indirin |
| ClassNotFoundException: net.minecraft.client.main.Main | versions klasöründeki sürüm dosyaları bozuk | versions ve libraries klasörlerini sildirip yeniden indirtin |
Tabloda aradığınız satır yoksa panik yapmayın: Caused by satırındaki sınıf adının ilk kelimesi çoğu zaman mod adının kendisidir. Örneğin com.example.betterfarming gibi bir paket adı gördüyseniz suçlu o moddur.
En Sık Sebep: Bozuk veya Uyumsuz Mod#
Modlu oynayanlarda exit code 1 vakalarının büyük bölümü tek bir başlıkta toplanır: mod, oynadığınız sürümle uyumlu değil. Bunun üç klasik biçimi var. Mod başka bir Minecraft sürümü için derlenmiştir, bir bağımlılığı eksiktir ya da başka bir modla aynı yere müdahale ediyordur.
Bölmeye başlamadan önce şu üç şeyi eleyin — vakaların önemli bir kısmı burada kapanır:
- Fabric API eksik mi? Fabric modlarının neredeyse tamamı bu dosyaya bağımlıdır ve
modsklasöründe durması gerekir. - Loader sürümü doğru mu? Fabric Loader veya Forge sürümü, modların beklediği sürümden eskiyse yükleme daha başlamadan biter.
- Tüm modlar aynı sürüme mi ait? Tek bir yanlış dosya bütün paketi düşürür; indirirken sürüm etiketini kontrol edin.
NoSuchMethodError ile düşer. Mod kurulumunun doğru yapılışı mod kurulum rehberinde anlatılıyor.İkili Arama ile Suçlu Modu Bulma#
Yüz modun içinden suçluyu tek tek deneyerek bulmaya kalkarsanız akşamı edersiniz. İkili arama (binary search) aynı işi 4-7 denemede bitirir. Mantığı basit: her turda aday sayısını yarıya indirirsiniz.
-
mods klasörünü ikiye ayırın#
Kullandığınız profilin
modsklasörünü açın. Yanınamods-yedekadında boş bir klasör oluşturup dosyaların tam yarısını oraya taşıyın. Silmeyin, taşıyın. -
Oyunu açmayı deneyin#
Hata devam ediyorsa suçlu klasörde kalan yarıdadır. Oyun açıldıysa suçlu taşıdığınız yarıdadır. Her iki durumda da aday listeniz yarıya indi.
-
Suçlu grubu tekrar ikiye bölün#
Aynı işlemi yalnızca suçlu grup üzerinde tekrarlayın. 100 mod için sırasıyla 50, 25, 13, 7, 4, 2 ve 1 dosya kalır — yedi tur.
-
Bağımlılıkları birlikte taşıyın#
Fabric API, kütüphane modları ve “core” eklentileri her turda klasörde kalsın. Bunları yanlışlıkla taşırsanız oyun zaten açılmaz ve testiniz yanlış sonuç verir.
-
Bulduğunuz modu doğrulayın#
Suçluyu bulduktan sonra tek başına geri koyup deneyin. Hata tekrarlıyorsa teşhis kesindir; modun güncel sürümünü indirin veya paketten çıkarın.
Aynı yöntem sunucu tarafında eklentiler için de çalışır. Sunucuda “Could not load plugin” benzeri satırlar görüyorsanız mod uyuşmazlığı sayfası daha isabetli olur; orada hangi satırın ne anlattığı örneklerle veriliyor.
Yanlış Java Sürümü#
Logda UnsupportedClassVersionError veya “class file version” ifadesi geçiyorsa iş kolay: kurulu Java, oyunun istediğinden eski. Resmî launcher gerekli Java’yı kendisi indirdiği için vanilla oynayanlar bu hatayı nadiren görür; üçüncü taraf launcher kullananlar ise sık sık karşılaşır.
| Minecraft sürümü | Gereken Java | Class file version |
|---|---|---|
| 26.1 ve sonrası (26.2 dâhil) | Java 25 | 69.0 |
| 1.20.5 – 1.21.11 | Java 21 | 65.0 |
| 1.17 – 1.20.4 | Java 17 | 61.0 |
| 1.16.5 ve öncesi (1.12.2, 1.8.9) | Java 8 | 52.0 |
Kurulu sürümü kontrol etmek için komut istemine şunu yazın:
java -version
Çıktıda hem sürüm numarasını hem de 64-Bit ifadesini görmelisiniz. 32 bit bir Java kuruluysa oyun yaklaşık 1,5 GB’ın üzerinde bellek ayıramaz ve ne yaparsanız yapın açılışta düşer. Hatanın ayrıntılı çözümü Java sürüm hatası sayfasında.
Java 26 yayınlandı ancak uzun destekli (LTS) sürüm değildir; sunucu ve oyun tarafında Java 25 tercih edin.
Bozuk Profil ve Hatalı JVM Argümanları#
Launcher’daki kurulum profili de tek başına exit code 1 üretebilir. En sık iki hata var: JVM Arguments kutusuna internetten kopyalanmış, o sürümde geçerli olmayan bir argüman yapıştırmak ve -Xmx değerini yanlış biçimde yazmak.
YANLIŞ: -Xmx 8G (parametre ile değer arasında boşluk var)
YANLIŞ: -Xmx8GB (birim "GB" değil, tek harf "G")
YANLIŞ: -Xmx6G -Xmx8G (iki kez tanımlanmış)
DOĞRU: -Xmx6G
Forumlarda dolaşan uzun bayrak listelerinin çoğu sunucu için yazılmıştır; istemci profiline yapıştırıldığında ya hiçbir işe yaramaz ya da oyunun hiç açılmamasına yol açar. Kutuda ne olduğunu bilmediğiniz bir argüman görüyorsanız silin ve varsayılana dönün.
Profilin tamamından şüpheleniyorsanız yeni bir kurulum profili oluşturun, en son kararlı sürümü (26.2) seçin ve modsuz açın. Burada sorun çıkmıyorsa hata oyunda değil, eski profilinizdedir. Launcher tarafındaki dosyanın kendisi bozulduysa launcher_profiles.json dosyasının adını değiştirip launcher’a yeniden oluşturtabilirsiniz.
Yetersiz Bellek ve Bozuk Oyun Dosyaları#
Bellek tarafında iki farklı hata birbirine karıştırılıyor ve çözümleri birbirinin tersi. Şu ikisini ayırın:
Error occurred during initialization of VM
Could not reserve enough space for object heap
java.lang.OutOfMemoryError: Java heap space
İlki, bilgisayarınızda fiilen olmayan kadar RAM istediğiniz anlamına gelir — çözüm tahsisi azaltmaktır. İkincisi ise oyunun verilen alanı doldurduğunu söyler, orada tahsisi bir kademe artırmak mantıklıdır. Doğru değerleri RAM tahsisi sayfasındaki tablodan seçin; ikinci hatanın ayrıntısı Out of Memory sayfasında duruyor. Bellek yüzünden yaşanan donmalar da benzer bir kökten çıkar, o konu donma ve takılma rehberinde.
Bozuk dosya senaryosu ise genelde yarım kalan bir indirmeden doğar. Oyun dosyalarını sıfırlamak için tamamını silmenize gerek yok:
%APPDATA%\.minecraft\versions
%APPDATA%\.minecraft\libraries
%APPDATA%\.minecraft\assets
Bu üç klasör oyunun indirilebilir parçalarıdır; sildiğinizde launcher hepsini yeniden indirir ve bozuk dosyalar temizlenir.
saves klasörüne dokunmayın — dünyalarınız orada durur ve silindiğinde geri dönüş yoktur. Temizliğe başlamadan önce saves, resourcepacks, shaderpacks ve options.txt dosyalarını başka bir yere kopyalayın. Bu adımı atlayanların yarısı bir hafta sonra dünyasını arıyor.Sunucu Tarafında Exit Code 1#
Aynı kod sunucu açarken de karşınıza çıkar; mantık değişmez, yalnızca bakılacak dosya değişir. Sunucunun kaydı kendi klasöründeki logs/latest.log dosyasındadır ve orada sebep neredeyse her zaman ilk on satırda yazar.
Sunucularda exit code 1’in klasik dört sebebi şunlardır: EULA onaylanmamıştır (eula.txt içinde eula=true olmalıdır), port zaten kullanılıyordur, jar dosyasının adı başlatma betiğindekiyle uyuşmuyordur ya da Java sürümü eskidir. Windows’ta pencere göz açıp kapayıncaya kadar kapanıyorsa hata mesajını okumak için start.bat kapanma sorunu sayfasındaki yöntemi kullanın. Jar dosyası bulunamıyorsa Unable to access jarfile sayfası doğru adrestir.
Kendi sunucunuzu kendi bilgisayarınızda çalıştırıyorsanız şunu da hesaba katın: oyun ve sunucu aynı çekirdekler için yarışır, ikisi de yavaşlar. Sürekli açık kalacak bir kurulum için yüksek saat hızlı Ryzen 9 işlemcili, NVMe SSD diskli ve en az 8 GB RAM’li bir VDS ya da hazır kurulu bir Minecraft sunucu paketi hem kararlı çalışır hem de bu tür hataların yarısını baştan eler. Modlu paketler için taban 16 GB RAM’dir; ayrıntılar modlu sunucu RAM sayfasında.
Özetle#
Exit code 1 bir teşhis değil, bir başlangıç noktasıdır. Kod yalnızca oyunun hata durumunda kapandığını söyler; gerçek sebep latest.log dosyasındaki ilk Caused by satırında ya da crash-reports klasöründeki raporun “Description” satırında yazar. O satırı bulmadan yapılan her deneme kör atıştır.
Satırı bulduktan sonra yol haritası kısalır: UnsupportedClassVersionError görüyorsanız Java sürümünü düzeltin, NoSuchMethodError veya Mixin hatası görüyorsanız modları ikili aramayla eleyin, bellek satırları görüyorsanız tahsisi doğru yöne çekin, ZipException görüyorsanız dosyayı yeniden indirin. Log hala anlaşılmıyorsa dosyayı bir destek talebine ekleyip gönderin; destek ekibi aynı satıra bakacak, siz de gereksiz on adımı denememiş olacaksınız.