Tickrate und Counterstrike Source Server |
|
Was ist die Tickrate?
Es existiert ein serverseitiger Kommandozeilenparameter in CS1.6 als auch in CS:Source, welcher in der Lage ist, die maximale Tickrate des Servers zu beeinflussen. Diese Tickrate bestimmt, wie oft der Server pro Sekunde sein "Bild der Welt" aktualisiert, also wie oft der Server in jeder Sekunde die Bewegungen aller Spieler und Items sowie alle Aktionen berechnet. Ohne diese ständige Neuberechnung würde das Spiel komplett stillstehen, so als existiere darin keine Zeitdimension. Die Tickrate bestimmt also, wie detailliert aus Sicht des Servers alles dargestellt wird, denn wenn es pro Sekunde nur eine Aktualisierung gäbe - so als würden Sie Ihre Augen nur einmal pro Sekunde ganz kurz öffnen - dann ist das deutlich ruckartiger als wenn es 30 oder gar 300 Aktualisierungen in jeder Sekunde geben würde.
Zwei verschiedene Tickrates
Es werden allgemein zwei leicht verschiedene Dinge als Tickrate bezeichnet, welche an dieser Stelle erklärt werden. Zum einen ist da die serverseitige Anzahl der bereits genannten Aktualisierungen des "Weltbildes", welche durch die Tickrate bestimmt wird. Wenn diese beispielsweise serverseitig auf 33 begrenzt ist und ein Spieler 100 Updates pro Sekunde anfordert, so würde der Spieler jeweils drei völlig identische Updates am Stück erhalten, bevor sich der Inhalt des Updates ändert, einfach weil der Server sein Weltbild erst dann erneuert. Der Server ist hierbei also, sofern genügend Rechenleistung vorhanden ist, in der Lage, trotz niedrigerer Tickrate noch die volle Zahl an Updates zu verschicken. Ist jedoch die Tickrate nach oben hin offen, kann also je nach serverseitig verfügbarer Rechenleistung mehr oder weniger schwanken, so kann es vorkommen, dass die Tickrate die 100 unterschreitet - jedoch ist dann nicht nur die Tickrate, sondern auch die serverseitige Updaterate betroffen, also die Zahl der Updates, die der Server pro Sekunde an jeden Spieler verschicken kann, denn in solch einem Fall existiert einfach keine weitere Rechenleistung, noch mehr zu versenden. Wenn also die Tickrate aus Performancegründen auf unter 100 gedrückt wird, so ist auch dessen Updaterate davon betroffen und ein Spieler, der 100 Updates pro Sekunde vom Server anfordert, würde weniger als 100 Updates erhalten. Diese serverseitige Updaterate wird, obwohl es eigentlich nicht wirklich die Tickrate ist, allgemein als Tickrate bezeichnet. Ein weiteres Problem, welches mit der aus Performancegründen gedrückten Tickrate zusammenhängt, ist, dass der Server auch nur eine verminderte Anzahl an Aktionen (Datenpaketen) pro Sekunde je Spieler verarbeiten kann. Würde ein Spieler mit cl_cmdrate 100 spielen und sich auf einem Server befinden, der in wichtigen Situationen nur 50 Ticks berechnen kann, so würde auch nur im Durchschnitt jedes zweite Datenpaket, das von diesem Spieler kommt, vom Server erfasst und verarbeitet werden - die andere Hälfte dieser Datenpakete müsste, da keine Performance vorhanden ist, um diese zu verarbeiten, zwangsläufig ignoriert werden. Der einzige Ausweg aus Sicht eines Gameservers wäre es, den Spielfluss zu verlangsamen, so dass eine Spielsekunde beispielsweise auf zwei Echtzeitsekunden ausgeweitet wird, wodurch so etwas ausgeglichen werden würde. Jedoch ist solch eine Programmierung für diesen Fall bei praktisch keinem bekannten Shooterspiel vorhanden.
Hohe oder niedrige Tickrate?
Was ist nun besser? Eine serverseitige hohe oder eher niedrige Tickrate?
Es ist in der Tat je nach Rechenleistung so, dass nicht immer eine hohe Tickrate die bessere Wahl ist. Denn eine höhere Anzahl an Ticks pro Sekunde verbraucht serverseitig Rechenleistung, was, sofern davon nicht genügend vorhanden ist, dazu führen kann, dass auch die Anzahl der Updates und Spieleraktionen pro Sekunde unter 100 fällt, wodurch einerseits die Spieler weniger als 100 Updates je Sekunde erhalten und andererseits Datenpakete von Spielern ignoriert werden müssten. In solch einem Fall wäre es sinnvoller, die serverseitige Tickrate zu vermindern, wodurch genug Rechenleistung frei wird, damit der Server wenigstens 100 Datenpakete je Spieler je Sekunde verarbeiten kann, was aus Sicht aller Spieler die vermutlich deutlich bessere Alternative ist, verglichen mit "Packetloss aus Performancegründen".
Quelle: netsettings.net
|