Ana içeriğe geç

Rust sunucu ayarlama

Rust sunucu performansı nasıl artırılır

Sunucu performansı, oyuncuların lag yüzünden dövüş kaybetmesini ve uçurumlardan rubber-band yaparak düşmesini önleyen şeydir. Çoğu üç şeye iner: CPU'nun saat hızı, çalıştırdığınız eklentiler ve yaklaşık beş convar.

  • Rust rehberleri
  • Güncellendi
  • 9 dk okuma
  • CPU saat hızı
  • Eklenti yükü
  • 5 önemli convar
ÖNEMLI CONVARLARserver.cfgbatching.colliders "0" # 265k varlığın üzerinde yeniden etkinleştirinnav_disable "true" # hayvanlar ve NPCler hareket etmeyi durdururserver.saveinterval "600"ai.think 0fps.max 30 # 30 ile 100 arası kullanışlı aralıktır

Kısa cevap

Önce kötü optimize edilmiş eklentileri kaldırın, çünkü bunlar diğer her şeyin toplamından daha fazlasına mal olur. Ardından batching.colliders "0"'ı ayarlayın, fps.max'ı 30 ile 100 arasında sınırlayın, server.saveinterval "600"'ü yükseltin ve hayvan hareketi olmadan yaşayabiliyorsanız nav_disable "true" ve ai.think 0'ı düşünün.

Önemli noktalar

  • Rust'ın ihtiyacı olan çekirdek sayısı değil saat hızıdır. Unity'nin çekirdek fonksiyonları tek iş parçacıklıdır.
  • Kötü kodlanmış tek bir eklenti, bu sayfadaki diğer her optimizasyonu boşa çıkarabilir.
  • Sunucu FPS'i, oyuncu FPS'i değildir. Farklı şeyleri ölçen farklı sayılardır.
  • Performance Monitor eklentisiyle ölçün, sonra kaldırın. O da performansa mal olur.
  • Buradaki her convar bir takastır. Onu ayarlamadan önce neyden vazgeçtiğinizi bilin.

Performansı gerçekte ne etkiler

Tutarlı performans, oyuncularınıza güvenli bir oynama yerleri olduğuna dair güvence veren şeydir, burada lag yüzünden bir dövüş kaybetmez veya bir uçurum kenarından rubber-band yaparak düşmezler. Nereden geldiği konusunda kesin olmakta fayda var, çünkü yanlış şeye harcanan zaman boşa gider.

Kabaca etki sırasına göre:

  1. Eklentiler. Kötü yazılmış tek bir tanesi her sunucu tick'ini domine edebilir.
  2. CPU saat hızı. Diğer her şeyin altında çalıştığı tavan.
  3. Varlık sayısı. Bir wipe döngüsünün sonlarına doğru, altınızda değişen şey budur.
  4. Kaydetme işlemleri. Büyük bir dünyada, her çalıştıklarında fark edilir.

Donanım: çekirdek sayısından önce saat hızı

3GHz üzerinde saat hızına sahip daha hızlı CPU'lar kullanan sağlayıcılardan çarpıcı derecede daha iyi sunucu performansı görürsünüz. Sebep, tesadüfi değil mimaridir: Unity'nin çekirdek fonksiyonları tek iş parçacıklıdır, bu yüzden tek bir çekirdekte çalışırlar ve diğerlerine yayılamazlar. 2.2GHz'de 32 çekirdekli bir CPU, 4GHz'de 8 çekirdekli bir CPU'dan daha kötü bir Rust sunucusu çalıştırır.

Çekirdek sayısı önemsiz değildir. NPC ve hayvan AI'sı ile diğer harita ile ilgili nesneler gibi şeyler birden fazla çekirdeğe yayılabilir, bu yüzden daha yüksek nüfuslu sunucular ekstra çekirdeklerden gerçekten fayda görür. İyi bir host, daha büyük bir sunucu için daha fazla çekirdek seçeneği sunmalı ve zaten Rust'ı yüksek frekanslı CPU'larda barındırıyor olmalıdır.

Bu, satın almadan önce kontrol edebileceğiniz en yararlı tek şeydir. Bir host çekirdek sayısını ve RAM'i reklam ediyor ama saat hızını etmiyorsa, bu genellikle saat hızının satış noktası olmadığı içindir.

Eklentiler: en büyük tek etken

uMod, sunucuların çoğunlukla topluluk tarafından geliştirilen eklentileri çalıştırmasını sağlayan bir Rust modding eklentisidir. Sunucu performansı, iyi yazılmış ve aktif olarak bakımı yapılan eklentilerden etkilenmez.

Kötü bir tanesi tarafından yok edilecektir. Farkında olmadan, eklentilerinizden herhangi birindeki küçük bir kod parçası sunucunuzun performansını ciddi şekilde düşürebilir ve bir eklentinin boyutu veya görünürdeki basitliği hakkında size hangisi olduğunu söyleyen hiçbir şey yoktur. En küçük, en hafif görünen eklenti bile kaosa yol açabilir, bunu deneyimli herhangi bir Rust sunucu sahibi veya eklenti geliştiricisi doğrulayacaktır.

