Przejdź do głównej zawartości

Optymalizacja serwera Rust: co powoduje lagi i co pomaga

Krótka odpowiedź: wpisz serverinfo w konsoli serwera, żeby zobaczyć Framerate i EntityCount serwera. Serwer Rust zwalnia, gdy ma więcej do obsłużenia: więcej budynków i przedmiotów w świecie, więcej spawnów na większej mapie, NPC i pluginy. Ustawienia niżej kontrolują każdą z tych rzeczy. Ustawienia tick rate zostaw domyślne.

KomendaCo pokazuje
serverinfoFramerate, EntityCount (wszystko w świecie), Players, Memory, NetworkIn i NetworkOut, Uptime.
server.fpsSamą liczbę klatek serwera.

Wpisz je w konsoli serwera, przez RCON albo w konsoli F1 jako admin. W Crucible Local Server kafelek Liczba klatek w szybkim widoku pokazuje tę samą liczbę, gdy serwer jest Live.

Obserwuj liczbę klatek, gdy lag się dzieje. Jeśli spada, serwer dławi się własną pracą i reszta tej strony ma zastosowanie. Jeśli trzyma stałą wartość, patrz zamiast tego na sieć albo PC gracza.

fps.limit to największa liczba klatek na sekundę, z jaką serwer będzie działał (Rust podaje 240). Obniżenie go zwalnia CPU dla innych rzeczy na tym samym PC, na przykład drugiego serwera. Nic nie daje serwerowi, który już działa poniżej limitu.

UstawienieDomyślnieCo robi
server.tickrate10Ile razy na sekundę serwer obsługuje RCON, Rust+ i kontrole połączeń. Nie sprawia, że gra działa płynniej.
player.tickrate_sv16Ile razy na sekundę serwer aktualizuje każdego gracza. Rust pozwala na 16 do 128, a każdy stopień w górę to więcej pracy dla każdego gracza online.

Każdy element budowli, deployable, upuszczony przedmiot, ciało, zwierzę i beczka to encja, a serwer śledzi i zapisuje każdą z nich. Liczba rośnie w trakcie wipe’a, gdy gracze budują.

Ustawienie lub komendaDomyślnieCo robi
server.itemdespawn300Bazowa liczba sekund, przez które upuszczony przedmiot leży na ziemi, zanim zniknie. Niektóre przedmioty zostają dłużej.
server.corpsedespawn300Sekundy, przez które ciało zostaje.
entity.countby <steamid>Liczy wszystko, co postawił jeden gracz.
entity.deleteby <steamid>Niszczy wszystko, co postawił jeden gracz. Nie ma cofania.

Decay niszczy budynki, których nikt nie utrzymuje, i to on czyści opuszczone bazy z mapy. Przy decay.scale 0 nic się nie rozpada, więc każda baza zostaje do wipe’a, a liczba encji tylko rośnie. Zostaw decay włączony na długi wipe; ustawienia są w jak wyłączyć decay.

Rust wypełnia mapę węzłami rudy, roślinami, pickupami i zwierzętami według powierzchni: każdy typ spawnu ma gęstość, a Rust dąży do tej gęstości na całym lądzie, na którym się mieści. Większa mapa mieści więcej wszystkiego i więcej do obsłużenia przez serwer. Rust ogranicza niektóre typy spawnu do powierzchni mapy 4000 m. Wybór rozmiaru: rozmiary map Rust.

UstawienieDomyślnieCo robi
spawn.max_density1Skaluje, ile każdego typu spawnu mieści mapa. 0.5 to połowa.
spawn.min_density0.5Typy spawnu zależne od liczby graczy zaczynają tu na pustym serwerze i rosną do spawn.max_density, gdy się zapełnia.
spawn.tick_populations60Sekundy między rundami spawnu. Wyższa liczba uzupełnia mapę wolniej.
UstawienieCo robi
ai.npc_enable falseNaukowcy nie spawnują się na monumentach i junkpile, a Rust pomija budowanie navmesh monumentów, więc serwer startuje szybciej. Zwierzęta nadal się spawnują.
aimanager.nav_disable trueRust w ogóle nie buduje navmesh, więc serwer startuje dużo szybciej, ale NPC i zwierzęta nie mogą się ruszać. Tylko dla serwera do budowania lub testów.

Ustaw oba w server.cfg albo w linii startowej, żeby działały od chwili startu serwera. Zobacz przykład server.cfg dla Rust.

Każdy plugin uruchamia na serwerze własny kod, a jeden wolny plugin potrafi zawlec liczbę klatek w dół dla wszystkich. o.plugins na Oxide albo c.plugins na Carbon wypisuje, co jest wczytane. Żeby znaleźć wolny, wyjmuj pluginy z folderu oxide/plugins lub carbon/plugins po jednym, restartuj i obserwuj liczbę klatek. W Crucible Local Server pluginami zarządza się w zakładce Mody; zobacz mody i pluginy.

server.saveinterval (600) to jak często świat się zapisuje, w sekundach, a każdy zapis zapisuje każdą encję w świecie. Świat z większą liczbą encji zapisuje się dłużej, więc nie ustawiaj tego bardzo nisko.

Zaplanowany restart daje długo działającemu serwerowi czysty start. Crucible Local Server potrafi restartować według dziennego harmonogramu i instalować aktualizacje Rust, gdy serwer jest wyłączony; zobacz restartuj serwer automatycznie.

Ustawienia Wydajność w zakładce Konfiguracja:

  • Pomiń navmesh AI (szybszy start) to aimanager.nav_disable z góry: dużo szybszy start, z NPC i zwierzętami, które się nie ruszają.
  • Wysoki priorytet daje serwerowi więcej CPU, gdy działają inne aplikacje.
  • Rdzenie CPU (zaawansowane) przypina serwer do rdzeni, które wymienisz, na przykład 0-7. Zostaw puste, żeby użyć każdego rdzenia.

Każdy dodatkowy serwer uruchomiony naraz kosztuje realne RAM i CPU, dlatego Pozwól na uruchomienie wielu serwerów naraz jest domyślnie wyłączone. Zobacz ustawienia serwera.