Minecraft Sunucu TPS Optimizasyonu: Lag'sız Oyun İçin 10 İpucu
Paper/Purpur sunucunuzda TPS'i 20'de tutmak için chunk yükleme, view-distance, plugin optimizasyonu ve JVM ayarları.
TPS (Ticks Per Second) sunucunun saniyede kaç oyun mantığı adımı çalıştırdığını gösterir. 20 TPS oyuncuya doğru deneyim sunan üst sınırdır; 15 TPS'in altına düşme oyuncular tarafından lag olarak hissedilir.
view-distance ve simulation-distance ayarları
En sık yapılan hata, her iki değeri de yüksek tutmaktır. Oyuncu sayısı arttıkça mesafe ayarlarını düşürmek en büyük kazancı sağlar.
- paper-world-defaults.yml içinde view-distance değerini 8–10 aralığında tutun.
- simulation-distance değerini 4–6 aralığına indirin; bu değer oyuncu görüşünü etkilemez, sadece varlık simülasyonunu kısar.
- entity-activation-range.animals ve entity-activation-range.monsters değerlerini düşürerek yükü azaltın.
Chunk yükleme ve iş parçacıkları
Chunk'lar eş zamanlı yüklendiğinde disk ve ana iş parçacığı tıkanır.
- paper-world-defaults.yml içinde chunk-loading-threads değerini CPU çekirdek sayınızın yarısı kadar yapın.
- Dinamik yükleme (dynamic chunk loading) özelliğini açık bırakın.
JVM başlatma argümanları
Varsayılan Aikar flag'leri yerine modern oyun sunucuları için optimize edilmiş bir set kullanın.
- Bu değerleri sanucu başlatma betiğine ekleyin; RAM miktarını paketinize göre ayarlayın.
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-Xms4G -Xmx4G
Plugin optimizasyonu
Pluginler TPS düşüşünün en yaygın nedenidir; her birinin maliyetini ölçmek en etkili adımdır.
- Spark profiler eklentisini kurun: /spark profiler start
- Lag spike anında /spark profiler --timeout 60 çalıştırıp en pahalı eklentiyi tespit edin.
- Gereksiz eklentileri kaldırın; 15 saniyelik periyotta çalışan görevler (scheduler task) en çok kaybettirenlerdir.
Sıkça sorulan sorular
TPS 20 ne demek, neden önemli?
Minecraft'ın hedefi saniyede 20 mantık adımıdır. 20 TPS'te oyun akıcıdır; 18–19 TPS çoğu oyuncuda fark edilmez, 15 TPS altı ise gözle görülür gecikme yaratır.
spigot, paper ve purpur arasında nasıl seçim yapmalıyım?
Purpur, Paper'ın fork'udur ve daha fazla optimizasyon seçeneği sunar. Performans önceliğiniz varsa Purpur, eklenti uyumluluğu önceliğiniz varsa Paper tercih edin. Vanilla ise yalnızca modlu sunucular için gereklidir.
view-distance düşürünce oyuncular uzakları göremez mi?
view-distance yalnızca gönderilen chunk'ların yarıçapını etkiler. simulation-distance ise varlıkların nerede simüle edildiğini belirler; görüş alanını değiştirmeden yükü düşürmek için simulation-distance ayarı daha etkilidir.
Sunucum için kaç GB RAM gerekir?
20 oyuncu için 4 GB, 50 oyuncu için 8 GB, 100+ oyuncu için 16 GB uygundur. JetSunucum NVMe depolamalı paketlerde chunk yükleme sürelerini belirgin şekilde kısaltır.