İçeriğe geç

Rust sunucu lag: sebepleri ve çözümleri

Kısa cevap: sunucunun Framerate ve EntityCount değerlerini görmek için sunucu konsoluna serverinfo yaz. Rust sunucusu çalıştıracak daha çok şey olunca yavaşlar: dünyada daha çok yapı ve eşya, daha büyük haritada daha çok spawn, NPC’ler ve eklentiler. Aşağıdaki ayarlar bunların her birini kontrol eder. Tick rate ayarlarını varsayılanda bırak.

KomutNe gösterir
serverinfoFramerate, EntityCount (dünyadaki her şey), Players, Memory, NetworkIn ve NetworkOut, Uptime.
server.fpsSunucunun kendi kare hızı.

Bunları sunucu konsoluna, RCON üzerinden ya da admin olarak F1 konsoluna yaz. Crucible Local Server’da Hızlı görünümün Kare hızı kutucuğu, sunucu Canlı iken aynı sayıyı gösterir.

Lag olurken kare hızını izle. Düşüyorsa sunucu kendi işiyle boğuşuyordur ve bu sayfanın geri kalanı geçerli. Sabit kalıyorsa onun yerine ağa ya da oyuncunun kendi bilgisayarına bak.

fps.limit, sunucunun saniyede çalışacağı en yüksek kare sayısıdır (Rust 240 bildirir). Düşürmek aynı bilgisayardaki başka şeyler, örneğin ikinci bir sunucu için CPU’yu boşaltır. Sınırının zaten altında çalışan sunucu için hiçbir şey yapmaz.

AyarVarsayılanNe yapar
server.tickrate10Sunucunun saniyede kaç kez RCON’u, Rust+‘ı ve bağlantı kontrollerini ele aldığı. Oyunun daha akıcı çalışmasını sağlamaz.
player.tickrate_sv16Sunucunun saniyede her oyuncuyu kaç kez güncellediği. Rust 16 ile 128 arasına izin verir ve her adım yukarı, çevrimiçi her oyuncu için daha çok iştir.

Her yapı bloğu, deployable, yere atılmış eşya, ceset, hayvan ve varil bir entity’dir ve sunucu her birini takip edip kaydeder. Oyuncular inşa ettikçe sayı wipe boyunca tırmanır.

Ayar ya da komutVarsayılanNe yapar
server.itemdespawn300Yere atılmış eşyanın kaybolmadan önce yerde kaldığı temel saniye. Bazı eşyalar daha uzun kalır.
server.corpsedespawn300Cesedin kaldığı saniye.
entity.countby <steamid>Bir oyuncunun yerleştirdiği her şeyi sayar.
entity.deleteby <steamid>Bir oyuncunun yerleştirdiği her şeyi yok eder. Geri alma yok.

Çürüme, kimsenin bakmadığı yapıları aşındırır ve terk edilmiş üsleri haritadan temizleyen şeydir. decay.scale 0 ile hiçbir şey çürümez; bu yüzden her üs wipe’a kadar kalır ve entity sayısı yalnızca artar. Uzun bir wipe için çürümeyi açık tut; ayarlar çürüme nasıl kapatılır sayfasında.

Rust haritayı ore node’ları, bitkiler, yerden toplananlar ve hayvanlarla alana göre doldurur: her spawn türünün bir yoğunluğu vardır ve Rust sığdığı kara boyunca o yoğunluğu hedefler. Daha büyük harita her şeyden daha çok tutar ve sunucunun çalıştıracağı daha çok şey demektir. Rust bazı spawn türlerini 4000 m’lik haritanın alanında sınırlar. Boyut seçmek için: Rust harita boyutları.

AyarVarsayılanNe yapar
spawn.max_density1Haritanın her spawn türünden ne kadar tuttuğunu ölçekler. 0.5 yarısı.
spawn.min_density0.5Oyuncu sayısını izleyen spawn türleri boş sunucuda buradan başlar ve sunucu doldukça spawn.max_density’ye çıkar.
spawn.tick_populations60Spawn turları arasındaki saniye. Daha yüksek sayı haritayı daha yavaş doldurur.
AyarNe yapar
ai.npc_enable falseMonument’lerde ve junkpile’larda bilim insanı doğmaz ve Rust monument navmesh’lerini kurmayı atlar; sunucu daha erken açılır. Hayvanlar yine doğar.
aimanager.nav_disable trueRust hiç navmesh kurmaz; sunucu çok daha hızlı açılır ama NPC’ler ve hayvanlar hareket edemez. Yalnızca inşa ya da test sunucusu için.

İkisini de server.cfg içinde ya da başlatma satırında ayarla; böylece sunucu açıldığı andan itibaren geçerli olurlar. Bkz. Rust server.cfg örneği.

Her eklenti sunucuda kendi kodunu çalıştırır ve tek yavaş eklenti herkes için kare hızını düşürebilir. Oxide’da o.plugins, Carbon’da c.plugins neyin yüklü olduğunu listeler. Yavaş olanı bulmak için eklentileri oxide/plugins ya da carbon/plugins klasöründen tek tek çıkar, yeniden başlat ve kare hızını izle. Crucible Local Server’da eklentiler Modlar sekmesinde yönetilir; bkz. modlar ve eklentiler.

server.saveinterval (600) dünyanın ne sıklıkla kaydedildiğidir, saniye olarak ve her kayıt dünyadaki her entity’yi yazar. Daha çok entity’li dünya kaydetmesi daha uzun sürer; bu yüzden çok düşük ayarlama.

Zamanlanmış yeniden başlatma, uzun süredir çalışan sunucuya temiz bir başlangıç verir. Crucible Local Server günlük bir takvimle yeniden başlayabilir ve sunucu kapalıyken Rust güncellemelerini kurabilir; bkz. sunucunu otomatik yeniden başlat.

Config sekmesindeki Performans ayarları:

  • Yapay zekâ navmesh’ini atla (daha hızlı açılış), yukarıdaki aimanager.nav_disable’dır: çok daha hızlı başlangıç, hareket etmeyen NPC’ler ve hayvanlarla.
  • Yüksek öncelik, başka uygulamalar çalışırken sunucuya daha çok CPU verir.
  • CPU çekirdekleri (gelişmiş) sunucuyu listelediğin çekirdeklere sabitler, örneğin 0-7. Her çekirdeği kullanmak için boş bırak.

Aynı anda çalıştırdığın her ek sunucu gerçek RAM ve CPU yer; bu yüzden Aynı anda birden fazla sunucunun çalışmasına izin ver varsayılan olarak kapalıdır. Bkz. sunucu ayarları.