GRUNDLAGEN
Was sind Rates?
In einem Online-Match tauschen dein Client und der Gameserver fortlaufend Daten aus. Dein Rechner sendet unter anderem deine Eingaben an den Server und empfängt im Gegenzug Updates über das Spielgeschehen.
Die klassischen GoldSrc-Netsettings bestimmen unter anderem, wie viel Netzwerkbandbreite verwendet werden darf und wie häufig Client und Server Updates anfordern bzw. senden.
Server können Werte begrenzen. Außerdem müssen Updaterate, verfügbare Bandbreite und Interpolation sinnvoll zusammenpassen. Deshalb gibt es keine einzelne Rate-Zeile, die auf jedem GoldSrc-Server automatisch optimal ist.
BANDBREITE
rate
rate legt das Bandbreitenlimit fest, das der Client
für vom Server empfangene Spieldaten zulässt. Ist der Wert zu niedrig,
kann der Server nicht genügend Daten zum Client übertragen.
rate "25000"
Auf unseren Planet-Czero-Servern ist
sv_maxrate 25000 gesetzt. Deshalb verwenden wir auf
dem Client ebenfalls rate 25000. Ein höherer
Clientwert würde dieses Serverlimit nicht aufheben.
Neuere GoldSrc-Builds erlauben höhere Clientwerte als die alten 20.000/25.000-Empfehlungen. Entscheidend bleibt aber, was der jeweilige Server tatsächlich zulässt. Unsere 25.000 sind daher eine bewusste Server-Einstellung und kein universelles Internet-Limit.
CLIENT → SERVER
cl_cmdrate
cl_cmdrate bestimmt, wie häufig dein Client
Benutzerbefehle bzw. Command-Pakete an den Server senden möchte.
Dazu gehören beispielsweise Bewegungs- und Blickinformationen.
cl_cmdrate "101"
Sehr niedrige Werte reduzieren die Häufigkeit der Client-Updates. Einfach irgendeinen extrem hohen Wert einzutragen bringt dagegen keinen magischen Vorteil – Engine und Server setzen praktische Grenzen.
SERVER → CLIENT
cl_updaterate
cl_updaterate gibt an, wie viele Updates pro Sekunde
dein Client vom Server anfordern möchte.
cl_updaterate "101"
Wichtig: Der Client kann den Server nicht dazu zwingen,
tatsächlich so viele Updates zu liefern. Der Server kann die
Updaterate mit sv_minupdaterate und
sv_maxupdaterate begrenzen.
Ein hoher cl_updaterate-Wert auf einem Server mit deutlich niedrigerem sv_maxupdaterate erzeugt nicht plötzlich mehr echte Serverupdates. Genau deshalb sollte man Rates nicht losgelöst vom jeweiligen Server betrachten.
INTERPOLATION
ex_interp
Netzwerkupdates treffen nicht als kontinuierlicher Datenstrom ein. Zwischen zwei empfangenen Zuständen muss der Client die Bewegung anderer Objekte und Spieler für die Darstellung glätten. Dafür verwendet GoldSrc Interpolation.
ex_interp "0.01"
ex_interp 0.01 entspricht 10 Millisekunden
Interpolationszeit. Dieser Wert passt zur klassischen Kombination
mit einer Updaterate um 100 Updates pro Sekunde.
Als Faustbeziehung wird bei GoldSrc häufig
ex_interp ≈ 1 / cl_updaterate verwendet.
Bei 100 Updates pro Sekunde ergibt das 0,01 Sekunden.
GoldSrc kann bei ex_interp 0 selbst einen Wert aus
der Updaterate ableiten. In der Praxis gibt es bei alten und
neueren Builds Diskussionen über Rundung und konkrete Grenzwerte.
Für unsere Server verwenden wir deshalb bewusst die nachvollziehbare
Kombination cl_updaterate 101 und
ex_interp 0.01.
BACKUP COMMANDS
cl_cmdbackup
GoldSrc kann zusätzliche vorherige Benutzerbefehle in ausgehenden Command-Paketen mitsenden. Das hilft dabei, einzelne verlorene Command-Pakete abzufangen.
cl_cmdbackup "2"
Für unser Setup lassen wir den klassischen Wert 2 stehen. Hier gibt es keinen Grund, mit Fantasiewerten aus alten „Low-Ping-CFGs“ zu experimentieren.
PREDICTION & LAG COMPENSATION
cl_lc & cl_lw
Zwei weitere Befehle tauchen häufig in alten Counter-Strike-Configs
auf: cl_lc und cl_lw.
Lässt die clientseitige Unterstützung für die serverseitige Lag-Kompensation aktiviert.
Aktiviert die lokale Vorhersage bestimmter Waffenaktionen, damit Eingaben nicht erst nach einer Serverantwort sichtbar werden.
cl_lc "1"
cl_lw "1"
Prediction und Lag-Kompensation abzuschalten ist kein geheimer Hitbox-Trick. Für ein normales Multiplayer-Setup lassen wir beide Funktionen aktiviert.
FEHLERSUCHE
Loss & Choke
Bevor du Rates nach Gefühl veränderst, solltest du prüfen, was deine Verbindung tatsächlich macht. Dafür ist der Netgraph wesentlich hilfreicher als „die Hits fühlen sich heute komisch an“.
net_graph "3"
Datenpakete erreichen ihr Ziel nicht zuverlässig. Das kann auf Probleme der Netzwerkverbindung oder des Übertragungswegs hindeuten.
Benötigte Updates können nicht in der gewünschten Rate übertragen werden – beispielsweise weil Server- oder Bandbreitenlimits greifen.
Einzelne kurze Ausschläge sind etwas anderes als dauerhaft hohe Werte. Wenn Loss oder Choke ständig auftreten, sollte zuerst die Ursache gesucht werden, statt zehn Netzwerk-CVARs gleichzeitig zu verändern.
→ ZUM GUIDE: NETGRAPH VERSTEHENPLANET CZERO
Unsere Einstellungen
Für unsere Stutengasse-Server verwenden wir als Client-Basis:
rate "25000"
cl_cmdrate "101"
cl_updaterate "101"
ex_interp "0.01"
cl_cmdbackup "2"
cl_lc "1"
cl_lw "1"
net_graph "3"
net_graphpos "2"
Diese Werte passen zu unserer Serverkonfiguration und sind unsere nachvollziehbare Ausgangsbasis. Auf anderen GoldSrc-Servern können insbesondere sv_maxrate und sv_maxupdaterate anders gesetzt sein.
Genau deshalb nennen wir das hier nicht „die einzig perfekten Counter-Strike-Rates“. Wer das verspricht, verkauft meistens zwanzig Jahre alten Config-Voodoo in neuer Verpackung.
PRAXISTEST
Rates testen.
Jetzt kommt der sinnvollste Teil: nicht weiter theoretisieren, sondern auf einen Server gehen und Netgraph beobachten.
connect 31.18.86.75:27015