Modlu Minecraft sunucusunda dünya taşıma, vanilla bir dünyayı kopyalamaktan çok daha hassas bir iştir. Vanilla tarafta world klasörünü alıp yeni sunucuya atmak çoğu zaman yeterlidir. Modlu tarafta ise dünyanın içindeki her blok, her eşya ve her boyut, o dünyayı üreten mod listesine bağlıdır. Mod listesi eksik geldiğinde dünya açılır, sunucu çalışır, hiçbir hata ekranı görmezsiniz — ama içerik sessizce silinmiştir.
Bu sayfada modlu dünya aktarmanın tam prosedürünü anlatıyoruz: hangi klasörlerin kopyalanacağı, mod listesinin neden birebir aynı olması gerektiği, mod kimliği (registry) çakışmasının nasıl ortaya çıktığı, 26.1 ile değişen dünya klasörü yapısı ve taşıma bittikten sonra yapmanız gereken doğrulama adımları.
.mca dosyası üretirsiniz ve bunu ancak o bölgeye ilk giren oyuncu çöktüğünde fark edersiniz. Kopyalamadan önce konsolda save-all, save-off ve stop komutlarını sırayla çalıştırın.Temel Kural: Dünya Modlarıyla Birlikte Taşınır#
Modlu bir dünya, kendi başına anlam ifade eden bir veri yığını değildir. Chunk dosyalarının içinde bloklar isimle değil sayısal kimlikle saklanır; bu kimliklerin hangi mod içeriğine karşılık geldiğini söyleyen tablo ise level.dat dosyasının içinde durur. Yani dünyanız “3417 numaralı blok” der, level.dat “3417 şu modun şu bloğu” der, mod da o bloğu tanımlar. Bu üçlüden biri eksik olduğunda zincir kopar.
Pratikte bunun anlamı şu: taşıma listesinde dünya, mod jar’ları ve config birlikte yer alır. Hedef sunucuda mod listesini “sonra hallederiz” diye ertelerseniz, dünyayı ilk açtığınız anda kayıp başlar. Kurulumu sıfırdan yapıyorsanız modlu Minecraft sunucusu kurma rehberindeki adımları tamamlayıp sunucuyu bir kez açtıktan sonra taşımaya geçin.
Taşımadan Önce: Sunucuyu Doğru Durdurun#
Bu adım göründüğünden önemli. Minecraft chunk’ları belleğe alır ve belirli aralıklarla diske yazar; sunucu çalışırken kopyaladığınız dünya, diskteki hâliyle bellekteki hâlin karışımı olur.
# Sunucu konsolunda sirayla:
save-all
save-off
stop
# Surecin gercekten bittigini dogrulayin:
ps aux | grep -c "[j]ava"
Süreci kill -9 ile ya da Görev Yöneticisi’nden sonlandırmayın. Modlu sunucularda kapanış sırasında birçok mod kendi verisini son kez diske yazar; zorla sonlandırma bu yazımları yarıda keser. Konsol komutlarını uzaktan çalıştırmanız gerekiyorsa RCON kurulumu ve güvenli kullanımı sayfası bu iş için doğru yöntemi anlatıyor.
Hangi Klasörler Kopyalanır?#
Taşınacak dosyaları üç gruba ayırın: dünyanın kendisi, dünyayı okuyabilen mod ortamı ve sunucu kimliği. Aşağıdaki tablo hepsini kapsıyor.
| Klasör / dosya | Ne içerir | Taşınır mı? |
|---|---|---|
world/ | Bütün boyutlar, level.dat, playerdata, mod verileri | Zorunlu |
mods/ | Mod jar dosyaları | Zorunlu — birebir aynı sürümler |
config/ | Kurulum geneli mod ayarları | Zorunlu |
defaultconfigs/ | Yeni dünyalar için ayar şablonları | Önerilir |
kubejs/, scripts/ | Tarif ve olay betikleri | Varsa zorunlu |
| Mod adını taşıyan kök klasörler | Bazı modların kendi veri klasörleri | Varsa taşıyın |
server.properties | level-name, online-mode, port | Zorunlu |
ops.json, whitelist.json, banned-*.json | Yetki ve erişim listeleri | Önerilir |
user_jvm_args.txt | RAM ve JVM ayarları | Gözden geçirin |
libraries/, run.sh, run.bat | Loader kütüphaneleri | Taşımayın, hedefte üretilsin |
logs/, crash-reports/ | Eski günlükler | Taşımayın |
Tablodaki “mod adını taşıyan kök klasörler” satırı en çok atlanan maddedir. Bütün modlar verisini dünyanın içine yazmaz; bir kısmı sunucu kök dizininde kendi klasörünü açar. Taşımadan önce kök dizini bir kez listeleyin ve tanımadığınız her klasörü not alın:
# Sunucu kokundeki klasorleri listeleyin
ls -d */
# Beklenen ciktinin disindaki her klasoru inceleyin:
# world/ mods/ config/ defaultconfigs/ kubejs/ libraries/ logs/ crash-reports/
Modların verilerini nereye yazdığı konusunda tek bir kural yok. Kabaca üç davranış görüyoruz: dünyaya bağlı veriyi tutan modlar (arazi iddiaları, takım bilgileri, boyut durumu) bunu world/data/ altında saklar ve dünyayla birlikte gelir; kurulum geneli ayarları olan modlar config/ içinde durur; bir avuç mod ise sunucu kökünde kendi klasörünü açar. Üçüncü grup en sinsi olanıdır çünkü taşıma listenizde yer almaz ve eksikliği ancak oyuncular “arazilerimiz gitti” dediğinde anlaşılır. Kök dizini gözden geçirmek bir dakika sürer, sonradan telafisi saatler alır.
26.1 Sonrası Dünya Klasörü Yapısı#
Minecraft 26.1 “Tiny Takeover” ile dünya kayıt yapısı kökten değişti. Eskiden Nether ve End ayrı klasörlerdeydi; artık bütün boyutlar tek bir world/ klasörünün altında toplandı. İnternetteki eski taşıma tarifleri bu yüzden yanlış yol veriyor.
world/
|-- level.dat
|-- level.dat_old
|-- session.lock
|-- playerdata/
|-- data/minecraft/
|-- serverconfig/ <-- Forge/NeoForge dunyaya ozel mod ayarlari
|-- dimensions/
|-- minecraft/
| |-- overworld/ -> region/ entities/ poi/ data/
| |-- the_nether/ -> region/ entities/ poi/
| |-- the_end/ -> region/ entities/ poi/
|-- <modid>/
|-- <boyut_adi>/ -> region/ entities/ poi/
| Boyut | 26.1 öncesi yol | 26.1 ve sonrası yol |
|---|---|---|
| Ana dünya | world/region/ | world/dimensions/minecraft/overworld/region/ |
| Nether | world_nether/DIM-1/region/ | world/dimensions/minecraft/the_nether/region/ |
| End | world_the_end/DIM1/region/ | world/dimensions/minecraft/the_end/region/ |
| Modlu boyut | world/dimensions/<modid>/<boyut>/ | world/dimensions/<modid>/<boyut>/ |
Modlu boyutlar açısından iyi haber şu: mod kimliğiyle klasörlenen şema zaten yıllardır kullanılıyordu, 26.1 ile vanilla boyutlar da aynı düzene geçti. Yani modlu bir paketten geliyorsanız dimensions/ klasörünü zaten tanıyorsunuz. Değişen tek şey Overworld, Nether ve End’in de oraya taşınmış olması.
Bu değişiklik yedekleme betiklerinizi de etkiliyor. world_nether ve world_the_end klasörlerini tek tek arşivleyen eski bir betiğiniz varsa artık boş klasör arıyordur ve yedeğinizde Nether verisi hiç bulunmuyor olabilir. Betikleri world/ klasörünün tamamını alacak şekilde güncelleyin; ayrıntılar için yedekleme rehberine bakın.
Mod Listesinin Birebir Aynı Olması Şartı#
Hedef sunucuda mod listesi “aşağı yukarı aynı” olamaz. Aynı olmalı: aynı modlar, aynı sürümler, aynı loader yapısı. Bunu göz kararı değil, dosya listesi karşılaştırarak doğrulayın.
# Kaynak sunucuda mod listesini cikarin
cd /opt/minecraft/kaynak
ls mods/ | sort > /tmp/mods-kaynak.txt
# Hedef sunucuda ayni komutu calistirin
cd /opt/minecraft/hedef
ls mods/ | sort > /tmp/mods-hedef.txt
# Farki gorun - cikti bos olmali
diff /tmp/mods-kaynak.txt /tmp/mods-hedef.txt
Çıktı boş değilse taşımaya başlamayın. Fazladan bir mod da eksik bir mod kadar sorunludur: yeni eklenen bir mod dünyada olmayan kimlikler kaydeder, bu tek başına zarar vermez ama oyuncu tarafında kanal uyuşmazlığı üretir.
Mod ID ve Registry Çakışması#
Registry, sunucunun açılışta kurduğu “hangi kimlik neyi gösteriyor” tablosudur. Dünya bu tablonun bir kopyasını level.dat içinde saklar; sunucu her açılışta iki tabloyu karşılaştırır. Uyuşmayan bir şey bulduğunda logda şu satır çıkar:
[Server thread/WARN]: Forge Mod Loader detected missing registry entries.
İnternetteki rehberlerin büyük kısmı burada “konsola /fml confirm yazın” diyor. Bu bilgi eskidi: /fml confirm ve -Dfml.queryResult=confirm, Minecraft 1.7.10–1.12.2 dönemine aittir. 1.16’dan itibaren onay penceresi tamamen kaldırıldı; Forge artık kendisi onaylıyor ve eksik girdileri sessizce siliyor. Yani 26.x’te bu uyarıyı gördüğünüzde karar verme şansınız yok, iş olmuş bitmiştir.
Kaybın tipik görünümü şöyle: makinelerin durduğu yerde hava, sandıkların içinde boş slotlar, oyuncuların envanterinde eksilen eşyalar, modlu boyuta girmeye çalışınca hiçbir şey olmaması. Oyuncular buna genelde “dünya silinmiş” der; aslında sadece o modun içeriği silinmiştir.
Taşımadan sonra bu uyarıyı almamak için yapılacak tek şey var: dünyayı ilk kez açmadan önce mod listesini doğrulamak. Sunucuyu “bir açalım da görelim” diye başlatmak, dünyayı fiilen mevcut mod listesine göre yeniden yazmak demektir ve o noktadan sonra elinizde yalnızca yedek kalır. Kontrolü kopya üzerinde yapmak isterseniz dünya klasörünü ikinci bir dizine kopyalayıp server.properties içindeki server-port değerini 25566 gibi farklı bir porta alın; canlıya dokunmadan prova yaparsınız.
Bazı durumlarda çakışma eksik moddan değil, iki modun aynı kimliği kullanmasından doğar. Bu genelde aynı modun iki farklı yapısını (örneğin hem Fabric hem NeoForge sürümünü) yanlışlıkla mods/ klasörüne koymaktan kaynaklanır. Açılış logunda “duplicate mod” benzeri satırları arayın; modlu sunucu hataları sayfasında bu tip açılış hatalarının tamamı listeli.
Dosyaları Taşıma: rsync, SFTP ve Panel#
Dosyaları nasıl taşıyacağınız sunucularınızın erişim biçimine bağlı. Üç yaygın yol var ve üçü de aynı sonucu verir; farkları hız ve doğrulama.
-
İki VDS arasında doğrudan aktarım (en hızlısı)#
Arada yerel bilgisayarınıza uğramaz, kontrol toplamı doğrulaması yapar, kesilen aktarımı kaldığı yerden sürdürür.
rsync -avz --progress \ /opt/minecraft/kaynak/world \ kullanici@hedef-sunucu-ip:/opt/minecraft/hedef/ -
Arşivleyip tek dosya olarak taşıma#
Binlerce küçük region dosyası yerine tek büyük dosya aktarmak çoğu bağlantıda daha hızlıdır.
tar -czf dunya-tasima.tar.gz world mods config defaultconfigs scp dunya-tasima.tar.gz kullanici@hedef-sunucu-ip:/opt/minecraft/hedef/ # Hedefte: tar -xzf dunya-tasima.tar.gz -
Panel veya SFTP ile#
Web paneli kullanıyorsanız dosya yöneticisinin yükleme limitine takılırsınız; büyük dünyalarda SFTP tercih edin. Bağlantı adımları panele FTP ve SFTP ile bağlanma sayfasında.
Bağlantılar resmî kaynaklara gider. Dünya arşivini üçüncü taraf dosya paylaşım sitelerine yüklemeyin.
Aktarım bittiğinde dosyanın bütünlüğünü doğrulayın. Kaynakta ve hedefte aynı özeti almalısınız:
# Kaynakta:
sha256sum dunya-tasima.tar.gz
# Hedefte ayni komut - iki cikti birebir ayni olmali
sha256sum dunya-tasima.tar.gz
Taşıma Sonrası Doğrulama Adımları#
Sunucu açıldı diye iş bitmiş sayılmaz. Oyunculara kapıyı açmadan önce şu altı kontrolü yapın; hepsi birkaç dakika sürer.
-
Açılış logunu baştan sona okuyun#
Özellikle registry ve mixin satırlarını arayın. Konsolda
Donesatırını görmeden hiçbir şey doğrulanmış sayılmaz.grep -E "missing registry|Missing or unsupported|FAILED during APPLY" logs/latest.log -
level-name ayarını teyit edin#
server.propertiesiçindekilevel-namedeğeri taşıdığınız klasörün adıyla aynı olmalı. Eşleşmezse sunucu boş bir dünya üretir ve sizin dünyanız duruyor olsa da yüklenmez. -
Üç boyuta da girin#
Overworld, Nether, End ve varsa modlu boyutlar. Boyut sorunları genelde yalnızca birinde görülür.
-
Oyuncuların yoğun kullandığı bölgeye gidin#
Spawn güzel görünüyor diye rahatlamayın. Büyük makinelerin, otomasyon hatlarının ve depo odalarının olduğu koordinatlara ışınlanıp gözle bakın.
-
Bir oyuncu hesabıyla giriş yapın#
Envanter, konum ve deneyim yerinde mi? Değilse
world/playerdata/taşınmamış ya daonline-modeayarı farklı olabilir. -
TPS ve bellek durumuna bakın#
Birkaç oyuncuyla 15–20 dakika test edin. İlk saatlerde chunk yükleme yoğunluğu yüzünden dalgalanma normaldir.
Sık Yapılan Taşıma Hataları#
- Sadece
worldklasörünü almak - Mod listesi ve config gelmediği için dünya içeriğinin bir kısmı ilk açılışta silinir.
- Sunucu açıkken kopyalamak
- Bozuk region dosyası üretir; hata aylar sonra ortaya çıkar.
- Mod sürümlerini “yakın” tutmak
- Aynı mod ama farklı yapı da uyuşmazlıktır. Dosya adı düzeyinde karşılaştırın.
level-namedeğerini unutmak- Sunucu yeni ve bomboş bir dünya üretir; herşey yerinde durduğu hâlde göremezsiniz.
online-modefarkı- UUID’ler değişir, oyuncu verileri eşleşmez, envanterler kaybolur.
libraries/klasörünü taşımak- Hedefteki loader sürümüyle çakışır. Hedefte yeniden üretilmesine izin verin.
- Uyarı satırını görüp devam etmek
- Registry uyarısında her yeni açılış kaybı büyütür.
- Kaynak sunucuyu aynı gün silmek
- Geri dönüş şansınızı kendi elinizle yok etmiş olursunuz.
Özetle#
Modlu sunucuda dünya taşımanın özü tek cümlede toplanır: dünya, mod listesi ve config aynı anda taşınır. Bu üçlü bozulduğunda sunucu hata vermez, sessizce veri siler; en tehlikeli tarafı da budur. Kopyalamaya başlamadan önce sunucuyu save-all ve stop ile düzgün durdurun, mod listelerini diff ile karşılaştırın, aktarımdan sonra sha256 özetiyle bütünlüğü doğrulayın.
26.1 ile gelen klasör değişikliğini de aklınızda tutun: Nether ve End artık ayrı klasörlerde değil, world/dimensions/minecraft/ altında. Modlu boyutlar zaten mod kimliğiyle klasörleniyordu, o kısım değişmedi. Eski taşıma tariflerine bakarken bu ayrımı gözden kaçırmayın.
Taşıma yaptığınız sunucu yeni bir makineyse ve disk performansından emin değilseniz, modlu dünyalar chunk okuma/yazma yükü yüzünden NVMe SSD ister; Batihost modlu Minecraft sunucu paketleri bu iş için hazırlanmıştır. Genel sunucu göçünün eklenti ve veritabanı tarafını da kapsayan geniş anlatımı sunucu taşıma ve göç rehberinde, taşıma sırasında dünyanız bozulursa uygulanacak kurtarma adımları ise bozuk dünya kurtarma sayfasında. Takıldığınız bir noktada açılış logunu destek talebiyle iletebilirsiniz.