Mod uyuşmazlığı hatası, istemcinizdeki mod listesiyle sunucunun mod listesi birebir aynı olmadığı için bağlantının reddedilmesidir. Oyuncular buna genellikle "Missing or Unsupported Mods" der; gerçekte Forge ve NeoForge’un birkaç farklı mesajı vardır ve hangisini gördüğünüz, ne yapmanız gerektiğini doğrudan belirler. Bu sayfada mesajları tek tek ayırıyor, eksik modun adını nasıl bulacağınızı ve sorunun bir daha çıkmaması için ne yapmanız gerektiğini anlatıyoruz.
Temel kural şudur: bir oyuncu bağlandığında Forge/NeoForge, istemci ile sunucunun kayıtlı ağ kanallarını (network channel) ve mod listesini karşılaştırır. Ortak oyunu etkileyen bir mod bir tarafta eksikse, fazlaysa ya da sürümü farklıysa bağlantı reddedilir. Yani "modu kurdum ama olmadı" diyenlerin çoğunun sorunu sürüm farkıdır.
Missing or unsupported mandatory dependencies: (log satırı), bağlanırken Your client is missing the following mods… (ekran mesajı). Hangisini gördüğünüzü ayırt etmek teşhisin yarısıdır.Hangi mesajı görüyorsunuz? Hızlı ayrım tablosu#
| Mesaj | Nerede çıkar | Anlamı |
|---|---|---|
| Incompatible FML modded server | Sunucu listesi, kırmızı X üzerinde tooltip | Ping yanıtına göre uyumsuz; ayrıntı yok |
| Your client is missing the following mods… | Bağlanma denemesinde tam ekran | Sizde eksik mod var |
| The server is missing the following mods… | Bağlanma denemesinde tam ekran | Sizde fazla mod var |
| Connection closed - mismatched mod channel list | Bağlantı kesme mesajı | Ağ kanalı listeleri aynı değil |
| Connection closed - mod rejections [ … ] | Eski sürümlerde (1.7.10 – 1.12.2) | Köşeli parantezdeki mod ID’leri reddedildi |
| Incompatible mod set! | Fabric’te konsol, açılış anında | Bağımlılık çözümlemesi başarısız |
Sunucu listesindeki kırmızı X: “Incompatible FML modded server”#
Çok oyunculu ekranında sunucunun sağında kırmızı bir X görüyor ve üzerine gelince bu yazıyı okuyorsanız, panik yapmayın: bu bir bağlantı hatası değildir. Sunucu listesi yalnızca durum ping’ine (status ping) bakar ve elindeki sınırlı bilgiyle "uyumsuz" der. Forge’un aynı dosyadaki komşu metinleri nedeni biraz daha açar: mod listesi uyumsuz, ağ mesaj listesi uyumsuz, iki taraftan birinin FML ağ protokolü eski ya da datapack registry’leri eksik olabilir.
Pratik tavsiye şudur: kırmızı X’i görseniz bile bağlanmayı deneyin. Gerçek ve ayrıntılı hata, ancak bağlanma denemesinde ekrana gelir. Bazı durumlarda sunucu listesi uyumsuz gösterse de bağlantı sorunsuz kurulur.
Bağlantı ekranındaki tabloyu okuma#
Forge 1.19 ve sonrasında (ve NeoForge’da) bağlantı reddedildiğinde dört sütunlu bir tablo çıkar: Mod name, You need, You have, Server has. Üstteki cümle üç senaryodan birini söyler:
Your client is missing the following mods, install these mods to join this server:
The server is missing the following mods, remove these mods from your client to join this server:
The following mods have a version mismatch:
Tabloyu okurken sırasıyla şunu yapın:
-
Mod adını not edin#
Sol sütundaki ad, mod dosyasının adı değil görünen adı olabilir. Modu ararken bu adı kullanın, dosya adını değil.
-
“You need” sütunundaki sürümü yazın#
Bu, sunucunun beklediği sürümdür. Modun en son sürümünü indirmek çoğu zaman yanlış hamledir; sunucudaki sürümün aynısını indirin.
-
Listenin tamamını görün#
Ekranda liste uzunsa altta
[N additional, see latest.log for the full list]yazar. Tam liste istemci tarafındakilogs/latest.logdosyasındadır. -
Modu doğru klasöre koyun#
İstemcide modlar oyun profilinin
mods/klasörüne gider. CurseForge veya Modrinth uygulaması kullanıyorsanız modu ilgili profilin klasörüne eklemelisiniz, ana.minecraft/modsklasörüne değil.
İstemci tarafındaki log dosyasının yeri işletim sistemine göre değişir: Windows’ta %APPDATA%\.minecraft\logs\latest.log, Linux’ta ~/.minecraft/logs/latest.log. Launcher üzerinden kurulmuş bir modpack kullanıyorsanız log, o modpack profilinin (instance) kendi klasöründedir. Log okuma alışkanlığı yoksa crash report okuma rehberi iyi bir başlangıçtır.
“Mismatched mod channel list” ve “mod rejections”#
Forge’un 1.13-1.20 döneminde en çok görülen bağlantı kesme mesajı şudur:
Connection closed - mismatched mod channel list
Burada kritik bir ayrım var ve çoğu rehber bunu atlar: bu hatayı yalnızca ağ kanalı kaydeden modlar üretir. Minimap, shader, FPS artırıcı gibi tamamen istemci taraflı modlar kanal kaydetmediği için bu mesajın sorumlusu olamaz. Yani "her modu tek tek sildim, yine olmadı" diyen oyuncu genellikle yanlış modları siliyordur.
Daha eski sürümlerde (özellikle 1.7.10-1.12.2) mesaj daha cömerttir ve suçluyu doğrudan yazar:
Connection closed - mod rejections [tconstruct, jei, ironchest]
Köşeli parantez içindeki mod ID’lerini istemci ile sunucu arasında eşitleyin: eksikse ekleyin, fazlaysa çıkarın, sürüm farklıysa aynı sürüme çekin. Eski sürümlerde çalışan bir sunucu yönetiyorsanız 1.12.2 sunucu kurulumu sayfası mod desteği tarafını ayrıntılı ele alıyor.
/fml confirm yazmanızı söyler. Bu komut Minecraft 1.7.10-1.12.2 dönemine aittir. 1.16’dan itibaren o onay penceresi tamamen kaldırıldı; Forge artık eksik girdileri sessizce siler. 26.x’te /fml confirm ve -Dfml.queryResult=confirm hiçbir işe yaramaz.NeoForge 1.20.2 sonrası: mesajlar neden değişti#
NeoForge, 1.20.2 ile ağ katmanını yeniden yazdı ve mod listesini artık ağ üzerinden göndermiyor. Resmî duyurunun ifadesiyle yeni protokol yalnızca kanal ve registry içeriği bazında çalışıyor. Bunun oyuncu için iki somut sonucu var:
- Sunucu artık istemcinizin tam mod listesini görmüyor; bu yüzden 26.x NeoForge sunucularında klasik "mod rejections" mesajı çıkmaz.
- Bunun yerine kanal, registry ve data map tabanlı "negotiation failure" mesajları görürsünüz. Tipik dize şuna benzer:
Channel of mod "ornekmod" failed to connect: This channel is missing on the server side,
but is required on the client.
Mesajı okurken hangi tarafın eksik olduğuna dikkat edin: "missing on the server side" sizde fazla mod olduğunu, "missing on the client" ise sizde eksik mod olduğunu söyler. Uygulamada çözüm aynıdır: iki tarafın mod klasörünü eşitleyin.
Fabric’te durum farklı: “Incompatible mod set!”#
Fabric Loader, vanilla el sıkışmasını değiştirmez. Bu yüzden Fabric sunucularına vanilla istemciyle bile girilebilir ve istemci taraflı modlar sorun çıkarmaz. Fabric’te uyuşmazlık bağlantı anında değil, oyun ya da sunucu açılırken bağımlılık çözümlemesi sırasında patlar ve size çözümü yazar:
Incompatible mod set!
net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
- Replace mod 'Fabric API' (fabric-api) 0.152.0 with version 0.157.0 or later.
Unmet dependency listing:
- Mod 'Ornek Mod' (ornekmod) 1.4.2 requires version 0.157.0 or later of fabric-api
A potential solution has been determined: satırının altındaki cümleyi harfiyen uygulayın. Fabric modlarının neredeyse tamamı Fabric API’ye bağımlıdır; 26.2 için güncel sürüm 0.157.0+26.2’dir. Fabric sunucusu kurulumunun tamamı için Fabric sunucu kurulumu sayfasına bakın.
-
Fabric APIZorunlu bağımlılıkİndir
-
Modrinth mod arşiviAç
-
CurseForge MinecraftAç
-
Eclipse Temurin JDK 25LTSİndir
Mod indirirken sürüm sekmesinden sunucunuzun Minecraft sürümünü seçin. Üçüncü taraf "mod paketi" sitelerinden jar indirmeyin.
Hangi modun sorun çıkardığını kesin olarak bulma#
Ekrandaki tablo yeterli değilse iki listeyi yan yana koyun. Sunucu tarafında mod dosyalarını listelemek için:
# Linux sunucuda
ls -1 /opt/minecraft/sunucu/mods/ | sort > /tmp/sunucu-modlari.txt
wc -l /tmp/sunucu-modlari.txt
# Windows sunucuda
Get-ChildItem "C:\minecraft\sunucu\mods" -Filter *.jar | Select-Object -ExpandProperty Name | Sort-Object
Aynı listeyi istemci profilinin mods klasöründen de alın ve iki metni karşılaştırın. Fark ettiğiniz her dosya adayınızdır. Sunucu açılışında bağımlılık hatası da varsa latest.log zaten adı verir:
[main/ERROR] [ne.mi.fm.lo.ModSorter/LOADING]: Missing or unsupported mandatory dependencies:
Mod ID: 'jei', Requested by: 'ornekmod', Expected range: '[19.0,)', Actual version: [MISSING]
[MISSING] etiketi modun hiç kurulu olmadığını, sürüm numarası görünüyorsa istenen aralığın dışında kaldığını gösterir. Bu hatanın ve diğer açılış sorunlarının tamamı için modlu sunucu hataları ve çözümleri sayfasına geçin.
Hangi modlar sunucuya konmaz? İstemci taraflı modlar#
İstemci taraflı (client-side only) mod, oyunun yalnızca oyuncu tarafını değiştiren, hiçbir ağ kanalı kaydetmeyen ve blok/eşya/varlık/tarif gibi kayıtlı içerik eklemeyen moddur. Bunlar sunucuya yüklenmez; yüklenirse gereksiz RAM ve açılış süresi harcar veya doğrudan hata verir.
Sunucuya KONMAZ#
- Minimap modları (Xaero’s Minimap, JourneyMap istemci kısmı)
- Görsel ve render optimizasyonu (Sodium, Embeddium, OptiFine)
- Shader yükleyiciler ve shader paketleri
- Arayüz düzenleyiciler, envanter sıralayıcılar
- Ses, animasyon ve kozmetik modlar
İki tarafta da OLMALI#
- Blok, eşya, yaratık veya boyut ekleyen tüm modlar
- Tarif/işleme sistemi ekleyen modlar
- Kendi ağ paketini gönderen makine ve otomasyon modları
- Kütüphane (library) modları: Architectury, Kotlin for Forge vb.
- Fabric API ve benzeri temel bağımlılıklar
Sunucuya mod eklerken veya çıkarırken dünyayı bozmamak için önce save-all ve save-off çalıştırıp sunucuyu durdurun, ardından world/, mods/ ve config/ klasörlerini birlikte yedekleyin. Bu akışın tamamı sonradan mod ekleme ve çıkarma sayfasında anlatılıyor.
Kalıcı çözüm: aynı modpack, aynı sürüm#
Tek tek mod eşitlemek yerine herkesi aynı paketin aynı sürümünde toplamak, bu hatayı kökten bitirir. Modpack kullanan bir sunucuda doğru akış şudur:
-
Sunucunun modpack sürümünü öğrenin#
Panelden veya sunucu dosyalarından paketin tam adını ve sürümünü not edin. Sadece paket adı yetmez; örneğin "V12" ile "V12 HF" farklı sürümlerdir ve bağlanmayı engeller.
-
Oyuncular aynı sürümü kursun#
CurseForge uygulamasında modpack sayfasındaki Versions sekmesinden sunucudakiyle birebir aynı sürümü seçtirin. Kurulum ve RAM ayarı adımları için CurseForge Launcher kullanım rehberine bakın.
-
Kurulu paketin sürümünü değiştirin#
Zaten kurulu bir paket varsa My Modpacks bölümünde paketin üzerine gelip Play düğmesinin yanındaki çift ok düğmesine tıklayın ve listeden hedef sürümü seçin. Mevcut kurulumu bozmadan denemek için "ayrı profil oluştur" seçeneğini işaretleyin.
-
Sunucuda server pack kullanın#
Sunucu tarafına istemci paketini değil server pack’i kurun. İkisi farklı dosyalardır ve istemci paketi sunucuda çalışmaz. İndirme adımları CurseForge server pack sayfasında.
Sürüm geçişinde çıkan uyuşmazlıklar: 26.x’e taşınma#
Sunucunuzu 1.21.11 veya öncesinden Minecraft 26.1/26.2’ye taşıyorsanız mod uyuşmazlığı kaçınılmaz olarak çıkar. Nedeni tek bir teknik değişikliktir: 26.1, obfuscated varyantı olmayan ilk Minecraft sürümüdür. Mojang artık obfuscated sunucu jar’ı yayınlamıyor. Bu bir ABI kırılmasıdır, sadece sürüm atlaması değil.
Sonuç olarak 1.21.11 ve öncesi için derlenmiş hiçbir mod, yeniden derlenmeden 26.x üzerinde çalışmaz. Eski jar’lar tipik olarak "FAILED during APPLY", NoSuchMethodError veya NoClassDefFoundError verir. Geçiş yaparken şu sırayı izleyin:
1. Mevcut sunucunun tam yedeğini alın (world + mods + config)
2. mods/ klasörünü boşaltın, taşımayın
3. Her modun 26.2 için yayınlanmış yapısını tek tek indirin
4. 26.2 sürümü olmayan modların yerine alternatif bulun veya paketten çıkarın
5. Oyunculara yeni mod listesini ve sürümünü duyurun
Bu geçişte sunucu ile istemcinin protokol sürümü de değişir (26.1 = 775, 26.2 = 776). İstemci ile sunucu farklı sürümdeyse mod uyuşmazlığı değil, "Outdated server" veya "Outdated client" uyarısı alırsınız; o durumun çözümü Outdated Server / Outdated Client hatası sayfasında.
Bağlantı sırasında kopma ve Internal Exception mesajları alıyorsanız sorun mod listesinde olmayabilir; büyük paketlerde yapılandırma senkronizasyonu tek paket sınırını aşabiliyor. Bu ayrı konuyu Internal Exception hatası sayfasında ele aldık.
Özetle#
Mod uyuşmazlığı hatası karmaşık görünse de tek bir cümleye iner: istemci ile sunucunun ortak oyunu etkileyen mod listesi birebir aynı olmalıdır. Ekrandaki tablo hangi modun hangi sürümde gerektiğini zaten yazar; en son sürümü indirmek yerine sunucudaki sürümü indirin. Minimap, shader ve FPS modları bu hatayı üretmez, onları silmekle vakit kaybetmeyin.
Kalıcı çözüm herkesin aynı modpack sürümünde toplanmasıdır. Sunucu tarafında server pack kullanın, oyunculara paket adını sürümüyle birlikte duyurun. Kurulumu sıfırdan planlıyorsanız modlu Minecraft sunucusu kurma rehberiyle başlayabilir, 16 GB’dan başlayan RAM ve yüksek frekanslı Ryzen 9 işlemci isteyen paketler için Batihost modlu sunucu paketlerine göz atabilirsiniz.