Minecraft chunk ön üretimi (pregeneration), oyuncular sunucuya girmeden önce haritanın belirli bir yarıçapını üretip diske yazma işlemidir. Bunu yaptığınızda sunucu, oyuncu yeni bir bölgeye yürüdüğünde araziyi anlık olarak hesaplamak zorunda kalmaz; sadece hazır region dosyasını okur. Sonuç: keşif sırasındaki ani donmalar, TPS çöküşleri ve “sunucu takılıyor” şikâyetleri büyük ölçüde biter.
İşi yapan araç Chunky eklentisidir. Kurulumu tek dosya kopyalamaktan ibarettir, komutları üç satırdır ve sunucu kapalıyken bile ayarları saklar. Bu sayfada doğru sürümü seçmeyi, dünya sınırını Chunky yarıçapıyla eşlemeyi, Nether ve End’i unutmadan tam bir pregen çalıştırmayı ve işlem sırasında sunucunun nasıl davranacağını anlatıyoruz.
Chunk Ön Üretimi Neden Bu Kadar İşe Yarar?#
Minecraft sunucusunda arazi üretimi (world generation), ana tick döngüsünün yaptığı en pahalı işlerden biridir. Bir oyuncu daha önce hiç gidilmemiş bir yöne yürüdüğünde sunucu; yükseklik haritasını, biyomu, mağaraları, yapıları ve ışık verisini o anda hesaplar. Beş oyuncu aynı anda farklı yönlere keşfe çıktığında bu maliyet katlanır ve konsola “Can’t keep up! Is the server overloaded?” uyarısı düşer.
Önceden üretilmiş bir dünyada aynı hareket sadece bir disk okumasıdır. NVMe SSD üzerinde bu işlem mikrosaniyeler sürer. Chunky’nin kendi belgeleri de amacı böyle özetler: sunucular pregen’i, chunk yüklerken oluşan gereksiz lag’i önlemek ve temiz görünen harita çıktıları alabilmek için kullanır.
Pregen’in ikinci faydası daha az bilinir: harita eklentileri. Dynmap veya benzeri bir canlı harita kullanıyorsanız, üretilmemiş alan haritada boşluk olarak görünür. Pregen sonrası tüm alan bir kerede render edilebilir.
Pregen neyi çözmez?#
Pregen bir keşif optimizasyonudur. Sunucunuz oyuncular sabit bir üste dururken bile takılıyorsa sorun başka yerdedir: entity yığılması, kötü yazılmış bir eklenti veya yetersiz işlemci. Bu durumda önce spark ile performans analizi yapın, sonra pregen’e geçin.
Başlamadan Önce: Dünya Sınırını Belirleyin#
Pregen’in ilk kuralı şudur: ürettiğiniz alanın dışına çıkılmasını engellemezseniz işlem anlamsızdır. Oyuncular sınırsız bir dünyada er ya da geç üretilmiş alanın dışına çıkar ve lag geri döner.
Vanilla dünya sınırı komutu /worldborder set değeri çap olarak alır, Chunky ise yarıçap ile çalışır. Bu ikisini karıştırmak en sık yapılan hatadır.
worldborder center 0 0
worldborder set 10000
worldborder warning distance 64
worldborder damage amount 0.2
Yukarıdaki ayar, merkezi 0,0 olan ve her yöne 5000 blok uzanan bir alan tanımlar. Chunky tarafında vereceğiniz yarıçap da 5000 olacaktır. Sınır komutları her boyut için ayrı ayrı çalışır; Nether’a geçip aynı komutu 1250 çapla (625 yarıçap) tekrarlamanız gerekir.
| Boyut | Chunky yarıçapı | worldborder set (çap) | Gerekçe |
|---|---|---|---|
| Overworld (world) | 5000 | 10000 | Ana oyun alanı |
| Nether (world_nether) | 625 | 1250 | 1 blok = 8 Overworld bloğu |
| End (world_the_end) | 1000 | 2000 | Ana ada + yakın adalar |
Chunky Eklentisini Kurma#
Chunky-Bukkit-1.5.3.jar). Listede daha yeni görünen 1.5.4 yalnızca Forge ve NeoForge için yayınlandı; eklenti klasörüne attığınızda yüklenmez. Bir önceki Bukkit yapısı olan 1.4.40 ise 26.2’yi kapsamaz.Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden jar indirmeyin.
-
Sunucunun tam yedeğini alın#
Pregen dünyayı bozmaz ama disk doldurur ve geri alınamaz. İşleme başlamadan önce dünya klasörünün ve eklenti ayarlarının yedeğini alın.
-
Jar dosyasını plugins klasörüne kopyalayın#
Chunky-Bukkit-1.5.3.jardosyasını sunucunuzunplugins/klasörüne atın. Panel kullanıyorsanız web panelden plugin yükleme adımlarını izleyebilirsiniz. -
Sunucuyu yeniden başlatın#
Eklenti ilk açılışta
plugins/Chunky/config.ymldosyasını oluşturur./pluginskomutunda Chunky yeşil görünmelidir.stop -
Ayar dosyasını gözden geçirin#
Uzun sürecek bir pregen planlıyorsanız
continue-on-restartdeğerinitrueyapın. Böylece sunucu yeniden başlasa bile görev kaldığı yerden devam eder.# plugins/Chunky/config.yml version: 2 language: en continue-on-restart: true force-load-existing-chunks: false silent: false update-interval: 1
update-interval, konsola ilerleme satırının kaç saniyede bir yazılacağını belirler. Varsayılan 1 saniyedir; uzun işlemlerde log dosyasını şişirmemek için 10 veya 30 yapabilirsiniz. silent: true ise ilerleme mesajlarını tamamen kapatır.
Chunky Komutları#
Komutlar oyun içinde /chunky ..., sunucu konsolunda ise başındaki eğik çizgi olmadan yazılır. Yetkilendirme için LuckPerms kullanıyorsanız izin düğümlerini LuckPerms yetki sistemi üzerinden verebilirsiniz.
| Komut | İşlevi | İzin düğümü |
|---|---|---|
/chunky world <ad> | İşlem yapılacak dünyayı seçer | chunky.command.world |
/chunky center <x> <z> | Merkezi belirler (varsayılan 0 0) | chunky.command.center |
/chunky radius <blok> | Yarıçapı blok cinsinden verir | chunky.command.radius |
/chunky start | Üretimi başlatır | chunky.command.start |
/chunky progress | Anlık ilerlemeyi gösterir | chunky.command.progress |
/chunky pause | Görevi duraklatır, ilerlemeyi kaydeder | chunky.command.pause |
/chunky continue | Duraklatılmış görevi sürdürür | chunky.command.continue |
/chunky cancel | Görevi iptal eder | chunky.command.cancel |
/chunky trim | Seçimin dışındaki chunk’ları siler | chunky.command.trim |
start komutunun tam sözdizimi, tüm parametreleri tek satırda vermenize izin verir:
chunky start [world] [shape] [<centerX> <centerZ>] [radius] [radius]
# Ornek: dunya adi world, kare sekil, merkez 0 0, yaricap 5000
chunky start world square 0 0 5000
/chunky trim ile /chunky start birbirinin tersidir. trim, seçtiğiniz alanın dışında kalan tüm chunk’ları kalıcı olarak siler. Yanlışlıkla yazarsanız yedeğiniz yoksa geri dönüş yoktur. Bu komutu bilinçli kullanmak istiyorsanız dünya dosyasını küçültme rehberini okuyun.Adım Adım Pregen: Overworld, Nether ve End#
Aşağıdaki akış Chunky’nin kendi belgelerindeki resmî örneğin Türkçeleştirilmiş hâlidir. Konsoldan yazıyorsanız satır başlarındaki eğik çizgiyi atın.
/chunky world world
/chunky radius 5000
/chunky start
# Overworld bitince Nether:
/chunky world world_nether
/chunky radius 625
/chunky start
# Ardindan End:
/chunky world world_the_end
/chunky radius 1000
/chunky start
Dünya adları sunucu yapılandırmanıza göre değişebilir. Multiverse ile ek dünya eklediyseniz o dünyaların adını da aynı biçimde verip ayrı ayrı üretmeniz gerekir. /chunky world komutunu argümansız yazarsanız Chunky mevcut dünyaların listesini gösterir.
İlerlemeyi Takip Etme#
Pregen başladıktan sonra konsola düzenli aralıklarla bir ilerleme satırı düşer. Bu satır şunları gösterir: o ana kadar işlenen chunk sayısı, tamamlanma yüzdesi, tahmini bitiş süresi (ETA), saniyede üretilen chunk sayısı (cps) ve o anda işlenen chunk’ın koordinatı.
Doğru yöntem şudur: işlemi başlatın, beş-on dakika bekleyin, sonra /chunky progress ile ETA’ya bakın. Süre kabul edilemez görünüyorsa /chunky cancel ile durdurup daha küçük bir yarıçapla yeniden başlatın. Chunky belgeleri de tam olarak bunu önerir: önce mütevazı bir yarıçapla başlayın, ETA’yı görün, gerekirse küçültün.
/chunky progress
/chunky pause
/chunky continue
pause komutu ilerlemeyi kaydeder. Akşam oyuncu yoğunluğu artmadan duraklatıp gece continue ile devam etmek, canlı bir sunucuda pregen yapmanın en pratik yoludur.
Chunk Sayısı ve Disk Alanı Hesabı#
Üretilecek chunk sayısı basit bir formülle bulunur. Bu sayı, işin gerçek büyüklüğünü anlamanın en dürüst yoludur:
# Kare sekilli bir alan icin:
chunk_sayisi = (2 * yaricap_blok / 16) ^ 2
# 5000 blok yaricap:
(2 * 5000 / 16) ^ 2 = 625 ^ 2 = 390.625 chunk
# 1 region (.mca) dosyasi = 32 x 32 = 1024 chunk
| Yarıçap (blok) | Kenar (blok) | Chunk sayısı | Yaklaşık region dosyası | Göreli maliyet |
|---|---|---|---|---|
| 2.000 | 4.000 | 62.500 | ~61 | 0,16x |
| 3.000 | 6.000 | 140.625 | ~137 | 0,36x |
| 5.000 | 10.000 | 390.625 | ~382 | 1,00x (referans) |
| 8.000 | 16.000 | 1.000.000 | ~977 | 2,56x |
| 10.000 | 20.000 | 1.562.500 | ~1.526 | 4,00x |
Tablodaki en önemli satır sonuncusu: yarıçapı 5000’den 10000’e çıkarmak alanı iki kat değil dört kat büyütür. Chunky’nin belgeleri de bunu vurgular; dünya boyutu doğrusal artmaz, yarıçaptaki küçük bir artış toplamda çok daha büyük bir dünya demektir.
Pregen Sırasında Performans ve Donanım#
Chunky’nin resmî SSS bölümü performans için üç şey söyler: hızlı bir işlemci kullanın (tek çekirdek performansı önemlidir), sunucuyu ve dünyayı hızlı bir SSD üzerinde çalıştırın, yeterli belleği tahsis edin. Batihost sunucularının tamamı bu üç maddeyi karşılar: yüksek saat hızlı AMD Ryzen 9 7900X / 7950X işlemciler ve NVMe SSD depolama.
| Sunucu paketi | Java heap | Uygun pregen yarıçapı | Disk |
|---|---|---|---|
| 8 GB RAM | -Xms6G -Xmx6G | 5.000 bloka kadar | NVMe SSD, 50 GB+ |
| 16 GB RAM | -Xms14G -Xmx14G | 10.000 bloka kadar | NVMe SSD, 100 GB+ |
| 32 GB RAM | -Xms28G -Xmx28G | 15.000 blok ve üzeri | NVMe SSD, 200 GB+ |
Bellek kullanımının pregen sırasında tavan yapması normaldir. Chunky belgeleri bunu açıkça söyler: ön üretim süreci doğası gereği bellek yoğundur, çünkü sunucu hızla chunk yükleyip boşaltır ve bu beklenen bir davranıştır. Panik yapıp heap’i küçültmeyin; asıl risk OutOfMemoryError ile sunucunun kapanmasıdır ve bu da genellikle çok büyük yarıçap seçilince olur.
Java tarafında bir değişiklik yapmanız gerekmez. Aikar’s Flags 26.x sunucularında hâlâ geçerlidir ve pregen için de uygundur; ayrıntılar RAM ayarları ve JVM flag’leri sayfasında.
26.1 Sonrası Dünya Klasör Yapısı#
Pregen’in ürettiği dosyaları kendi gözünüzle görmek isterseniz bilmeniz gereken önemli bir değişiklik var: 26.1 ile birlikte dünya klasör yapısı değişti. Eskiden Nether ve End ayrı klasörlerde dururdu; artık hepsi ana dünya klasörünün içindeki dimensions ağacında toplanır.
world/
|-- level.dat
|-- playerdata/
|-- dimensions/
|-- minecraft/
|-- overworld/
| |-- region/ <-- Overworld .mca dosyalari
|-- the_nether/
| |-- region/
|-- the_end/
|-- region/
world_nether/DIM-1/region/ ve world_the_end/DIM1/region/ yolları 26.1 ve sonrasında artık geçerli değildir. Bir betikte veya yedekleme görevinde bu yolları kullanıyorsanız güncelleyin, yoksa Nether ve End verisi yedeğe girmez.Komut satırında kullandığınız dünya adları (world, world_nether, world_the_end) değişmedi; değişen şey diskteki klasör düzenidir. Bu ayrımı karıştırmayın: Chunky’ye ad verirsiniz, dosya gezginine yol.
Sık Yapılan Hatalar#
- Yarıçap yerine çap girmek.
/chunky radius 10000yazdığınızda 10.000 blok yarıçaplı, yani 20.000 blok genişliğinde bir alan üretirsiniz. Bu, düşündüğünüzün dört katıdır. - Dünya sınırı koymamak. Sınırsız dünyada pregen, deniz suyunu kovayla boşaltmaya benzer.
- Nether’ı unutmak. Oyuncular Nether’ı hızlı yol olarak kullanır; Nether’da yapılmamış pregen, Overworld’dekinden daha çok lag üretir.
- Oyuncular içerideyken başlatmak. İşlem boyunca TPS düşer. Beyaz listeyi açın veya duyuru yapın.
- Diski izlememek. Region dosyaları hızla birikir. Doluluk %90’ı geçerse sunucu dünyayı bozabilir.
- Var olan dünyada view distance ile karıştırmak. Pregen keşif lag’ini çözer, tick maliyetini değil. Tick maliyeti için view distance ve simulation distance ayarlarına bakın.
Pregen’den Sonra Ne Yapmalı?#
İşlem bittiğinde konsolda tamamlanma mesajını görürsünüz. Sonrasında yapılacaklar kısa bir listeden ibarettir:
-
Sunucuyu yeniden başlatın ve yedek alın#
Üretilen dünya artık kalıcı. Bu hâliyle bir yedek almak, ileride dünya sıfırlama gerekirse temiz bir başlangıç noktası sağlar.
-
TPS’i ölçün#
/spark tpsve/spark healthile pregen öncesi/sonrası farkı kayıt altına alın. -
Dünya sınırını oyunculara duyurun#
Sınıra ulaşan oyuncu ne olduğunu anlamazsa şikâyet eder. Kurallar sayfanıza sınır yarıçapını yazın.
Özetle#
Chunk ön üretimi, keşif kaynaklı lag’i çözmenin en doğrudan yoludur ve doğru yapıldığında tek seferlik bir iştir. Paper ailesinde Chunky-Bukkit-1.5.3.jar indirin, dünya sınırını Chunky yarıçapıyla eşleyin, Overworld’ü sonra Nether’ı ve End’i sırayla üretin, konsoldaki ETA’ya bakarak yarıçapı gerçekçi tutun. Yarıçap iki katına çıktığında işin dört katına çıktığını unutmayın.
Pregen’in gerçekten hızlı bitmesi tek çekirdek performansına ve disk hızına bağlıdır. Yüksek frekanslı Ryzen işlemciler ve NVMe SSD üzerinde çalışan Batihost Minecraft sunucu paketleri ile bu iş saatler yerine çok daha kısa sürede tamamlanır. Dünyanız zaten şişmişse bir sonraki adım dünya dosyasını küçültmektir; genel performans için de sunucu optimizasyonu rehberimize göz atın.