Modpack güncelleme, modlu bir sunucuda yapılan en riskli rutin işlemdir. Sebebi basit: tek bir zip dosyası hem sunucu yazılımını, hem mod listesini, hem tarifleri, hem de dünyanın okunma biçimini aynı anda değiştirir. Vanilla bir sunucuda jar dosyasını değiştirirsiniz ve iş biter; modlu sunucuda ise mod listesi, config katmanları, dünya verisi ve oyuncuların istemcisi dört ayrı cephede eşitlenmek zorundadır.
Bu sayfada modpack sürüm yükseltmesini baştan sona anlatıyoruz: güncelleme öncesi tam yedek, sürüm notlarının nasıl okunacağı, config klasöründe neyin korunup neyin yenileneceği, dünya uyumluluğu ve kaldırılan modların bıraktığı boşluk sorunu, oyuncuların istemcisini eşitleme ve işler ters giderse uygulayacağınız geri dönüş planı.
Modpack Güncellemesi Sürüm Yükseltmesinden Neden Farklıdır?#
Destek taleplerinde en sık gördüğümüz senaryo şu: sunucu sahibi CurseForge’da paketin yeni sürümünü görüyor, server pack’i indiriyor, dosya yöneticisinden yüklüyor ve “Decompress” diyor. Sonrasında sunucu ya açılmıyor ya da açılıyor ama oyuncular giremiyor. Çünkü modpack güncellemesinde aslında dört şey birden değişir:
- Mod listesi: eklenen, çıkarılan ve sürümü değişen modlar.
- Loader sürümü: Forge veya NeoForge yapı numarası çoğu güncellemede birlikte artar.
- Ayar katmanları:
config/,defaultconfigs/,kubejs/ve varsa görev (quest) dosyaları. - Dünya verisi: registry eşlemesi, chunk içindeki blok kimlikleri ve mod verileri.
Bunların dördü de birbirine bağlı. Loader sürümünü güncellerken mod listesini eski bırakırsanız açılışta bağımlılık hatası alırsınız; mod listesini güncelleyip config’i eski bırakırsanız yeni modlar varsayılan ayarlarla gelir. Modlu sunucu kurulumunun temeli konusunda eksiğiniz varsa önce modlu Minecraft sunucusu kurma rehberine göz atmakta fayda var; buradaki adımlar zaten çalışan bir kurulumun üzerine ekleniyor.
Güncelleme Öncesi Kontrol Listesi#
Aşağıdaki yedi maddeyi tamamlamadan hiçbir dosyaya dokunmayın. Toplamda yarım saat sürer ve gerçekten işe yarar.
- Mevcut sürümü not edin
- Panelde ya da
logs/latest.logilk satırlarında yazar. “Hangi sürümdeydik” sorusu geri dönüşte kritik olur. - Hedef sürümü seçin
- En yeni değil, kararlı olanı seçin. Yeni çıkmış bir sürümde ilk birkaç gün hotfix yağar.
- Sürüm notlarını okuyun
- Özellikle “removed” ve “world reset required” ifadelerini arayın.
- Loader sürümünü öğrenin
- Yeni paket hangi Forge/NeoForge yapısını istiyor? Server pack’in kendi installer’ı bunu kurar.
- Java sürümünü doğrulayın
- 26.1 ve sonrası Java 25 ister.
java -versionçıktısını görün. - Tam yedek alın
- Sunucu durmuşken. Dünya,
mods/veconfig/birlikte. - Bakım penceresi duyurun
- Oyunculara güncellenecek sürümü de yazın; istemcilerini önceden hazırlasınlar.
26.2-65.1.2, NeoForge tarafında 26.2.0.63. Server pack kendi installer’ını taşıdığı için bu numaraları elle indirmeniz gerekmez; ama panel üzerinde çalışıyorsanız başlatma komutundaki yolun yeni sürüm numarasına göre güncellendiğini kontrol edin. İki loader arasındaki farkları Forge ve NeoForge karşılaştırma sayfasında ayrıntılı bulabilirsiniz.Adım 1 — Tam Yedek: Dünya, mods ve config Birlikte#
Modlu sunucuda yalnızca world/ klasörünü yedeklemek işe yaramaz. O dünyayı geri yüklediğinizde onu okuyabilecek mod listesi elinizde olmazsa yedek bir işe yaramaz hâle gelir. Bu yüzden üçünü aynı arşive koyun.
# 1) Sunucu konsolunda:
save-all
save-off
stop
# 2) Sunucu tamamen kapandiktan sonra tarihli tam arsiv:
tar -czf modpack-yedek-$(date +%F-%H%M).tar.gz \
world mods config defaultconfigs kubejs \
server.properties user_jvm_args.txt ops.json whitelist.json
# 3) Arsivi acip icerigini dogrulayin (acilmayan arsiv yedek degildir):
tar -tzf modpack-yedek-*.tar.gz | grep -c "^world/"
# Windows sunucularda, sunucu KAPALIYKEN:
$tarih = Get-Date -Format "yyyy-MM-dd-HHmm"
Compress-Archive -Path C:\minecraft\modpack\* -DestinationPath C:\yedek\modpack-$tarih.zip
.mca dosyası üretir ve bunu ancak aylar sonra, o bölgeye ilk giren oyuncu çöktüğünde fark edersiniz. Düzenli bir yedek düzeni kurmadıysanız Minecraft sunucu yedekleme rehberi tam bu iş için yazıldı.Yedeği sunucunun kendi diskinde bırakmayın. Modpack sunucularında dünya klasörü hızla büyür ve disk dolduğunda ilk kaybettiğiniz şey genelde yedek olur; disk dolduğunda ne yapılacağını anlatan sayfa bu senaryoyu ayrıca ele alıyor.
Adım 2 — Sürüm Notlarını Gerçekten Okuyun#
Modpack yazarları sürüm notunu CurseForge veya Modrinth’teki dosya sayfasına, çoğu zaman da paketin GitHub deposundaki CHANGELOG.md dosyasına koyar. Baştan sona okumanız gerekmez; şu beş şeyi arayın:
-
“Removed” başlığı#
Çıkarılan her mod, dünyanızda o modun bıraktığı her blok demektir. Oyuncuların yoğun kullandığı bir mod çıkarıldıysa güncellemeyi ertelemek meşru bir karardır.
-
“World reset required” veya “new world recommended”#
Bu ifadeyi gördüğünüz anda plan değişir. Dünyayı sıfırlamadan geçerseniz üretim (worldgen) değişiklikleri eski ve yeni chunk’lar arasında görünür duvarlar bırakır.
-
Loader ve Minecraft sürümü#
Paket 1.21.1’den 26.2’ye atladıysa bu artık modpack güncellemesi değil, sürüm yükseltmesidir; kuralları farklıdır.
-
Config sıfırlama uyarısı#
Bazı sürümler “delete your config folder” der. Bunu okumadan eski config’i taşırsanız hata sizde olur.
-
Tek seferlik komutlar#
Özellikle görev (quest) ve tarif modlarında “bir kez şu komutu çalıştırın” talimatı çıkar. Atladığınız ara sürümlerdeki notları da okuyun.
-
CurseForge MinecraftModpack kaynağıİndir
-
Modrinthİndir
-
Eclipse Temurin JDK 25LTS · 26.x için zorunluİndir
-
7-Zipİndir
Bağlantılar resmî kaynaklara gider. Modpack zip’ini üçüncü taraf aynalardan indirmeyin.
Adım 3 — Yeni Server Pack’i Ayrı Klasöre Kurun#
Profesyonel yöntem tek cümleyle şudur: yeni paketi temiz bir klasöre kurun, sonra eski dünyayı ve ayarlarınızı oraya taşıyın. Tersini yapmayın. Böylece eski paketten artık mod jar’ı kalmaz ve bir sorun çıkarsa eski klasör olduğu gibi elinizde durur.
# Eski kurulum oldugu yerde kalsin, yeni klasor acin:
mkdir -p /opt/minecraft/paket-v12
cd /opt/minecraft/paket-v12
# Server pack zip'ini buraya acin (dosya adi pakete gore degisir):
unzip ../ServerFiles-12.0.zip
# Loader kutuphanelerini kurup ilk acilisi yapin:
chmod +x startserver.sh
./startserver.sh
İlk çalıştırma libraries/ klasörünü üretir, eula.txt dosyasını oluşturup durur. Bu adımı kesmeyin; yüzlerce jar indirilir ve birkaç dakika sürebilir. Server pack’i nereden ve nasıl indireceğinizden emin değilseniz CurseForge server pack indirme sayfası adım adım gösteriyor; Modrinth paketleri için Modrinth modpack sunucusu kurulumu sayfasına bakın.
RAM ayarınızı unutmayın. Forge ve NeoForge tabanlı server pack’lerde RAM başlatma betiğinde değil user_jvm_args.txt dosyasındadır:
# user_jvm_args.txt (12 GB paket icin)
-Xms10G
-Xmx10G
ServerPackCreator ile üretilmiş bazı paketlerde ise aynı ayar variables.txt içindeki JAVA_ARGS satırındadır. Hangi paket ne kadar bellek ister sorusunun cevabı modlu sunucu RAM rehberinde tablo hâlinde duruyor; kabaca 16 GB’ın altına inmemek modlu paketlerde iyi bir alışkanlık.
config Klasöründe Ne Korunur, Ne Yenilenir?#
Burası herşeyin karıştığı yer. Forge ve NeoForge’da ayarlar tek bir klasörde değil, üç ayrı katmanda durur ve bu katmanların güncellemedeki davranışları farklıdır:
config/*-client.tomlveconfig/*-common.toml— kurulum geneli ayarlar, sunucu kökünde durur.world/serverconfig/*-server.toml— dünyaya özel ayarlar, dünya klasörünün içindedir.defaultconfigs/— paket yazarının şablonları; sadece yeni bir dünya oluşturulurkenserverconfigiçine kopyalanır.
Bunun pratik sonucu şu: yazar yeni sürümde bir mod ayarını defaultconfigs/ içinde değiştirdiyse, mevcut dünyanızda o değişiklik görünmez. Çünkü sizin dünyanızın kendi serverconfig kopyası zaten var. Değişikliği istiyorsanız ilgili dosyayı elle güncellemeniz gerekir.
| Dosya / klasör | Güncellemede ne yapılır | Neden |
|---|---|---|
mods/ | Tamamen yeni paketinki | Eski jar kalırsa çift sürüm çakışması olur |
config/ | Yeni paketinki gelir, kendi değişiklikleriniz elle taşınır | Yeni modların ayar dosyaları eksik kalmasın |
defaultconfigs/ | Yeni paketinki | Yalnızca yeni dünyalara etki eder |
kubejs/, scripts/, packmenu/ | Yeni paketinki | Tarif ve görev değişiklikleri burada |
world/ | Aynen korunur | Oyuncuların bütün emeği burada |
world/serverconfig/ | Korunur, yeni anahtarlar elle eklenir | Dünyaya bağlı mod ayarları |
server.properties, ops.json, whitelist.json | Korunur | Yetkiler ve sunucu kimliği |
user_jvm_args.txt | Korunur; yeni paketinkiyle karşılaştırın | RAM ve GC ayarlarınız burada |
libraries/, run.sh, run.bat | Yeniden üretilir | Loader sürümüne bağlıdır |
logs/, crash-reports/ | Taşınmaz | Yeni kurulumda temiz başlasın |
Eski ve yeni config klasörlerini karşılaştırmak için gözle bakmayın, araç kullanın:
# Iki config klasoru arasindaki farklari listele
diff -rq /opt/minecraft/paket-v10/config /opt/minecraft/paket-v12/config
# Sadece sizin degistirdiginiz bir dosyanin farkini gor
diff -u /opt/minecraft/paket-v10/config/ornekmod-common.toml \
/opt/minecraft/paket-v12/config/ornekmod-common.toml
Dünya Uyumluluğu ve Kaldırılan Modların Bıraktığı Boşluk#
Dünyanız, içindeki blokları isimle değil sayısal kimlikle saklar; bu kimliklerle mod içeriği arasındaki eşleme level.dat içinde tutulur. Bir mod paketten çıktığında o eşlemedeki girdilerin karşılığı kalmaz. İşte o zaman şu satırı görürsünüz:
[Server thread/WARN]: Forge Mod Loader detected missing registry entries.
Buradaki en kritik nokta, internetteki Türkçe rehberlerin çoğunun hala yanlış bilgi vermesi: eskiden bu uyarıda konsola /fml confirm yazıp onay verilirdi. Bu, Minecraft 1.7.10–1.12.2 dönemine aittir. 1.16’dan itibaren o onay penceresi kaldırıldı; Forge artık kendisi onaylıyor ve eksik girdileri sessizce siliyor. Yani 26.x’te oyuncu hiçbir uyarı görmeden makinesinin yerinde delik bulabilir.
Peki --forceUpgrade ve --eraseCache bayrakları işe yarar mı? Mod çıkardıktan sonra rutin olarak kullanılmamalıdır. İkisi de tüm dünyayı baştan yazar; ışık hatalarını çözebilir ama veri kaybı riskini ciddi biçimde artırır. Ancak elinizde sağlam bir yedek varken ve gerçekten ışık/chunk sorunu yaşarken düşünülür.
Bir modu paketten sonradan çıkarmanın ya da eklemenin doğru sırasını merak ediyorsanız modlu sunucuya sonradan mod ekleme ve çıkarma sayfasında bu iş tek tek anlatılıyor.
Adım 4 — Oyuncuların İstemcisini Eşitleyin#
Sunucu tarafı bittiğinde iş yarıdadır. Forge ve NeoForge, oyuncu bağlandığında istemci ile sunucunun kayıtlı ağ kanallarını ve registry içeriğini karşılaştırır; uyuşmazsa bağlantıyı reddeder. Sürüm eşleşmesi tam olmalıdır: “aynı modpack ama farklı yapı” da hata verir.
Oyuncuların göreceği metinler loader’a göre değişir:
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:
Connection closed - mismatched mod channel list
NeoForge 1.20.2 ve sonrasında protokol artık tam mod listesini ağ üzerinden göndermiyor; yalnızca kanal ve registry içeriğine bakıyor. Bu yüzden 26.x NeoForge sunucularında oyuncular “mod rejections” yerine kanal bazlı bir pazarlık hatası görür. İyi tarafı şu: minimap, shader ve FPS modları gibi tamamen istemci taraflı eklentiler kanal kaydetmediği için sorun çıkarmaz. Bu hataların hangisinin ne anlama geldiğini mod uyuşmazlığı hatası sayfasında tek tek ayırdık.
Duyuruyu yaparken şu üç bilgiyi birlikte verin: paket adı, tam sürüm numarası ve loader sürümü. Sadece “paketi güncelleyin” demek yeterli olmuyor; oyuncuların yarısı en son sürüme değil, bir üstteki sürüme geçiyor. CurseForge tarafında sürüm değiştirme adımlarını CurseForge Launcher kullanım rehberinde, Prism kullananlar için aynı işlemi Prism Launcher sayfasında bulabilirsiniz.
Geri Dönüş Planı ve Güncelleme Sonrası Doğrulama#
Yeni klasörde kurduğunuz için geri dönüş kolaydır: sunucuyu durdurun, başlatma yolunu eski klasöre çevirin, dünyayı yedekten geri yükleyin. Kritik nokta dünyadır — yeni paketle açılmış bir dünyayı eski pakete geri koymak temiz bir çözüm değildir, bu yüzden yedeğe dönersiniz.
# Yeni kurulumda dunyayi kenara alin (SILMEYIN):
mv /opt/minecraft/paket-v12/world /opt/minecraft/paket-v12/world-v12-sorunlu
# Eski klasorde, guncelleme oncesi yedekten dunyayi geri acin:
cd /opt/minecraft/paket-v10
tar -xzf /yedek/modpack-yedek-2026-08-22-0300.tar.gz world
# Eski paketi baslatin:
./startserver.sh
Güncelleme başarılıysa oyunculara kapıyı açmadan önce şunları kontrol edin: açılış logunda ERROR satırı var mı, konsolda Done satırı geldi mi, kendi hesabınızla girip Overworld / Nether / End üçüne de gidiyor musunuz, oyuncuların kullandığı iki üç büyük makine hâlâ ayakta mı, ve TPS birkaç oyuncuyla 20’de kalıyor mu. Bu turu atmadan “güncelleme bitti” demeyin. Açılışta takıldığınız bir hata olursa modlu sunucu hataları ve çözümleri sayfasında en sık görülenleri log satırlarıyla birlikte listeledik.
Güncelleme sonrası ilk günlerde TPS düşerse panik yapmayın; yeni modlar yeni chunk yükü demektir. Kalıcı bir düşüş varsa modlu sunucu optimizasyonu sayfasındaki ayarlar ve profil çıkarma yöntemleri işinizi görür. Donanım tarafında sıkışıyorsanız — ki 200+ modlu paketlerde bu sık olur — Batihost modlu Minecraft sunucu paketleri NVMe SSD ve yüksek saat hızlı Ryzen 9 işlemcilerle çalışır; modlu paketlerde tek çekirdek performansı çekirdek sayısından daha belirleyicidir.
Sık Yapılan Modpack Güncelleme Hataları#
- Eski klasörün üzerine açmak
- Listenin bir numarası. Eski mod jar’ları silinmez, çakışır.
- İstemci paketini sunucuya yüklemek
- CurseForge’daki turuncu düğme istemci paketidir; sunucuda çalışmaz. Server pack “Additional Files” altındadır.
- Sürüm notlarını atlamak
- “Removed” ve “world reset” satırlarını görmeden başlanan güncelleme kumar olur.
- Eski config’i olduğu gibi kopyalamak
- Yeni modların ayar dosyaları eksik kalır; bazıları açılışta patlar.
- Java sürümünü unutmak
- Paket 26.2’ye geçtiyse Java 25 şarttır; Java 21 ile sunucu hiç açılmaz.
- Oyunculara sürüm numarası vermemek
- Yanlış sürüme geçen oyuncu bağlanamaz ve destek talebi size gelir.
- İlk açılışı arka planda yapmak
- Kritik uyarılar ilk yarım dakikada basılır; konsolu izleyin.
- Yedeği aynı diskte tutmak
- Disk arızasında hem sunucu hem yedek gider.
Özetle#
Modpack güncellemesi, sırası bozulmadığında yarım saatlik bir bakım işidir. Akılda kalması gereken beş şey var: güncellemeden önce dünya, mods ve config klasörlerini birlikte yedekleyin; sürüm notlarındaki “removed” satırlarını okuyun; yeni paketi eski klasörün üzerine değil ayrı bir klasöre kurun; defaultconfigs değişikliklerinin mevcut dünyaya işlemediğini bilin; ve oyunculara paket adıyla birlikte tam sürüm numarasını duyurun.
Kaldırılan modların bıraktığı boşluk sorunu bu işin geri dönüşü olmayan tarafıdır. Forge artık eksik registry girdilerini sessizce sildiği için, dünya o modsuz bir kez açıldığında veri gitmiş olur. Bu yüzden “önce yedek” kuralı modlu sunucuda vanilla sunucudan çok daha ciddidir.
Dünyanızı başka bir sunucuya taşımanız gerekiyorsa modlu sunucuda dünya taşıma sayfası aynı registry mantığını taşıma senaryosu için anlatıyor. Güncelleme sırasında çözemediğiniz bir hata kalırsa konsol çıktısını destek talebiyle iletebilirsiniz.