Chunk Optimizasyonu: View Distance, Simulation Distance ve Pregeneration
Minecraft dünyası chunk'lara bölünmüştür — her biri 16x16 blok, 256 blok yüksekliğinde bir sütun. Sunucu her aktif chunk'ı belleğe yükler ve tick'ler. Çok fazla chunk yüklü olmak hem RAM hem CPU tüketir; özellikle yeni bölgelere sürekli geçen oyuncuların tetiklediği chunk oluşturma işlemi TPS'yi ciddi biçimde düşürebilir. Bu rehberde chunk yönetimini anlatıyorum.
View Distance ve Simulation Distance Farkı
- View Distance: Oyuncunun görebileceği chunk yarıçapı. Yüksek değer daha geniş görüş alanı sağlar ama daha fazla chunk bellekte tutulur.
- Simulation Distance: Oyun motorunun aktif olarak işlediği (tick'lediği) chunk yarıçapı. Mob spawn, redstone, büyüme bu alan içinde çalışır.
Simulation distance, view distance'tan düşük tutulabilir. Örneğin oyuncu 20 chunk görebilir ama yalnızca 8 chunk içindeki varlıklar aktif tick alır.
# server.properties
view-distance=10
simulation-distance=6
Küçük sunucular için önerilen: view-distance=8, simulation-distance=5.
Değerleri Düşürmenin Etkisi
view-distance=10'dan 6'ya indirdiğinizde yüklü chunk sayısı kabaca 4 kat azalır (alan = π×r²). Bu, bellek tüketimini ve chunk tick yükünü ciddi ölçüde düşürür. Oyuncular biraz daha yakın ufka sahip olur; ancak survival deneyiminde bu fark çoğunlukla tolere edilebilir.
Chunk Ön-Üretimi (Pregeneration)
Oyuncuların hiç gitmediği bölgelere ilk girdiklerinde sunucu o chunk'ları sıfırdan üretmek zorundadır. Bu işlem CPU yoğundur ve ani TPS düşüşlerine neden olur. Çözüm: sunucu açılmadan önce dünyayı belirli bir sınır içinde önceden üretmek.
Chunky plugini bu iş için en popüler araçtır:
# Chunky kurulumu: SpigotMC'den indirip plugins klasörüne kopyalayın
# 5000 blok yarıçapında dünyayı ön-üret
/chunky radius 5000
/chunky start
# İlerlemeyi izle
/chunky status
Pregeneration birkaç saat sürebilir; sunucu açık kalır ama bu süreçte TPS dalgalanabilir. Bakım saatinde veya oyuncu olmadığında çalıştırın.
Chunk Yükleme Optimizasyonu (Paper)
# paper-world-defaults.yml
chunks:
auto-save-interval: 6000
max-auto-save-chunks-per-tick: 24
prevent-moving-into-unloaded-chunks: true
# paper-global.yml
chunk-loading-basic:
autoconfig-send-distance: true
player-max-chunk-load-rate: 100.0
player-max-chunk-send-rate: 75.0
player-max-chunk-load-rate: Oyuncu başına saniyede maksimum chunk yükleme hızı. Çok hızlı hareket eden oyuncular sunucuyu chunk yüklemeyle boğamaz.Boşaltılmayan Chunk'ları Tespit Etme
Hiç oyuncu olmadığı halde bellekte kalan chunk'lar "force-loaded" chunk olabilir. Bunları listeleyin:
/forceload query
Gereksiz force-loaded chunk varsa kaldırın:
/forceload remove <x1> <z1> <x2> <z2>
Nether ve The End Boyutları
Kullanılmayan boyutlar da chunk yükü oluşturabilir. Sunucunuzda Nether veya The End yoksa:
# server.properties
allow-nether=false
# bukkit.yml
settings:
allow-end: false
Sonuç
Chunk yönetimi, Minecraft sunucu performansının en etkili kaldıraçlarından biridir. view-distance'ı makul tutmak, dünyayı önceden üretmek ve Paper'ın chunk yükleme sınırlamalarını aktif etmek; oyuncu sayısından bağımsız olarak sunucunuzu daha stabil kılar.
💡 Etkileşim için giriş yap.