Çok fazla eklenti çalıştırmaktan kaçının. Herhangi birinin kalitesinden tamamen ayrı olarak, sayının kendisinin bir bedeli vardır ve bir soruna cevap, bir eklenti eklemekten çok bir eklentiyi kaldırmaktır.

Tuttuğunuz eklentileri optimize etmek

Bazı eklentiler zamanlayıcılar ve aralıklar gibi performans ayarlama ayarlarını sunar. Bunlar genellikle varsayılan olarak kapalıdır veya muhafazakar bir şekilde ayarlanmıştır. Eklentinin config dosyasına bakın ve bunları etkinleştirin, çünkü otuz saniyede bir sorgulayabilecek bir eklentinin her tick'te sorgulaması, ihtiyacından otuz kat daha fazla iş yapması demektir.

Herhangi bir şeyi değiştirmeden önce ölçmek

Performans sorunlarını tahmin etmek zaman kaybettirir. Almaya değer iki ölçüm vardır.

Sunucu FPS'i

Bu, sunucunun çalıştığı kare hızıdır. Oyuncularınızın kare hızları üzerinde doğrudan bir etkisi yoktur, ancak bir bölgedeki yüksek varlık sayıları ikisini de etkiler. RCON üzerinden FPS komutuyla izleyin.

Performance Monitor eklentisi

uMod için Performance Monitor, bellek kullanımı, eklenti hook süresi ve sunucu performansını etkileyen diğer zamanlamalar hakkında gerçek zamanlı bilgi raporlar. Size hangi eklentinin tek bir hook'ta en çok zaman tükettiğini gösterir ve bu da "sunucu kötü hissettiriyor" ifadesini bir isme dönüştürür.

Performance Monitor'ı süresiz olarak çalışır durumda bırakmayın. İzlemenin kendisi kaynak tüketir ve ölçmeye çalıştığınız performansı kötüleştirir. Kurun, ölçümlerinizi alın, onlara göre hareket edin, sonra kaldırın.

Önemli olan convarlar

Bunların her biri bedava bir performans değil bir takastır. Kazançlar gerçektir, vazgeçtiğiniz şeyler de öyle.

batching.colliders "0"

Sunucunun varlıkları gruplaması ihtiyacını ortadan kaldırır. Bu büyük bir performans kazancıdır: gruplama etkinken, biri her inşa ettiğinde, sunucu ilgili tüm varlıkları gruptan çıkarmak ve sonra yeniden gruplamak zorunda kalır.

Uyarı: sunucunuz 265,000 varlığın üzerine çıkarsa, Unity varlık sınırını aşmak için onu yeniden etkinleştirmeniz gerekir. Yoğun bir sunucuda uzun bir wipe döngüsünün sonlarına doğru bu, teorik değil gerçek bir sayıdır, bu yüzden göz önünde bulundurmaya değer.

nav_disable "true"

Sunucunuzdaki NAV mesh'i devre dışı bırakır. Performans kazancı büyüktür. Bedeli, hayvanların ve NPC'lerin tamamen hareket etmeyi durdurmasıdır.

Bunun kabul edilebilir olup olmadığı sunucunuza bağlıdır. Kimsenin geyik avlamadığı ağırlıklı bir PvP sunucusunda, neredeyse bedavadır. Bir PvE veya roleplay sunucusunda, oyunun anlamlı bir bölümünü ortadan kaldırır.

ai.think 0

Büyük sunucularda hayvanların tepki vermediğini veya karşılık vermediğini fark etmiş olabilirsiniz. Bu, ai.think'in 0'a ayarlanmasıdır. Özellikle oyuncu sayısı yüksek olduğunda ve oyuncular hayvanlara sık sık yakın olduğunda performans üzerinde önemli bir olumlu etkisi vardır.

server.saveinterval "600"

Yüksek varlıklı bir sunucuda sunucu kaydettiğinde sunucu tarafı FPS düşüşleri görebilirsiniz. Kaydetmeler arasındaki süreyi artırmak bunu minimumda tutar.

Buradaki takas risktir: daha uzun bir aralık, sunucu kaydetmeler arasında çökerse daha fazla ilerlemenin kaybolması anlamına gelir. 600 saniye makul bir dengedir, ama sunucunuz başka sebeplerden dolayı kararsızsa, çökmeleri daha maliyetli hale getirerek belirtiyi düzeltmeyin.

fps.max

Sunucunuzun FPS'ini kontrol etmek genel olarak iyi bir fikirdir, böylece sunucu oyuncularınıza hiçbir fayda sağlamadan ihtiyacından daha sert çalışmaz. Facepunch, oyuncuların saniyede 30 kareyle sınırlı bir sunucuyu fark etmeyeceğini söyledi. fps.max30 ile 100 arasında bir sayıya ayarlamak şiddetle tavsiye edilir.

Yeniden başlatmalar

Günlük yeniden başlatmalar, modlanmış sunucularda performansa yardımcı olabilir. Uzun süredir çalışan işlemler bellek baskısı biriktirir ve yavaşça sızıntı yapan eklentiler yeterince yaygındır, bu yüzden zamanlanmış bir yeniden başlatma makul bir sigorta poliçesidir.

