Yeni bir Minecraft sürümü çıktığında oyuncuların ilk sorusu hep aynıdır: "Sunucu ne zaman güncellenecek?" Heyecan anlaşılır; yeni bloklar, yeni canlılar ve yeni yapılar herkesin ilgisini çeker. Ama aceleyle yapılan bir yükseltme, aylardır emek verilmiş bir dünyayı bozabilir, yarısı çalışmayan eklentilerle dolu bir sunucu bırakabilir. Bu rehberde yükseltmeyi adım adım, geri dönüş yolunu hiç kapatmadan nasıl yapacağını ve ViaVersion ile farklı sürümdeki oyuncuları nasıl aynı sunucuda buluşturacağını anlatıyoruz.
Önce şunu bil: dünya yalnız ileriye taşınır
Minecraft bir dünyayı yeni sürümde ilk kez açtığında parçaları (chunk) yeni biçime dönüştürür. Bu dönüşüm tek yönlüdür. Yeni sürümde açılmış bir dünyayı eski sürüme geri götürmek resmî olarak desteklenmez; denersen bloklar kaybolabilir, sandık içerikleri silinebilir ya da sunucu hiç açılmayabilir. Bu yüzden yükseltme planının en önemli parçası, yükseltmeden önce alınmış, eksiksiz ve geri yüklenebildiği denenmiş bir yedektir. Yükseltmeden sonra "bir sorun çıkarsa eski sürüme dönerim" diye düşünüyorsan, aslında dönebileceğin tek yer o yedektir.
1. Acele etme: yazılımın ve eklentilerin hazır olsun
Mojang yeni sürümü yayımladığı gün Paper, Purpur gibi sunucu yazılımlarının kararlı derlemesi henüz çıkmamış olabilir. İlk derlemeler çoğunlukla "deneysel" olarak işaretlenir. Topluluk sunucusu işletiyorsan kararlı derlemeyi beklemek, birkaç gün erken yükseltmekten çok daha az sorun çıkarır. Hangi yazılımı seçeceğinden emin değilsen Paper, Purpur ve Spigot farkını anlatan rehberimize göz atabilirsin.
Ardından eklenti listeni çıkar. Konsolda plugins komutu kurulu eklentileri listeler. Her biri için şunları kontrol et:
- Eklentinin indirme sayfasında yeni sürüm için bir güncelleme var mı, açıklamada hangi sürümlerin desteklendiği yazıyor mu?
- Eklenti hâlâ geliştiriliyor mu? Bir yıldır güncellenmemiş bir eklenti yeni sürümde büyük ihtimalle hata verir.
- Bağımlı olduğu başka eklenti var mı? Örneğin pek çok eklenti Vault ya da ProtocolLib ister; bunlar da güncel olmalı.
LuckPerms, CoreProtect ve WorldEdit gibi yaygın eklentiler genelde hızlı güncellenir. Küçük, tek kişinin geliştirdiği eklentiler daha geç kalabilir. Vazgeçilmez bir eklenti henüz hazır değilse yükseltmeyi ertelemek çoğu zaman en akıllıca seçimdir.
2. Eksiksiz yedek al ve geri yüklemeyi dene
Otomatik yedeklerin olsa bile yükseltmeden hemen önce elle bir yedek al ve adını anlaşılır koy, örneğin "surum-yukseltme-oncesi". Yedeğin şunları içerdiğinden emin ol:
- Dünya klasörlerinin tamamı (
world,world_nether,world_the_endve varsa ek dünyalar) pluginsklasörü ve içindeki yapılandırma ile veri dosyalarıserver.properties,bukkit.yml,spigot.ymlve yazılımına ait diğer yapılandırma dosyaları- Beyaz liste, yasaklı oyuncu ve operatör listeleri
Yedeği almadan önce sunucuyu durdurmak, dosyaların yazılma ortasında kopyalanmasını önler. Yedek almak ve geri yüklemek konusunda ayrıntı istersen otomatik yedekleme rehberimiz bu adımları anlatıyor.
3. Deneme kopyasında prova yap
Büyük bir topluluğun sunucusunu doğrudan canlıda yükseltmek yerine, yedeği ayrı bir sunucuda açıp yükseltmeyi orada denemek en sağlam yoldur. Provada şunlara bak:
- Sunucu hatasız açılıyor mu? Konsolda kırmızı hata satırları ve "could not load plugin" uyarıları var mı?
- Her eklentinin komutu çalışıyor mu? Yetkiler, ekonomi bakiyeleri, korunan bölgeler yerinde mi?
- Eski bölgelerde dolaş: yapılar, sandıklar, tabelalar, harita duvarları sağlam mı?
- Haritanın sınırında yeni parçalar düzgün üretiliyor mu?
Prova sırasında karşılaştığın her sorunu not al. Asıl yükseltme gününde bu liste, neyi hangi sırayla yapacağını gösteren kontrol listesine dönüşür.
4. Asıl yükseltme
Hazırlık bittiyse asıl iş kısadır. Oyunculara önceden duyuru yap, sunucuyu durdur, son yedeği al, sunucu yazılımını yeni sürüme geçir ve güncellenmiş eklenti dosyalarını plugins klasörüne koy. Panelden yazılım ve sürüm değiştirebilir, dosya yöneticisiyle eklenti dosyalarını yenileyebilirsin.
Sunucu ilk açılışta dünyayı dönüştürmeye başlar. Varsayılan olarak yalnız oyuncuların girdiği parçalar dönüşür; bu, ilk günlerde eski bölgelere girildiğinde kısa takılmalara yol açabilir. Paper ve türevlerinde sunucuyu bir kez --forceUpgrade başlatma parametresiyle açmak bütün dünyayı baştan dönüştürür. Büyük dünyalarda bu uzun sürer, ama sonrasında oyuncular dönüşüm yüküyle karşılaşmaz. Dönüşüm bittikten sonra parametreyi kaldırmayı unutma.
Bir not: yeni sürümle gelen yapılar ve biyomlar yalnız yeni üretilen parçalarda görünür. Daha önce keşfedilmiş bölgeler değişmez. Oyuncuların yeni içeriği bulabilmesi için onları haritanın keşfedilmemiş kısımlarına yönlendir; dünya sınırını genişletmek ya da yeni bir bölgeyi önceden üretmek de bir seçenektir.
5. Geri dönüş planı
Her şeyi doğru yapsan bile beklenmedik bir sorun çıkabilir. Bunun için baştan net bir karar ver: "Yükseltmeden sonraki ilk birkaç saat içinde kritik bir hata görürsek yedeğe döneriz." Geri dönüş, sunucu yazılımını eski sürüme almak ve yükseltme öncesi yedeği geri yüklemekten oluşur. Yalnız yazılımı geri almak yetmez; dönüştürülmüş dünyayı eski sürümle asla açma.
Geri dönersen yükseltmeden sonra oyuncuların yaptığı her şey kaybolur. Bu yüzden ilk saatlerde oyunculara durumu açıkça anlat; büyük inşaatlara hemen başlamamalarını rica etmek, olası bir geri dönüşün acısını azaltır.
ViaVersion ile eski ve yeni istemcileri bir arada tutmak
Yükseltmeden sonra bazı oyuncular hemen güncelleme yapmaz; mod paketleri ya da alışkanlıkları yüzünden eski sürümde kalırlar. Ya da tersi olur: sunucun bir sürümde kalırken oyuncular yenisine geçer. ViaVersion bu farkı kapatan bir eklentidir.
EklentiNe işe yararViaVersionSunucu sürümünden daha yeni istemcilerin bağlanmasını sağlar.ViaBackwardsViaVersion'a ek olarak kurulur; sunucudan daha eski istemcilerin bağlanmasını sağlar.ViaRewindViaBackwards'a ek olarak kurulur; çok eski sürümlerdeki (1.7 ve 1.8) istemciler içindir.Kurulum basittir: eklenti dosyalarını plugins klasörüne koy ve sunucuyu yeniden başlat. ViaBackwards ve ViaRewind'in çalışması için ViaVersion'ın da kurulu olması gerekir. Hangi oyuncunun hangi sürümle bağlandığını görmek için oyunda ya da konsolda /viaversion list komutunu kullanabilirsin. Ayarlar plugins/ViaVersion/config.yml dosyasındadır; çoğu sunucu için varsayılanlar yeterlidir.
Bilmen gereken sınırlar
- Eski istemci, sunucudaki yeni blokları ve eşyaları tanımaz. ViaBackwards bunları en yakın eski karşılıklarıyla gösterir; görünüm birebir olmaz.
- Savaş mekaniği, hareket ve bazı etkileşimler sürümler arasında farklıdır. Özellikle PvP sunucularında eski istemcili oyuncular belirgin biçimde farklı bir deneyim yaşayabilir.
- ViaVersion bir köprüdür, kalıcı çözüm değildir. Oyuncuları zamanla sunucunun sürümüne geçmeye teşvik et.
Bedrock oyuncularını da sunucuna almak istiyorsan bu ayrı bir konudur; Geyser ile Java ve Bedrock'u birleştirmeyi anlatan rehberimize bakabilirsin.
Kısa kontrol listesi
- Kararlı yazılım derlemesini bekle.
- Eklentilerin yeni sürümü desteklediğini doğrula.
- Sunucuyu durdurup eksiksiz yedek al.
- Önce bir kopyada prova yap.
- Oyunculara duyur, yükselt, konsolu izle.
- Geri dönüş kararının sınırını önceden belirle.
- Gerekirse ViaVersion ile farklı sürümdeki oyuncuları içeri al.
Bu adımlarla yükseltme, oyuncuların korktuğu bir olay olmaktan çıkar ve sıradan bir bakım işine dönüşür. Bir sonraki sürüm geldiğinde aynı listeyi yeniden kullanabilir, provada öğrendiklerini her seferinde biraz daha geliştirebilirsin.