Blog · blog
Minecraft Sunucuları İçin En İyi Performans Modları
Sunucu tarafındaki takılma, istemci FPS'inden farklı bir sorun. Kağıt veya Purpur, ayarlanmış JVM bayrakları, önceden oluşturulmuş bloklar ve makul görüş mesafesi çoğu zaman bu sorunu çözer.
Sunucu takılması, istemci takılmasından farklı bir durumdur
İstemci tarafındaki rehberler FPS'den bahseder: kendi GPU'nuzun kareler çizmesi. Sunucu performansı ise tamamen ayrı bir ölçüttür, saniyedeki tik sayısı, sunucunun oyun döngüsünün tamamını saniyede kaç kez çalıştırabildiğinin sayısıdır. TPS 20'nin altına düştüğünde, bağlantıda olan her oyuncu, ne kadar güçlü bir PC'ye sahip olursa olsun, geriye doğru seğirme, gecikmeli vuruşlar ve gerçek konumlarının gerisinde kalan yaratıklar şeklinde bunu hisseder. Bu sorunu çözmek tamamen bağlantının sunucu tarafında yapılır.
Bu ayrım önemlidir çünkü bu iki sorun sürekli olarak karıştırılır. Yerel olarak 300 FPS'ye sahip bir oyuncu bile 12 TPS'de çalışan bir sunucuyu hissedecek ve hiçbir istemci modu bunu değiştiremeyecektir. Özellikle BedWars veya SkyWars arenasının sürekli olarak sıfırlandığı yoğun bir mini oyun lobisi çalıştırıyorsanız, aşağıda belirtilen düzeltmeler zamanınızın karşılığını verecek yerlerdir.
Yük için tasarlanmış sunucu yazılımı seçin
Vanilla Minecraft sunucu yazılımı ve optimize edilmemiş bir Spigot kurulumu, neredeyse her şeyi tek bir iş parçacığı üzerinde çalıştırır. Paper ve Purpur gibi türevleri, büyük bölümlerini asenkron ve çok iş parçacıklı olarak çalışacak şekilde yeniden yapılandırır ve vanilla'da hiç bulunmayan uzun bir optimizasyon listesiyle birlikte gelir. Tek bir eklentiye veya ayara dokunmadan önce sahip olabileceğiniz en büyük kaldıraç budur.
Kağıt
Standart modern seçim. Asenkron parça yükleme, varlık takibi optimizasyonları ve çoğu yöneticinin tam olarak keşfetmediği kapsamlı bir paper.yml ayarlama seçeneği dizisi.
Purpur
Ekstra performans düğümleri ve oyun oynama ayarlarıyla donatılmış, kağıt çatal. Kağıt ekosisteminden ayrılmadan daha fazla kontrol istiyorsanız buna değer.
Vanilya ve stok musluk
İşlevsel, ancak küçük, düşük nüfuslu bir sunucunun ötesinde gerçek performansı ortaya koymuyor.
JVM bayraklarını ayarlayın, sadece sunucu yapılandırmasını değil
Minecraft sunucuları bir Java Sanal Makinesi (JVM) içinde çalışır ve JVM'nin varsayılan çöp toplama ayarları Minecraft'ın özel bellek kalıbı için hiç ayarlanmamıştır. Aikar'ın bayrakları, bu kalıp için çöp toplayıcıyı özel olarak yapılandıran, yaygın olarak kullanılan, kamuya açık belgelenmiş bir dizi JVM başlangıç bayrağıdır ve gerçek oyuncu yükü altında GC ile ilgili donmaların sıklığını ve süresini anlamlı bir şekilde azaltır.
Oyuncular dünyayı görmeden önce önceden oluşturun
Ani TPS düşüşlerinin en yaygın nedenlerinden biri, sunucunun oyuncular iddia edilmemiş bölgelere keşfederken gerçek zamanlı olarak yeni bloklar (chunks) oluşturmasıdır. Bu oluşturma işlemi, sunucunun aynı anda yapmaya çalıştığı her şeyle doğrudan rekabet eder. Chunky gibi bir araç, blokları (chunks) daha sonra keşfeden oyuncular bu ani yükselmeyi tetiklemeden, kontrollü ve hızlandırılmış bir şekilde önceden oluşturur.
Bir mini oyun ağı için bu durum, genellikle statik ve küçük olan arena haritaları için daha az önemliyken, oyuncuların dolaşabileceği herhangi bir açık merkez veya lob dünyası için daha önemlidir.
Görüş mesafesini ve simülasyon mesafesini azaltın
Bu iki ayar, sunucunun her oyuncunun etrafında ne kadar dünya yüklemesi ve simüle etmesi gerektiğini kontrol eder ve operatörlerin genellikle oyuncu sayısı ve donanımı için çok yüksek olan varsayılan değerlerde bıraktığı ayarlardır.
| Ayar | Ne kontrol eder | Yaygın hata |
|---|---|---|
| Görüş mesafesi | Her bir istemciye kaç blok (chunk) gönderilir | Oyuncu sayısı için çok yüksek olan varsayılan değere bırakılır |
| Simülasyon mesafesi | Canavarların, blokların ve redstone'un ne kadar uzağa simüle edildiği | Gerekli olmadığında görüş mesafesine eşitlenir |
Simülasyon mesafesi genellikle ilk olarak azaltılması gereken şeydir. Oyuncular, parçalar oluşturulması kadar uzağa mob ve redstone simülasyonu yapmaya ihtiyaç duymazlar ve bunu düşürmek, oyunun hissi üzerindeki etkiye kıyasla gerçek tick süresini önemli ölçüde geri kazanır.
Tahmin etmeden önce profili inceleyin
Gecikmenin nedenini tahmin etmek zaman kaybıdır. spark gibi bir profiller, sunucu tick süresinin nereye gittiğini tam olarak yakalar; belirli bir eklenti, dünya oluşturma, varlık işleme veya başka bir şey olup olmadığını gösterir; siz rastgele ayarları değiştirmeye ve umutsuzca sonuç beklemeden önce.
Kağıt veya Purpur'ı yükleyin
Önce vanilla veya stok Spigot'tan geçin. Bu, aşağıda listelenen her optimizasyonu açar.
Startup betiğinize Aikar'ın bayraklarını uygulayın
Belgelenmiş bayrak setini sunucunuzun başlatma komutuna kopyalayın ve yeniden başlatın. Bu, tek seferlik bir değişiklik olup sürekli bir getirisi olacaktır.
Dünyanızı Chunky ile önceden oluşturun
Bunu, trafiğin düşük olduğu saatlerde çalıştırın ki keşfeden oyuncular daha sonra canlı parça oluşturmasını tetiklemeyecek.
Görüş mesafesini ve simülasyon mesafesini bilinçli olarak ayarlayın
Oyuncu sayınıza ve donanımınıza göre ayarlayın, platform varsayılanlarını olduğu gibi bırakmayın.
Gerçek yük altında kıvılcım içeren profil
Yoğun saatlerde bir rapor yakalayın ve bunun gerçekten işaret ettiği şeyi düzeltin, tahmin etmek yerine.
Sunucu tarafı performansın tamamı değil
Saniyedeki işlem sayısını (TPS) sabit tutmak, deneyimin yarısı. Her oyuncu hala o sabit sunucuyu kendi makinesinde işliyor ve kusursuz bir sunucu, kendi istemcisi render işleminde, bellekte veya uyumsuz bir shader paketi yüzünden tıkanan bir oyuncu için hiçbir şey yapmaz. Eğer BedWars veya SkyWars ağı işletiyorsanız ve yukarıdaki çalışmaları zaten yaptıysanız, oyuncularınız için akıcı bir deneyimin diğer yarısı onların tarafında olan şeydir. Tam olarak bu boşluğu Terminus kapatmak için tasarlandı; yaptığınız sunucu işine eşleşecek şekilde optimize edilmiş istemci performansı.
Sıkça Sorulan Sorular
Hayır. İstemci modları, oyuncunun kendi makinesinde neler olduğunu değiştirir. Sunucu gecikmesi, sunucunun tick döngüsünde yaşar ve yalnızca sunucu tarafındaki değişiklikler, yazılımlar, bayraklar, eklentiler, dünya ayarları ona ulaşır.
Sunucu yazılımı. Vanilla veya optimize edilmemiş Spigot'tan Paper veya Purpur'a geçmek, çoğu diğer optimizasyonların üzerine inşa edildiği asenkron ve çoklu iş parçacığı (multithreading) çalışmalarını açığa çıkarır.
Evet, özellikle Minecraft'ın çöp toplayıcısı (garbage collector) konusunda, varsayılan ayarlar gerçek yük altında yetersiz kalıyor. Gerçekten yetersiz boyutlandırılmış bir sunucuyu düzeltecek olsalar da, yeterli donanımda GC ile ilgili donmaları belirgin şekilde yumuşatıyorlar.
Sunucunun TPS'sini /tps gibi bir komut veya spark gibi bir eklenti ile kontrol edin. TPS 20 civarında sabit duruyorsa ve hala takılma hissediyorsanız, sorun büyük olasılıkla kendi istemciniz veya bağlantınızdadır, sunucuda değildir.
Terminus'u yakala
Tuned client performance to match the server work you already did.