Die kurze Antwort
Entferne zuerst schlecht optimierte Plugins, denn sie kosten mehr als alles andere
zusammen. Setze dann batching.colliders "0", begrenze fps.max
auf zwischen 30 und 100, erhöhe server.saveinterval "600", und erwäge
nav_disable "true" und ai.think 0, wenn du ohne Tierbewegung
leben kannst.
Das Wichtigste
- Rust braucht Taktrate, keine Kernanzahl. Die Kernfunktionen von Unity sind single threaded.
- Ein einziges schlecht programmiertes Plugin kann jede andere Optimierung auf dieser Seite zunichtemachen.
- Server-FPS sind nicht Spieler-FPS. Es sind unterschiedliche Zahlen, die unterschiedliche Dinge messen.
- Miss mit dem Performance Monitor Plugin, entferne es danach. Es kostet ebenfalls Performance.
- Jeder Convar hier ist ein Tausch. Wisse, worauf du verzichtest, bevor du ihn setzt.
Was die Performance tatsächlich beeinflusst
Konstante Performance ist das, was deinen Spielern versichert, dass sie einen sicheren Ort zum Spielen haben, an dem sie keinen Kampf durch Lag verlieren oder von einer Klippenkante abprallen. Es lohnt sich, genau zu wissen, woher sie kommt, denn Zeit, die auf das Falsche verwendet wird, ist verschwendet.
Grob nach Auswirkung geordnet:
- Plugins. Ein einziges schlecht geschriebenes kann jeden Server-Tick dominieren.
- CPU-Taktrate. Die Obergrenze, unter der alles andere arbeitet.
- Entity-Anzahl. Spät im Wipe-Zyklus ist das, was sich unter dir verändert.
- Speichervorgänge. Auf einer großen Welt jedes Mal spürbar, wenn sie laufen.
Hardware: Taktrate vor Kernanzahl
Du wirst deutlich bessere Serverperformance bei Anbietern sehen, die schnellere CPUs mit über 3GHz Taktrate einsetzen. Der Grund ist architektonisch und nicht zufällig: Die Kernfunktionen von Unity sind single threaded, laufen also auf einem Kern und können nicht auf andere verteilt werden. Eine 32-Kern-CPU mit 2,2GHz betreibt einen Rust Server schlechter als eine 8-Kern-CPU mit 4GHz.
Die Kernanzahl ist nicht irrelevant. Dinge wie NPC- und Tier-KI sowie andere kartenbezogene Objekte können auf mehrere Kerne verteilt werden, weshalb Server mit höherer Spielerzahl wirklich von zusätzlichen Kernen profitieren. Ein guter Host sollte die Option auf mehr Kerne für einen größeren Server bieten und Rust ohnehin auf hochfrequenten CPUs hosten.
Das ist das mit Abstand Nützlichste, was du vor dem Kauf prüfen solltest. Wirbt ein Host mit Kernanzahl und RAM, aber nicht mit der Taktrate, liegt das meist daran, dass die Taktrate nicht das Verkaufsargument ist.
Plugins: der größte einzelne Faktor
uMod ist ein Rust Modding-Addon, mit dem Server Plugins ausführen können, die größtenteils von der Community entwickelt wurden. Gut geschriebene, aktiv gepflegte Plugins beeinträchtigen die Serverperformance nicht.
Von einem schlechten wird sie zerstört. Ohne dass du es merkst, kann ein kleines Stück Code in einem deiner Plugins die Performance deines Servers massiv verschlechtern, und weder Größe noch scheinbare Einfachheit eines Plugins verraten dir, welches. Selbst das kleinste, am leichtesten wirkende Plugin kann Chaos anrichten, wie dir jeder erfahrene Rust Server-Besitzer oder Plugin-Entwickler bestätigen wird.
Vermeide es, zu viele Plugins laufen zu lassen. Die Anzahl selbst hat einen Preis, ganz abgesehen von der Qualität eines einzelnen, und die Antwort auf ein Problem ist öfter, ein Plugin zu entfernen, als eines hinzuzufügen.
Die Plugins optimieren, die du behältst
Manche Plugins bieten Performance-Einstellungen wie Timer und Intervalle. Diese sind standardmäßig meist deaktiviert oder vorsichtig eingestellt. Schau in der Konfigurationsdatei des Plugins nach und aktiviere sie, denn ein Plugin, das jeden Tick abfragt, obwohl es alle dreißig Sekunden abfragen könnte, leistet dreißigmal mehr Arbeit, als nötig.
Messen, bevor du etwas änderst
Bei Performance-Problemen zu raten verschwendet Zeit. Es gibt zwei Messungen, die sich lohnen.
Server-FPS
Das ist die Bildrate, mit der der Server arbeitet. Sie hat keinen direkten Einfluss
auf die Bildraten deiner Spieler, auch wenn hohe Entity-Anzahlen in einem Bereich
beide beeinflussen. Überwache sie über RCON mit dem Befehl FPS.
Das Performance Monitor Plugin
Der Performance Monitor für uMod meldet Echtzeitinformationen zu Speicherverbrauch, Plugin-Hook-Zeit und anderen Timings, die die Serverperformance beeinflussen. Er zeigt dir, welches Plugin die meiste Zeit auf einem einzelnen Hook verbraucht, was aus "der Server fühlt sich schlecht an" einen Namen macht.
Lass den Performance Monitor nicht unbegrenzt laufen. Das Monitoring selbst verbraucht Ressourcen und verschlechtert die Performance, die du eigentlich messen willst. Installiere es, nimm deine Messwerte, handle danach, und entlade es dann.
Die Convars, die zählen
Jeder davon ist ein Tausch statt kostenloser Performance. Die Gewinne sind real, genau wie das, worauf du verzichtest.
batching.colliders "0"
Macht das Batching von Entities durch den Server überflüssig. Das ist ein großer Performance-Gewinn: Mit aktiviertem Batching muss der Server jedes Mal, wenn jemand baut, alle zugehörigen Entities un-batchen und dann neu batchen.
Der Vorbehalt: Geht dein Server über 265.000 Entities, musst du es wieder aktivieren, um das Unity-Entity-Limit zu umgehen. Spät in einem langen Wipe-Zyklus auf einem stark ausgelasteten Server ist das eine reale Zahl und keine theoretische, es lohnt sich also, ein Auge darauf zu haben.
nav_disable "true"
Deaktiviert das NAV-Mesh auf deinem Server. Der Performance-Gewinn ist groß. Der Preis ist, dass sich Tiere und NPCs überhaupt nicht mehr bewegen.
Ob das akzeptabel ist, hängt von deinem Server ab. Auf einem stark PvP-fokussierten Server, auf dem niemand Rehe jagt, ist es fast kostenlos. Auf einem PvE- oder Roleplay-Server entfernt es einen bedeutenden Teil des Spiels.
ai.think 0
Vielleicht ist dir auf großen Servern aufgefallen, dass Tiere nicht reagieren oder sich
nicht wehren. Das ist ai.think auf 0 gesetzt. Es hat einen deutlich positiven
Effekt auf die Performance, besonders wenn die Spielerzahl hoch ist und Spieler häufig in
der Nähe von Tieren sind.
server.saveinterval "600"
Du siehst möglicherweise serverseitige FPS-Einbrüche, wenn der Server auf einem Server mit hoher Entity-Anzahl speichert. Das Vergrößern des Abstands zwischen Speichervorgängen hält das minimal.
Der Tausch hier ist Risiko: Ein längeres Intervall bedeutet mehr verlorenen Fortschritt, wenn der Server zwischen zwei Speichervorgängen abstürzt. 600 Sekunden sind eine vernünftige Balance, aber wenn dein Server aus anderen Gründen instabil ist, behebe nicht das Symptom, indem du die Abstürze teurer machst.
fps.max
Die FPS deines Servers zu kontrollieren ist generell eine gute Idee, damit der Server nicht
härter arbeitet, als nötig, ohne Nutzen für deine Spieler. Facepunch hat gesagt, dass
Spieler einen auf 30 Bilder pro Sekunde begrenzten Server nicht bemerken würden. Es wird
dringend empfohlen, fps.max auf einen Wert zwischen 30 und 100
zu setzen.
Neustarts
Tägliche Neustarts können der Performance auf modifizierten Servern helfen. Lang laufende Prozesse bauen Speicherdruck auf, und langsam leckende Plugins sind häufig genug, dass ein geplanter Neustart eine vernünftige Versicherung ist.
Plane sie zu einer ruhigen Stunde und kündige sie an. global.restart gibt den
Spielern eine 300-Sekunden-Warnung in 5-Sekunden-Intervallen, was genug Zeit ist, um sich
in Sicherheit zu bringen. Ein stiller Neustart mitten in einem Raid kostet dich mehr
Spieler, als der Performance-Gewinn dir bringt.
Was du in welcher Reihenfolge tun solltest
-
Zuerst messen
Prüfe die Server-FPS über RCON und lass den Performance Monitor kurz laufen. Ohne einen Ausgangswert kannst du nicht sagen, ob irgendetwas, das du getan hast, geholfen hat.
-
Das schlechteste Plugin entfernen
Was auch immer der Monitor genannt hat. Das ist fast immer der größte verfügbare Gewinn, und er ist kostenlos.
-
Die Plugins optimieren, die du behältst
Timer und Intervalle in ihren Konfigurationsdateien, sofern vorhanden.
-
Die Convars anwenden
Beginne mit
batching.colliders "0",fps.maxundserver.saveinterval, die dich nichts kosten, was deine Spieler bemerken. Erwägenav_disableundai.thinknur, wenn du mit unbeweglicher Tierwelt leben kannst. -
Erneut messen
Gleiche Tools, gleiche Bedingungen, idealerweise bei ähnlicher Spielerzahl. Entlade dann den Monitor.
-
Die Hardware betrachten
Wenn du all das getan hast und die Performance immer noch schlecht ist, ist die CPU die Obergrenze, und keine Konfiguration kommt daran vorbei.
Wenn du bei diesem letzten Schritt bist, behandelt unsere Anleitung dazu, worauf du beim Kauf eines Rust Servers achten solltest, was du einen Host fragen solltest, bevor du umziehst.