Onları sessiz bir saatte planlayın ve duyurun. global.restart oyunculara 300 saniyelik bir uyarı verir ve 5 saniyelik aralıklarla geri sayar, bu da güvenli bir yere gitmek için yeterli zamandır. Bir baskının ortasında sessiz bir yeniden başlatma, performans kazancının size kazandırdığından daha fazla oyuncu kaybettirir.

Ne yapılmalı, sırasıyla

  1. Önce ölçün

    RCON üzerinden sunucu FPS'ini kontrol edin ve Performance Monitor'ı kısa süreliğine çalıştırın. Bir referans noktası olmadan yaptığınız şeyin işe yarayıp yaramadığını anlayamazsınız.

  2. En kötü eklentiyi kaldırın

    Monitörün adlandırdığı her ne ise. Bu neredeyse her zaman mevcut en büyük tek kazançtır ve bedavadır.

  3. Tuttuğunuz eklentileri ayarlayın

    Config dosyalarındaki, varsa, zamanlayıcılar ve aralıklar.

  4. Convarları uygulayın

    batching.colliders "0", fps.max ve server.saveinterval ile başlayın, bunlar oyuncularınızın fark edeceği hiçbir şeye mal olmaz. Sadece durağan yaban hayatını kabul edebiliyorsanız nav_disable ve ai.think'i düşünün.

  5. Tekrar ölçün

    Aynı araçlar, aynı koşullar, ideal olarak benzer bir oyuncu sayısında. Sonra monitörü kaldırın.

  6. Donanıma bakın

    Yukarıdakilerin hepsini yaptıysanız ve performans hâlâ kötüyse, tavan CPU'dur ve hiçbir miktarda yapılandırma onu aşamaz.

Bu son adımdaysanız, bir Rust sunucusu satın alırken nelere dikkat edilmeli rehberimiz, taşınmadan önce bir hosta ne soracağınızı ele alıyor.

Kendi Rust sunucusunu yönetenler için daha fazla rehber.

Hızlı yanıtlar

Sık sorulan sorular

Etki sırasına göre: hook süresini tüketen kötü yazılmış bir eklenti, düşük saat hızına sahip bir CPU, çok yüksek bir varlık sayısı ve büyük bir dünyada kaydetme işlemleri. Eklentiler genellikle suçludur çünkü donanım ne kadar iyi olursa olsun, tek bir kötü kodlanmış eklenti her tick'i domine edebilir.

Saat hızı, çekirdek sayısından daha önemlidir. Unity'nin çekirdek fonksiyonları tek iş parçacıklıdır, bu yüzden 3GHz üzerinde saat hızına sahip bir CPU büyük bir fark yaratır. Ek çekirdekler AI ve harita ile ilgili işlerde yardımcı olur, bu yüzden daha yüksek nüfuslu sunucular onlardan fayda görür, ama düşük saat hızına sahip çok çekirdekli bir CPU Rust için yanlış şekildir.

30 ile 100 arasında bir yer. Facepunch, oyuncuların saniyede 30 kareyle sınırlı bir sunucuyu fark etmeyeceğini söyledi ve sunucunun ihtiyacından daha sert çalışmasına izin vermek oyuncularınıza hiçbir şey kazandırmaz. Bunu sınırlamak, oyun deneyimini gerçekten etkileyen iş için kapasite serbest bırakır.

Evet, önemli ölçüde, ama bir bedeli var. nav_disable "true" ayarlamak NAV mesh'i devre dışı bırakır, bu da büyük bir performans kazancı sağlar ve hayvanların ve NPC'lerin tamamen hareket etmesini durdurur. Bu takasın kabul edilebilir olup olmadığı tamamen ne tür bir sunucu çalıştırdığınıza bağlıdır.

Sunucunun varlıkları gruplaması ihtiyacını ortadan kaldırır. Bu büyük bir performans kazancıdır, çünkü gruplama etkinken, biri her inşa ettiğinde sunucu ilgili tüm varlıkları gruptan çıkarmak ve yeniden gruplamak zorunda kalır. Uyarı gerçektir: 265,000 varlığın üzerinde, Unity varlık sınırını aşmak için onu yeniden etkinleştirmeniz gerekir.

uMod için Performance Monitor eklentisini kullanın, bu eklenti bellek kullanımını ve eklenti hook sürelerini raporlar ve size hangi eklentinin tek bir hook'ta en çok zaman tükettiğini gösterir. Kalıcı olarak çalışır durumda bırakmayın, çünkü izlemenin kendisi performansa mal olur.

Yüksek saat hızlı donanımda Rust hosting

Rust, önemli olan yerde tek iş parçacıklıdır, bu yüzden onu en çok çekirdeğe sahip olan donanım yerine kendi Birleşik Krallık veri merkezimizdeki yüksek frekanslı CPU'larda çalıştırıyoruz.

  • Birleşik Krallık veri merkezi
  • Yüksek frekanslı CPU'lar
  • Ticket ve Discord üzerinden destek