TPS Optimizasyonu — Sunucunuzda Kasma Olmasın
Minecraft sunucusu kurduğunuzda en sık karşılaşılan sorunların başında TPS düşüklüğü gelir. Oyun yavaşlar, bloklar geç kırılır, entityler donup kalır. Bu rehberde TPS'nin ne olduğunu, neden düştüğünü ve nasıl optimize edileceğini tüm detaylarıyla anlatıyorum.
TPS Nedir?
TPS (Ticks Per Second), Minecraft sunucusunun saniyede kaç oyun döngüsü işlediğini gösteren performans metriğidir. Teorik maksimum değer 20 TPS'dir.
- 20 TPS: Mükemmel, hiç sorun yok
- 18-19 TPS: Kabul edilebilir, hafif yük
- 15-17 TPS: Dikkat edilmeli, optimizasyon gerekiyor
- 10-14 TPS: Ciddi lag, acil müdahale şart
- 10 altı TPS: Sunucu neredeyse kullanılamaz
TPS'yi kontrol etmek için:
/tpsTPS Neden Düşer?
1. Çok Fazla Entity
Hayvanlar, moblar, düşen itemlar her biri hesaplama gücü tüketir. 500+ entity tek bir chunk'ta birikirse TPS hızla düşer.
2. Redstone Karmaşıklığı
Büyük redstone devreleri, özellikle hızlı clocklar her tick'te yoğun işlem yapar.
3. Kötü Optimize Plugin
Bir plugin her tick'te gereksiz işlem yapıyorsa tüm sunucuyu yavaşlatır.
4. Hopperlar
Her hopper her tick'te konteyner kontrolü yapar. Yüzlerce hopper ciddi lag demektir.
5. Chunk Yükleme
Hızlı hareket eden oyuncular yeni chunk'ların anlık yüklenmesine yol açar.
Spark ile Lag Kaynağı Bulma
Spark, Minecraft'ın en iyi performans analiz aracıdır. spark.lucko.me adresinden indirin. TPS düştüğünde:
/spark profiler start
# 60 saniye bekleyin
/spark profiler stop
Size bir web linki verecek. Hangi plugin veya sistem işleminin sorunlu olduğunu dakikalar içinde tespit edersiniz.
paper.yml Optimizasyonları
entities:
max-entity-collisions: 2
per-player-mob-spawns: true
hopper:
cooldown-when-full: true
chunk-loading-advanced:
player-max-chunk-load-rate: 100.0
player-max-chunk-send-rate: 75.0
spigot.yml Optimizasyonları
world-settings:
default:
mob-spawn-range: 6
entity-activation-range:
animals: 16
monsters: 24
misc: 8
merge-radius:
item: 2.5
exp: 3.0
item-despawn-rate: 6000
Chunk Ön Yükleme — Chunky
Oyuncuların gezineceği alanı önceden yüklemek dinamik chunk yüklemeyi azaltır:
/chunky world world
/chunky radius 3000
/chunky start
Entity Limitleri — bukkit.yml
spawn-limits:
monsters: 50
animals: 10
water-animals: 5
ambient: 15
chunk-gc:
period-in-ticks: 400
Aikar's JVM Flagleri
java -Xms4G -Xmx4G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M \
-jar paper.jar --nogui
Optimizasyon Kontrol Listesi
- Spark ile lag kaynağını tespit et
- paper.yml entity limitlerini ayarla
- spigot.yml activation range'leri düşür
- Chunky ile dünyayı ön yükle
- View distance'ı 8-10'a düşür
[*]G1GC JVM flagleri kullan
TPS sorunlarınız için bu konuya yazın!
💡 Etkileşim için giriş yap.