Önce Teşhis: Ping, FPS ve TPS Ayrımı
Lag derken üç farklı sorun kastedilebilir ve her birinin çözümü bambaşkadır. Ping, senin ile sunucu arasındaki gidiş-dönüş süresidir; 200 ms'nin üstündeyse komutlar geç işler ama bu sunucunun suçu değildir, coğrafya ve bağlantıdır. FPS ise tamamen oyuncunun bilgisayarıyla ilgilidir; görüntü takılırken TPS normalse sorun istemcidedir.
TPS (Ticks Per Second) ise sunucunun kalp atışıdır: Minecraft dünyayı saniyede 20 kez güncellemeye çalışır. Bu değer 20'nin altına düştüğünde blok kırma, mob hareketi ve redstone herkes için yavaşlar. Yani ortamdaki herkes aynı anda takılıyorsa TPS'e bak.
Paper veya Spigot sunucuda /tps komutuyla anlık değeri görürsün. İdeal tablo: 20.0 sabit; 18'in altı hissedilir, 15'in altı oyuncu kaybettirir. Ölçümü boş bir saatte ve kalabalık bir saatte ayrı yap; fark, sorunun ne kadar yapısal olduğunu gösterir.
TPS Düşüşünün 5 Yaygın Nedeni
Birincisi entity yoğunluğu. Yere düşen binlerce eşya, aşırı üreyen hayvan populasyonları ve item çiftlikleri sunucunun her tick'te hepsini hesaplamasını gerektirir. Çoğu lag şikayetinin kökeni kontrolsüz çiftliklerdir.
İkincisi redstone saat devreleri: saniyede onlarca kez tetiklenen observer-kol kombinasyonları, devasa mob farmı zamanlayıcıları sürekli chunk aktivitesi yaratır. Üçüncüsü chunk yükü: view-distance ve simulation-distance yüksek ayarlıysa sunucu onlarca fazla chunk'ı her tick işler.
Dördüncüsü hopper trafiği; her hopper her tickte komşu envanteri kontrol eder, yüzlüce hopper'lı saklama sistemleri sessizce TPS yer. Beşincisi kötü yazılmış plugin'ler: her tickte ağır iş yapan bir eklenti, tek başına sunucuyu 15 TPS'e kadar düşürebilir. Spark gibi profil aracıyla hangi plugin'in ne kadar süre harcadığını net görebilirsin.
Sunucu Tarafında Çözüm: Ayarlarla Kazanç
En hızlı kazanç görüş mesafesindedir. server.properties'te view-distance'ı 10'dan 8'e, simulation-distance'ı da 6-8 bandına çekmek; çoğu sunucuda tek başına gözle görülür rahatlama sağlar ve oyuncu farkını minimuma indirir.
Paper kullanıyorsan config dosyalarındaki entity-activation-range ve tick-rules ayarlarını gözden geçir: uzaktaki mobların animasyon ve yapay zekasını azaltmak, big patlamalarda devasa fark yaratır. spawn-limits ile hayvan ve canavar populasyonlarını makul tavanlara bağla.
Dünya çapında çözüm istiyorsan item temizliğini otomatikleştir: düzenli aralıklarla yerdeki eşyaları süpüren bir plugin, çiftlik etrafında biriken binlerce eşyayı senin yerinde temizler. Chunk ön-oluşturma (pregeneration) da keşfedilmemiş alanlarda sürekli yeni chunk üretilmesinin yol açtığı ani yükleri keser; haritanın sınırlarını baştan oluşturmak bir kerelik ama çok değerli bir yatırımdır.
Donanım Tarafı: Yükseltme Zamanı Ne Zaman?
Ayarlarla oynadın, plugin'leri temizledin ama TPS hâlâ kalabalık saatlerde 18'in altına düşüyorsa artık darboğaz donanımdır. Minecraft sunucusu ağırlıkla tek çekirdek performansıyla çalışır; yüzlerce chunk ve yüzlerce mob aynı tick sırasına girerken saat hızına çıkış sunucuya nefes aldırır.
RAM tarafında kural basit: basit sunucuda 2 GB 8-10 oyuncuya yeter; plugin sayısı arttıkça ve harita büyüdükçe 4 GB'a geçmek çöp toplama (garbage collection) duraklamalarını kısaltır. GC duraklaması, TPS grafiğinde periyodik dalgalanma olarak kendini belli eder.
Yükseltme kararı için şu eşiği kullan: yoğun saatte TPS 18'in altına düzenli iniyorsa ve profil aracı tek bir plugin'i göstermiyorsa, RAM'i bir kademe yükselt. Aynı sorun VDS'te kendi kurduğun sunucuda tekrarlıyorsa, CPU saat hızı yüksek bir barındırmaya geçiş uzun vadede daha sağlıklı bir çözümdür.
Practical tips
- TPS'i her kalabalık saatin sonunda ölç; 20.0'dan uzaklaşan grafik, sorunun büyümeden erken sinyalini verir.
- View-distance'ı 8'e, simulation-distance'ı 6-8 bandına çek; en hızlı ve en düşük riskli kazanç budur.
- Otomatik item temizliği kur; çiftlik etrafında biriken eşyalar sessiz TPS katilidir.
- Büyük değişiklikten önce Spark ile profil çıkar; hangi plugin ya da sistemin yediğini net gör.