Oyuncular haritanın hiç gidilmemiş bir köşesine elytra ile uçtuğunda sunucu bir anda yavaşlar, bloklar geç yüklenir, canavarlar takılır. Sebebi basit: Minecraft o araziyi tam o anda, sıfırdan üretir. Arazi üretimi sunucunun yaptığı en ağır işlerden biridir ve aynı anda birkaç oyuncu yeni bölgelere gidiyorsa saniyedeki tik sayısı (TPS) düşer. Çözüm, araziyi oyuncular gelmeden önce üretmek ve dünyanın nerede bittiğini belirlemektir.
Önce dünya sınırını koy
Önceden üretim ancak sonu belli bir dünyada anlamlıdır; sınırsız bir dünyayı önceden üretemezsin. Minecraft'ın kendi dünya sınırı komutları bunu sağlar ve ayrıca eklenti gerekmez:
worldborder center 0 0: sınırın merkezini haritanın ortasına alır. Doğma noktan başka bir yerdeyse onun koordinatlarını yaz.worldborder set 10000: sınırı bir kenarı 10.000 blok olan bir kare yapar.
Buradaki sayı yarıçap değil, bir kenardan karşı kenara genişliktir. 10.000 yazdığında merkezden her yöne 5.000 blok gidilebilir. Bu ayrım bir sonraki adımda önemli.
Hangi boyutu seçmeli?
Küçük bir arkadaş grubu için 5.000 ile 6.000 blok genişlik çoğu zaman yeterlidir. Keşfi seven, kalabalık bir topluluk için 10.000 ile 20.000 arası düşünülebilir. Sınır büyüdükçe üretim süresi de, dünyanın diskte kapladığı yer de büyür: 10.000 blok genişliğinde önceden üretilmiş bir dünya birkaç gigabayta ulaşabilir. Her sunucuda 5 GB ücretsiz disk alanı var ve bu alanı aşan her GB için aylık ücret işliyor; boyutu oyuncu sayına göre seçmek hem hızlı hem ekonomik olur.
Chunky ile araziyi önceden üretmek
Chunky, araziyi arka planda, oyuncular o bölgeye gitmeden üreten bir eklentidir; Fabric ve Forge için mod sürümü de vardır. Panelin mağazasından kurup sunucuyu yeniden başlattıktan sonra konsolda şu komutları sırayla çalıştır:
chunky world world: hangi dünyanın üretileceğini seçer. Ana dünyanın adı çoğu sunucudaworld'dür.chunky worldborder: merkezi ve yarıçapı az önce koyduğun dünya sınırından alır. Sınır koymadıysanchunky center 0 0vechunky radius 5000ile kendin belirleyebilirsin; burada yazdığın sayı yarıçaptır.chunky start: üretimi başlatır.
İlerleme konsolda yüzde ve tahmini kalan süre olarak görünür. chunky pause işi duraklatır, chunky continue kaldığı yerden sürdürür. Sunucu bir sebeple yeniden başlarsa yapılan iş kaybolmaz; açıldıktan sonra chunky continue yazman yeter. İşi tamamen bırakmak için chunky cancel kullanılır.
Cehennem (Nether) ve End için de aynı adımları tekrarlayabilirsin; Paper tabanlı sunucularda bu dünyaların adları genelde world_nether ve world_the_end'dir. Ancak bu dünyalara ayrıca sınır koymadıysan ikinci adımdaki chunky worldborder çok geniş varsayılan sınırı alabilir; orada merkezi ve yarıçapı chunky center ve chunky radius ile elle ver.
Üretim sürerken sunucunun açık kalması gerekir
Önceden üretim saatlerce sürebilir ve sunucu bu sırada çalışıyor olmalıdır. Bizde yeni sunucularda boşta uykuya alma varsayılan olarak açık gelir: sunucu 15 dakika boyunca hiç oyuncu olmadan kalırsa uykuya geçer ve üretim de onunla birlikte durur. Ücretli bir pakette bu ayarı üretim boyunca Ayarlar'dan kapatabilir, iş bitince yeniden açabilirsin. Ücretsiz sunucularda bu anahtar kilitlidir; üretimi oyuncuların çevrimiçi olduğu saatlere böl ya da sınırı küçük tut.
Üretim işlemciyi yoğun kullandığı için oyuncuların az olduğu bir saatte başlatmak en iyisidir. Sunucun saatlik ücretlendiriliyorsa işin birkaç saat sürebileceğini hesaba kat.
Örnek: sekiz kişilik sunucu için 6.000 blokluk dünya
Sekiz kişilik bir survival sunucusunda oyuncular elytra bulunca takılmalar başladı. Dünyayı 6.000 blok genişlikte sınırlayıp önceden üretmeye karar verdin.
- Yedekler bölümünden
chunky-oncesietiketiyle bir yedek al. - Ücretli paketteysen Ayarlar'da Boşta uykuya al anahtarını iş bitene kadar kapat.
- Konsolda
worldborder center 0 0veworldborder set 6000yaz;worldborder getsınırın genişliğini yazdırarak ayarı doğrular. - Chunky'yi Eklentiler bölümündeki mağazadan kur, sunucuyu yeniden başlat ve sırayla
chunky world world,chunky worldborder,chunky startyaz. - Akşam oyuncular girdiğinde
tpsdeğeri düşersechunky pauseile işi beklet, gecechunky continueile sürdür. - İş bitince Boşta uykuya al anahtarını yeniden aç ve yeni bir yedek al.
İşin büyüklüğünü kabaca hesaplayabilirsin: bir parça (chunk) 16×16 bloktur, yani 6.000 blokluk bir kenarda 375 parça, toplamda 140.625 parça vardır; 10.000 blokta bu sayı 390.625'e çıkar. Genişliği iki katına çıkarmak alanı, dolayısıyla süreyi ve kaplanan yeri kabaca dört katına çıkarır. İş bitince Dünyalar bölümünde dünyanın yanında yazan boyuta bakarak ne kadar yer kapladığını görürsün.
İşe yaradığını nasıl anlarsın?
Üretim bittikten sonra oyuncular sınırın içinde nereye giderse gitsin arazi diskten okunur, yeniden üretilmez. Paper ve Purpur'da tps komutu son 1, 5 ve 15 dakikanın tik ortalamasını gösterir; yeni bölgelere uçuş sırasında bu değerin 20'ye yakın kalması beklenir. Performansın diğer sebeplerini TPS ve lag rehberinde ayrıca anlattık.
Sık yapılan hatalar
- Yarıçap ile genişliği karıştırmak. Dünya sınırı genişlik, Chunky yarıçap ister.
worldborder set 10000ilechunky radius 5000aynı alanı anlatır. - Sınır koymadan üretmek. Oyuncular üretilen alanın dışına çıkabildiği sürece aynı yavaşlık sınırın ötesinde tekrar başlar.
- Uyku modunu unutmak. Oyuncusuz bir gecede başlatılan üretim, 15 dakika sonra sunucu uykuya geçtiğinde durur.
- Büyük bir üretimden önce yedek almamak. Üretim dünyaya yalnız ekleme yapar, ama yanlış dünyayı seçmek ya da diski doldurmak sorun çıkarabilir. Başlamadan önce panelden elle bir yedek almak birkaç saniye sürer.
Sorun giderme
- Konsol
chunkykomutunu tanımıyor. Eklenti yüklenmemiş. Kurduktan sonra sunucuyu yeniden başlattığından emin ol ve Eklentiler bölümünde Chunky'nin listede olduğuna bak. Fabric ya da Forge kullanıyorsan eklenti değil mod sürümü gerekir; mod kurulumu 8 GB ve üstü paketlerde açılır (mod kurma rehberi). - Tahmini kalan süre aylar, hatta yıllar gösteriyor.
chunky worldborderkomutunu sınır koymadan çalıştırmışsın: Minecraft'ın varsayılan sınırı yaklaşık 60 milyon blok genişliğindedir ve Chunky bütün bu alanı üretmeye çalışır.chunky cancelile işi iptal et, önce sınırı koy, sonra yeniden başlat. - Üretim sürerken oyuncular takılıyor. Üretim işlemciyi oyunla paylaşır. Kalabalık saatlerde
chunky pauseile beklet; oyuncular azalıncachunky continueyaz. - Depolama beklediğinden hızlı doluyor. Önce
chunky pauseile işi durdur: sınırı küçültmek tek başına üretimi durdurmaz ve üretilmiş parçaları silmez. Büyük bir sınıra geçmeden önce küçük bir alanda deneyip boyutu ölçmek bu yüzden en güvenli yoldur.
Sık sorulan sorular
Önceden üretim mevcut yapılarımı değiştirir mi?
Hayır. Chunky yalnız henüz üretilmemiş parçaları üretir; oyuncuların gezdiği, üzerine inşaat yapılmış parçalar diskten okunur ve olduğu gibi kalır. Bu yüzden iş, daha önce keşfedilmiş alanlarda daha hızlı ilerler.
Sürüm yükseltince önceden üretilmiş alanda yeni yapılar çıkar mı?
Hayır. Yeni sürümle gelen biyomlar ve yapılar yalnız yeni üretilen parçalarda görünür; önceden üretilmiş alan, üretildiği sürümün arazisiyle kalır. Büyük bir güncelleme bekliyorsan sınırı şimdilik küçük tutup güncellemeden sonra genişletebilirsin; böylece yeni eklenen şeritte yeni sürümün yapıları çıkar. Yükseltmenin kendisi için sürüm yükseltme rehberine bak.
Nether ve End'i de üretmem gerekir mi?
Zorunlu değil. Nether'de yürünen her blok dünyada sekiz bloğa denk gelir; dünyada 5.000 blok yarıçap kullandıysan buna karşılık gelen Nether alanı 625 blok yarıçaplıdır, yani Nether'de çok daha küçük bir yarıçap çoğu zaman yeter. Bu dünyalarda chunky worldborder yerine merkezi ve yarıçapı chunky center 0 0 ve chunky radius 625 gibi elle vermek daha güvenlidir; o dünyaya ayrıca sınır koymadıysan Chunky çok geniş varsayılan sınırı alabilir. End'de ise elytra arayan oyuncular dış adalar arasında uzun uçuşlar yapar; kalabalık bir sunucuda End'i de üretmek bu uçuşlardaki takılmayı azaltır.
Sınırı sonradan büyütebilir miyim?
Evet. worldborder set ile daha büyük bir genişlik ver ya da worldborder add 2000 ile mevcut genişliğe ekle, sonra Chunky'yi aynı adımlarla yeniden çalıştır. Üretilmiş parçalar yeniden üretilmez; işin asıl yükü yeni eklenen kenar şeridindedir.
İş bitince Chunky'yi kaldırmalı mıyım?
Gerek yok, kaldırmak da sorun çıkarmaz. Üretim bittikten sonra Chunky arka planda iş yapmaz; sınırı ileride genişletmeyi düşünüyorsan kurulu kalabilir. Kaldırırsan önceden üretilmiş arazi dünyada kalır.