Minecraft view distance ve simulation distance ayarları, sunucu performansı üzerinde tek başına en yüksek etkiye sahip iki değerdir. view-distance oyuncuya kaç chunk yarıçapında arazi gönderileceğini, simulation-distance ise bu chunk’lardan hangilerinde entity ve blok mantığının çalışacağını belirler. Çoğu sunucu için doğru başlangıç noktası view-distance=8 ve simulation-distance=6 ikilisidir.
Bu sayfada iki ayarın gerçekte ne yaptığını, maliyetlerinin neden karesel arttığını ve sunucu türünüze göre hangi değerleri seçmeniz gerektiğini açıklıyoruz. Ayrıca değişikliğin etkisini ölçmenin yolunu gösteriyoruz, çünkü bu ayarlar “ne kadar düşük o kadar iyi” mantığıyla ele alınırsa oyun deneyimi gereksiz yere bozulur.
İki Ayarın Farkı#
Karıştırılmaları çok yaygındır ama işleri tamamen farklıdır.
- view-distance
- Sunucunun oyuncuya gönderdiği chunk yarıçapı. Görsel mesafeyi ve ağ trafiğini belirler. Oyuncunun kendi render distance ayarı bu değeri aşamaz.
- simulation-distance
- Entity yapay zekâsının, mahsul büyümesinin, redstone’un ve rastgele blok güncellemelerinin çalıştığı yarıçap. CPU maliyetinin büyük kısmı buradadır.
Aradaki fark pratikte şu anlama gelir: view-distance 10, simulation-distance 6 ayarlı bir sunucuda oyuncu 10 chunk uzağı görür ama 6 chunk’tan uzaktaki mob’lar hareket etmez, fırınlar çalışmaz, mahsuller büyümez.
Görsel mesafeyi korumak istiyorsanız view-distance’ı koruyup simulation-distance’ı düşürün.
Maliyet Neden Karesel Artar?#
Bir oyuncunun etrafında yüklenen chunk sayısı, yarıçapın karesiyle orantılıdır. Formül yaklaşık olarak (2r + 1)² şeklindedir.
| view-distance | Oyuncu başına chunk | 10 oyuncuda (örtüşmesiz) | Göreli maliyet |
|---|---|---|---|
| 4 | 81 | 810 | 0,29x |
| 6 | 169 | 1.690 | 0,60x |
| 8 | 289 | 2.890 | 1,00x (referans) |
| 10 | 441 | 4.410 | 1,53x |
| 12 | 625 | 6.250 | 2,16x |
| 16 | 1.089 | 10.890 | 3,77x |
Tablodaki sayılar oyuncular birbirinden uzaktayken geçerlidir; yakın oyuncular aynı chunk’ları paylaşır ve toplam düşer. Yine de eğilim nettir: 8’den 12’ye çıkmak yükü iki katına, 16’ya çıkmak neredeyse dört katına yükseltir.
view-distance=10 değeri Mojang’ın tek oyunculu deneyim için seçtiği bir sayıdır. Çok oyunculu bir sunucuda bu değer, oyuncu sayısıyla çarpılarak ciddi bir yük oluşturur.server.properties Ayarları#
Her iki değer de server.properties dosyasında bulunur:
view-distance=8
simulation-distance=6
entity-broadcast-range-percentage=80
sync-chunk-writes=false
max-players=60
entity-broadcast-range-percentage, entity’lerin oyunculara hangi mesafeden görünür olacağını yüzde olarak ayarlar. 100 varsayılan değerdir; 80’e çekmek ağ trafiğini azaltır ve oyuncular genellikle farkı hissetmez. 50’nin altına inmek uzaktaki mob’ların görünmemesine yol açar ve PvP sunucularında sorun yaratır.
Değişiklikten sonra sunucuyu yeniden başlatın. Bazı Paper sürümlerinde çalışırken değiştirmek mümkündür ama tam etki için yeniden başlatma güvenli yoldur.
save-all
stop
Dosyadaki diğer tüm satırların açıklaması için server.properties tam liste sayfamıza bakın.
Sunucu Türüne Göre Önerilen Değerler#
| Sunucu türü | view-distance | simulation-distance | Gerekçe |
|---|---|---|---|
| Arkadaş grubu survival (2-10) | 10-12 | 8 | Az oyuncu, manzara önemli |
| Genel survival (10-30) | 8 | 6 | Denge noktası |
| Kalabalık survival (30-60) | 7 | 5 | Oyuncu yoğunluğu yüksek |
| Skyblock | 8 | 5 | Adalar dar, uzak simülasyon gereksiz |
| Minigame / PvP arenası | 6-7 | 5 | Küçük harita, hızlı tepki önemli |
| Creative / yapı sunucusu | 10-12 | 4 | Görsel öncelikli, entity yükü düşük |
| Forge / Fabric modpack | 7-8 | 5-6 | Mod entity’leri pahalıdır |
| Lobi sunucusu | 6 | 4 | Sadece geçiş alanı |
Paper’da Dünya Bazında Ayar#
Paper, her dünya için ayrı yapılandırmaya izin verir. Nether ve End’de düşük değerler kullanmak, overworld deneyimini bozmadan kaynak tasarrufu sağlar.
world-settings:
world:
chunks:
auto-save-interval: 6000
max-auto-save-chunks-per-tick: 24
world_nether:
chunks:
auto-save-interval: 6000
world_the_end:
chunks:
auto-save-interval: 6000
Mesafe değerlerini dünya bazında ayarlamak için genellikle bir eklenti veya çoklu dünya yöneticisi kullanılır. Paper’ın kendi yapılandırma dosyalarında chunk gönderimiyle ilgili gelişmiş seçenekler de bulunur:
chunk-loading-advanced:
auto-config-send-distance: true
player-max-concurrent-chunk-generates: 0
player-max-concurrent-chunk-loads: 0
chunk-loading-basic:
player-max-chunk-generate-rate: -1.0
player-max-chunk-load-rate: 100.0
player-max-chunk-send-rate: 75.0
auto-config-send-distance açıkken Paper, sunucu yüküne göre oyunculara gönderilen chunk mesafesini dinamik olarak ayarlar. player-max-chunk-send-rate ise bir oyuncuya saniyede kaç chunk gönderileceğini sınırlar; keşif sırasında ağ ve disk baskısını yumuşatır.
Paper yapılandırma dosyalarının tamamı için paper.yml ve spigot.yml optimizasyon rehberine geçin.
Chunk Ön Üretimi: Mesafe Ayarının Tamamlayıcısı#
Yüksek view-distance ile çalışmak istiyorsanız dünyanın önceden üretilmiş olması gerekir. Aksi hâlde her oyuncu hareketi canlı chunk üretimini tetikler ve bu, tek tick içinde yapılabilecek en pahalı iştir.
-
Dünya sınırını belirleyin#
Gerçekçi bir yarıçap seçin. 50 oyunculu bir survival sunucusu için 10.000 blok fazlasıyla yeterlidir.
worldborder center 0 0 worldborder set 20000 worldborder warning distance 200 -
Chunk’ları üretin#
Chunky ile sınır içindeki alanı oyuncular yokken üretin. Bu işlem saatler sürebilir.
chunky world world chunky center 0 0 chunky radius 10000 chunky start -
Nether ve End için tekrarlayın#
Nether’da bir blok overworld’de 8 bloğa karşılık gelir; 20.000’lik sınır için 2.500 blok yarıçap yeterlidir.
chunky world world_nether chunky radius 2500 chunky start -
Üretim sonrası yedek alın#
Saatler süren bir işlemin sonucunu kaybetmemek için yedek alın.
df -h ile boş alanı kontrol edin; modlu sunucularda 100 GB üzeri NVMe disk şarttır.Değişikliğin Etkisini Ölçmek#
Mesafe ayarları performansı en çok etkileyen değerler olduğu için, değişikliğin etkisini ölçmek hem kolay hem öğreticidir.
spark health
spark tps
spark profiler --timeout 300 --thread server
Doğru karşılaştırma için yöntem:
- Değişiklikten önce, yoğun saatte beş dakikalık bir profil alın ve MSPT ortalamasını not edin.
- Tek bir değeri değiştirin (örneğin view-distance 10’dan 8’e).
- Benzer oyuncu yoğunluğunda ikinci profili alın.
- MSPT farkı %10’un altındaysa değişiklik oyun deneyimine değmez, geri alın.
Ölçüm ayrıntıları için spark rapor okuma rehberimize, genel optimizasyon sırası için optimizasyon ana rehberine bakın.
Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden jar indirmeyin.
Sık Yapılan Hatalar#
Aşırı düşürmek#
view-distance 4 ayarlı bir survival sunucusunda oyuncular sisin içinde yürür gibi hisseder. Kazandığınız TPS, kaybettiğiniz oyuncuya değmez.
Sadece view-distance ile uğraşmak#
CPU maliyetinin büyük kısmı simulation-distance’tadır. Görsel mesafeyi korumak istiyorsanız asıl indireceğiniz değer simulation-distance’tır.
Ön üretim yapmadan yüksek değer#
view-distance 12 ile üretilmemiş bir dünyada keşfe çıkan tek oyuncu bile MSPT’yi tavana vurdurabilir.
Ölçmeden değiştirmek#
Her değişiklikten sonra ölçün. Kazanç sağlamayan bir kısıtlama oyun deneyimini boşuna bozar.
Ağ Tarafı: Chunk Gönderimi#
Yüksek view-distance yalnızca CPU değil, ağ maliyeti de doğurur. Sunucuya bağlanan her oyuncu, ilk girişte tüm görüş alanındaki chunk verisini indirir. 60 oyunculu bir sunucuda katılım dalgası sırasında bu ciddi bir trafiktir.
network-compression-threshold=256
Bu değer, kaç bayttan büyük paketlerin sıkıştırılacağını belirler. 256 çoğu sunucu için dengelidir; çok düşük değerler CPU’yu, çok yüksek değerler bant genişliğini zorlar. Proxy arkasında aynı makinede çalışan arka uç sunucularda daha yüksek değerler kullanılabilir; ayrıntılar Velocity ve BungeeCord rehberinde.
Oyuncular “dünya geç yükleniyor” diyorsa sorun mesafe ayarından çok disk veya ağ olabilir. Teşhis için lag türü ayırt etme rehberine bakın.
Özetle#
view-distance ve simulation-distance, Minecraft sunucusunda tek satırla en büyük performans değişikliğini yapabileceğiniz iki ayardır. view-distance görseldir ve ağ yükünü belirler; simulation-distance hesaplamadır ve CPU yükünün büyük kısmını oluşturur.
Çoğu sunucu için 8 / 6 ikilisiyle başlayın. Kalabalıklaştıkça 7 / 5’e inin, küçük ve sakin sunucularda 10-12 / 8’e çıkın. Görsel mesafeyi korumak istediğinizde önce simulation-distance’ı düşürün. Yüksek değerlerde çalışacaksanız dünyayı önceden üretip sınırlayın ve NVMe disk kullanın. Her değişikliği /spark health ile ölçün; kazanç sağlamayan hiçbir kısıtlamayı sunucunuzda bırakmayın.