26 visits (today) / 72 visits (yesterday) / 2622 visits (month) / 60391 visits total / 30 registered users / 0 users online / 5 guests online / • Show statistic
 
 
 
30.05: Ein bischen was zu L..
10.03: Treffer oder nicht????
10.03: Netcode CS:S
 
Germany 26.07: Die große CS:S Reform
Germany 18.07: Aktualisierung des Map..
Germany 09.07: Cvarblock update
Germany 09.07: Mappool ESL
Germany 25.06: Neue CVARblock Version..
 
www.vionix.dehttp://dultimate.du.funpic.de
 

articles



Netcode CS:S
Date: 10.03.2007
Author: Morpheus
Links: n/a
Rating:

Funktionsweise des Counter-Strike: Source Netcode
Vorwort
Allgemeine Funktionsweise
Tickrate
Pakete und delta compression
cl_updaterate
cl_cmdrate
rate
Das Zusammenspiel der rates
cl_interpolate, cl_interp, lag compensation
cl_interpolate 1 versus cl_interpolate 0
cl_predict, cl_smooth, cl_interp_all
Der Netgraph
Wie lauten die besten Settings?


Vorwort

Dieser Guide ist an alle gerichtet, die wirklich wissen wollen, was sie in ihrer config stehen haben und warum. Ich habe diesen Artikel einfach aus einem Forum geklaut und stell ihn mal hier rein.

Allgemeine Funktionsweise

Der Counter-Strike: Source Netcode basiert auf einem Server/Client-System. Alles was du tust, wird zum Server geschickt und dort verarbeitet. Beachte aber, dass du den Schritt nach vorne nicht auf dem Client, also deinem Computer tust, sondern das diese Information zum Server geschickt wird. Dort wird diese Information verarbeitet und wird dann wieder zu dir geschickt. Erst dann bewegst du dich einen Schritt nach vorne! Natürlich gibt es auch einige Tricks im Netcode, dass dies nicht so sehr auffällt. Wichtig für dich ist nur zu wissen, dass alle Aktionen auf dem Server ausgeführt werden und nicht auf deinem Computer. Alle Bilder auf deinem Computer sind lediglich ein Abbild vom dem was auf dem Server passiert.

Tickrate

Der Standardwert bei Counter-Strike: Source ist Tickrate 33. Dieser Begriff ist am besten zu erklären, dass der Server mit 33 fps arbeitet. Jedoch gibt es beim Server keine grafische Abbildung, sondern die ganzen Positionsdaten, die Aktionen der Spieler auf der Map werden 33 mal die Sekunde aktualisiert. Umso höher die Tickrate ist, umso stärker wird die CPU belastet, da mehr in der Sekunde aktualisiert wird. Jedoch ist dadurch die Berechnung viel genauer.

Pakete und delta compression

Informationen die von dir zum Server und vom Server zu dir geschickt werden, werden in Paketen gesammelt. Dies passiert um Bandbreite zu sparen, so können auch mehrere Aktionen von dir ausgeführt werden, aber die Daten kommen trotzdem nur in einem Paket an. Dabei werden nicht alle Daten komplett neu gesendet, sondern mit der Delta Kompression werden jeweils nur die Veränderungen geschickt, um wiederrum Bandbreite zu sparen.

cl_updaterate

cl_updaterate gibt an, wieviele Pakete du vom Server innerhalb 1 Sekunde anforderst. Der Standardwert von cl_updaterate ist 20. Du forderst also jede Sekunde 20 Pakete vom Server an.
1000 Millisekunden (1 Sekunde) : 20 Pakete = 50 Millisekunden
Dir wird also alle 50 Millisekunden ein Paket geschickt. Alles was in diesen 50 Millisekunden passiert, wird in einem Paket zusammengefasst. Umso höher also die cl_updaterate ist, umso mehr Pakete werden dir gesendet und umso genauer ist das Spielgefühl. Jedoch hat die Sache einen Hacken. Dieser dürfte den meisten inzwischen bekannt sein, damit die mehr Pakete pro Sekunde angefordern kannst, muss der Server natürlich auch mit der entsprechenden Tickrate laufen. Wenn du zum Beispiel 100 Pakete anforderst auf einen Tickrate 33 Server, können dir maximal 33 Pakete geschickt werden, weil vom Server einfach nicht mehr berechnet wird. Oder ganz simpel. Du kannst nicht 5 Bonbons aus einer Schachtel nehmen, wenn nur 3 drin sind.

cl_cmdrate

Dieser Befehl gibt an, wieviele Pakete pro Sekunde von dir zum Server geschickt werden. Dieser Wert wird genauso berechnet wie cl_updaterate.
1000 Millisekunden (1 Sekunde) : 30 Pakete = ~ 33 Millisekunden
Der Standardwert cl_cmdrate 30 bedeutet, dass alle 33 Millisekunden ein Paket von dir zum Server geschickt wird. Jedoch tritt hier ein ähnliches Problem wie bei cl_updaterate bei einer zu geringen Tickrate ein. Damit du 30 Pakete die Sekunde schicken kannst muss dein Computer mit konstanten 30 fps laufen, da wie bei der Tickrate pro Bild deine Informationen aktualisiert werden.

rate

Rate gibt an wieviel Bandbreite du cl_updaterate und cl_cmdrate zur Verfügung stellen möchtest.
10000 (rate) : 1024 ( 1 Kilobyte ) = ~ 10 Kilobyte
Ein normaler DSL 1000 Anschluss kann bis zu 128 Kilobyte pro Sekunde erreichen, rein theoretisch könnte also ein DSL 1000 Anschluss ein Wert von maximal 131072 erreichen. Jedoch werden niemals soviele Daten verschickt. Was der besste Wert genau ist, ist schwer zu beantworten, da du immer unterschiedliche viel Bandbreite benutzt. Meiner Erfahrung nach ist ein Wert von rate 25000, was ungefähr 24 KB/sec vollkommen ausreichend und wird im Spiel nie ausgereizt.

Das Zusammenspiel der rates

Zusammenfassend möchte ich betonen, dass der Netcode wirklich nur gut funktioniert, wenn die Netsettings aller Spieler den selben Werten entsprechen und auch von allen erreicht werden können. Die meisten Internetanschlüsse dürften wohl den Wert von cl_updaterate 100 schaffen. Jedoch sind die meisten Computer immernoch zu schwach, um die cl_cmdrate 100, also die konstanten 100 fps, zu erreichen. Solange die meisten Spieler diesen Wert nicht erreichen, macht eigentlich auch cl_updaterate 100 keinen Sinn. Denn wenn zum Server nur alle 20 ms (50 fps oder auch cl_cmdrate 50) ein Paket geschickt wird, aber alle 10 ms ein Paket angefordert wird, erzeugt man eigentlich nur mehr Traffic, als die erhoffte Verbesserung. Dabei kommt es gerade bei nicht erreichbaren Settings zu einem schlechten Spielgefühl, da die Werte immer wieder schwanken und man manchmal das Gefühl hat, man trifft alles und beim nächsten mal der Gegner einfach nicht umfallen will. Mit konstanten 100 fps wie bei 1.6, wird auch der Netcode von Counter-Strike: Source mit unseren jetztigen Settings perfekt funktionieren.

cl_interpolate, cl_interp, lag compensation

Wie du schon erfahren hast, werden alle Informationen vom Server zu dir in Paketen geschickt. Da wie im ersten Abschnitt beschrieben, du dich nicht auf deinem Computer bewegst, sondern die Informationen erst von dir zum Server geschickt werden müssen und dann wieder zurück, hinkst du immer den Paketen vom Server hinterher. cl_interpolation 1 setzt dich in der Zeit zurück, damit neue Pakete ankommen können und du nicht auf diese erst warten musst und dadurch Ruckler vermieden werden. Das gesamte Spiel wird sozusagen gebuffert und vorhande Informationen werden absichtlich erst später zu euch geschickt. Damit die Interpolation korrekt funktioniert, muss cl_interp an den Wert von cl_updaterate eingstellt werden.
1000 Millisekunden (1 Sekunde) : 20 Pakete = 50 Millisekunden
Der Standardwert von cl_updaterate ist 20. Das heißt, alle 50 ms erreicht dich ein neues Paket. Damit die Bewegungen, Animationen zwischen zwei Paketen berechnet werden kann, müssen wir zum ersten Paket zurück. Wieviele Millisekunden die Interpolation zurück geht, steuert also cl_interp. Ein Wert von cl_interp 0.05 bringt dich die besagten 50 ms zurück zum ersten Paket. Valve setzt hier auf Nummer Sicher und setzt dich sogar zwei Pakete zurück. Dies entspricht den Standardwert von cl_interp 0.1, also 100 ms. So kann sogar ein Paket verloren gehen, ohne das die Interpolation aussetzt.

Snapshot steht gleich bedeutet für ein Paket

Also ist alles was du auf deinen Computer siehst 100 ms (bei cl_interp 0.1) vorraus gegenüber dem Server. Damit du nicht auch vorraus aimen musst, gibt es die serverseitige lag compensation (sv_unlag 1), die diesen Fehler behebt. Sagen wir mal, du schiesst auf ein Gegner zur client time 10.15 (command execution time). Die Feuerinformation wird mit dem nächsten Paket verschickt und während die Information zum Server gelangt (Ping), läuft der Gegner natürlich weiter. Wenn dann das Paket zur server time 10.20 (current server time) ankommt, würde der Schuss nicht registriert werden, da sich der Gegner schon weiter bewegt hat. Und dies obwohl du genau auf dem Models drauf warst. Genau dieser Fehler wird eben von der serverseitigen lag compensation behoben. Das lag compensation System speichert für ungefähr 1 Sekunde (dies kann mit sv_maxunlag geändert werden) alle letzten Positionen der Spieler. Wenn ein Befehl ausgeführt wird, wie der Schuss zum Beispiel, errechnet der Server wann der Befehl ausgeführt wurde.
Command Execution Time = Current Server Time - Client Latency (Ping) - Client View Interpolation (cl_interp Wert)
Wenn das Paket beim Server ankommt, werden alle Spieler zu der Position zurück gesetzt, wo sie zur command execution time (zum Augenblick wo du abdrückt hast) waren. Wenn der Befehl korrekt ausgeführt wurde, werden die Spieler wieder zur aktuellen Position verschoben. Du kannst dir mit sv_showimpacts 1 anzeigen lassen, wo sich die Hitboxen befinden.



Die blaue Hitbox ist die auf dem Server und die rote Hitbox ist die auf deinen Computer. Logischerweise hinkt die blaue Hitbox immer der roten hinterher. Umso besser die Verbindung zum Server ist, umso näher sind die beiden Boxen zusammen. Genau dies versuchst du zu verbessern mit den Netsettings. Das Model läuft inübrigen deshalb vor den Hitboxen, weil die Interpolation die 100 Milliesekunden buffert. Vergesse in diesen Moment nicht, dass der Server den cl_interp Wert automatisch abzieht. Würdest du auf die Hitbox anstatt auf den Model schiessen, würde der Treffer nicht registriert werden.

cl_interpolate 1 versus cl_interpolate 0

Aus der Erklärung von Valve heraus dürfte es zwischen cl_interpolate 1 und cl_interpolate 0 keinen Unterschied in der Trefferregistrierung geben, jedoch ist von vielen Spieler das gegenteilige zu lesen. Ich möchte aber diesen Artikel zu keiner int1 vs int0 Diskussion verkommen lassen, sondern einfach etwas mitgeben. Letztlich ist es zu dieser Diskussion einfach gekommen, weil Valve Bugs im Netcode hatte und längst noch nicht alle bekannten bugs gefixt hat. Sollte irgendwann alles gefixt sein, dürfte auch kein force mehr nötig sein.

cl_predict, cl_smooth, cl_interp_all

Wenn du einen Schritt nach vorne machst, muss die Informationen mit dem nächsten Paket zum Server geschickt werden und dann wieder zu dir zurück. Umso höher dein Ping ist, umso länger dauert dies zum Server und das Spiel ist gerade mit höheren Pings schlechter spielbar. An genau diesem Punkt setzt cl_predict ein. Wenn du einen Schritt nach vorne machst, verhält sich dein Computer als ob es der Server wäre und setzt dich sofort nach vorne und vergleicht dies später mit dem ankommmenden Paket vom richtigen Server. Sollte die Vorhersage/prediction falsch sein, gibt es einen prediction error. Dies kann mit cl_showerror 1 angezeigt werden. Wenn ein Fehler zustande kommt, wirst du an die korrekte Position verschoben.

Dies passiert sehr direkt und kann verwirrend sein, weshalb man mit cl_smooth 1 entgegen wirken kann. So wirst du etwas langsamer zur korrekten Position verschoben. Mit cl_smoothtime wird angegeben wie lange cl_smooth für die Verschiebung Zeit hat. Die Vorhersage funktioniert nur perfekt wenn der Computer alle Informationen hat, die auch der Server hat, was aber nicht der Fall ist. Dadruch funktioniert die Vorhersage auch nur für dich und kann nicht bei anderen Spieler angewendet werden. Deshalb ist immernoch die Interpolation für die anderen Spieler nötig.

Im Gegensatz wie viele Denken hat cl_interp_all nichts direkt mit cl_interp & cl_interpolation zu tun, sondern steht im Zusammenhang von cl_predict. Wie du weisst, wird bei aktiviertem cl_predict deine Bewegung sofort umgesetzt, als ob du auf dem Server spielst. Dabei wird alles vorhergesagt, worüber cl_predict Informationen hat. Zumindest war es so vor cl_interp_all. Bei deaktiviertem cl_interp_all wird der neue Code eingesetzt und es wird nur noch das predicted was auch wirklich nötig für dich ist.

Der Netgraph


fps: Zeigt dir an, wieviele fps (Bilder pro Sekunde) du hast.
ping: Zeigt dir deinen durchschnittlichen Ping an.
in/out: Zeigt dir, die Größe deines letzten erhaltenen und gesendeten Paketes, in Bytes an.
in/out: Zeigt dir deine verbrauchte Bandbreite an.
in/out: Zeigt dir an, wieviele Pakete du die Sekunde erhälst (Tickrate des Server) und verschickst (ist von deinen fps abhängig).
loss: Zeigt dir an, ob Pakete verloren gegangen sind.
choke: Zeigt dir an, dass du mehr Daten angeforderst hast (zu geringe Tickrate <100) oder verschicken möchtest (zu wenige fps <100), als vorhanden sind.
Wie lauten die besten Settings?

Für diese Werte benötigst du einen Internetanschluss der mindestens 30 Kilobytes pro Sekunde zur Verfügung stellen kann.
cl_updaterate 100
cl_cmdrate 100
rate 25000
cl_interp 0.01
Standardwerte die nicht verändert werden müssen:
cl_interpolate 1
cl_interp_all 0
cl_lagcompensation 1
cl_smooth 1
cl_smoothtime 0.1
cl_predict 1


To rate this article you have to be registered and logged in!

comments:

Sort:      1 2 3 4 5 ...  »

#865 by viagra 28.01.2012 - 00:20
  email homepage IP: saved quote

jmdzuu viagra 9914 cialis 4336 viagra :-O cialis 1643 viagra online 9203 cialis online 6026

#864 by Schmopz 27.01.2012 - 05:15
  email homepage IP: saved quote

cialis 9849 propecia piy

#863 by adipex 26.01.2012 - 11:03
  email homepage IP: saved quote

Hello!

#862 by sure_romance 25.01.2012 - 16:17
  email homepage IP: saved quote

Aloha!

#861 by fml_forte 24.01.2012 - 14:56
  email homepage IP: saved quote

Hello!

#860 by super 24.01.2012 - 14:54
  email homepage IP: saved quote

Hello!

#859 by Basketball Shoes Online 23.01.2012 - 13:20
  email homepage IP: saved quote

Basketball Shoes Online UGG Boots Store Basketball Shoes For Men Jordan Shoes online Air Jordan shoes for sale Basketball Shoes Sale Air Jordan Shoes online Air Jordan shoes UGG Boots Online UGG Boots UGG Boots Outlet Jordan shoes for sale {@} {@} {@} {@} Kids Air Jordan 4 blake griffin basketball shoes chris paul basketball shoes ugg boots ultimate bind ugg boots roxy tall ugg boots suburb crochet Air Jordan Combined J4+J21 kevin garnett basketball shoes dwyane wade basketball shoes Air Jordan 8 ugg boots classic sundance ii Air Jordan 25 Kids Air Jordan 25 Air Jordan 6 Air Jordan Combined J13+MAX Air Jordan Combined J13+LeBron ugg boots classic argyle knit Air Jordan Combined Shoes derrick rose basketball shoes kevin durant basketball shoes ugg boots classic short ugg boots classic metallic womens ugg boots Air Jordan 26 josh smith basketball shoes ugg boots chestnut ultra short Air Jordan 4 carmelo anthony basketball shoes Air Jordan Slippers Air Jordan Shoes Kids Air Jordan 1 Air Jordan 11 Kids Air Jordan Shoes Air Jordan Combined J1+J5 adidas basketball shoes Air Jordan Combined J11+J13 ugg boots classic tall nike basketball shoes Air Jordan 1 Kids Air Jordan 6

#858 by phentermine 21.01.2012 - 10:33
  email homepage IP: saved quote

Hello!

#857 by generic cialis 21.01.2012 - 05:58
  email homepage IP: saved quote

zvnuembs buccialis.com/ cialis yLqJPE <a href="bucviagra.com/ ">buying viagra online</a> >:-OOO buy viagra =-]

#856 by cialis 20.01.2012 - 22:15
  email homepage IP: saved quote

Hello!

#855 by Monster Beats 20.01.2012 - 03:41
  email homepage IP: saved quote

Monster Beats Monster Beats tour buy nike air max 95 Monster Beats Solo air max 90 Monster Beats Headphones cheap Nike shox shoes womens Nike shox cheap Nike shox nz nike air max 90 women buy nike air max 90 {@} {@} {@} {@} {@} nike shox dream men nike air max tn monster beats turbine nike air max 2009 nike air max skyline nike shox nz mens nike ken griffey mens shoes monster beats diddy monster beats lady gaga nike shox tl3 mens nike ken griffey womens shoes mens air max 90 shoes nike air max 180 kids nike shox www.fashiondrdrebeats.com nike ken griffey shoes nike shox r4 womens monster beats tour nike shox tl1 mens monster beats solo hd mens air max 95 shoes monster beats studio monster beats butterfly womens air max 90 shoes nike air max ltd nike air max 95 monster beats solo nike air max 2010 nike shox turbo womens nike air max 2003 nike air max 90 nike shox r5 mens nike shox r3 mens nike shox r4 mens nike shox r5 womens monster beats pro

#854 by Cheap Sneakers 20.01.2012 - 03:17
  email homepage IP: saved quote

Cheap Sneakers Radii Shoes Nike Shoes Sale NBA Basketball Shoes Lebron James basketball shoes NBA Shoes Sale cheap basketball shoes for men Radii Footwear Nike Air Max Shoes cheap basketball shoes Basketball Shoes Cheap NBA Shoes Radii Shoes Sale Nike Sale Radii Straight Jacket {@} belts lv shoes nike air rift shoes kobe bryant basketball shoes radii strangler shoes amare stoudemire basketball shoes adidas basketball shoes handbags www.cheapnbashoesale.com radii moon walker raddi shoes online nike air shox shoes dwyane wade basketball shoes chris paul basketball shoes kobe bryant basketball shoes lebron james basketball shoes blake griffin basketball shoes kobe bryant 4 derrick rose basketball shoes nike air force 1 shoes dwight howard basketball shoes kevin durant basketball shoes nike air max 2011 prada shoes caps dwight howard basketball shoes five fingers shoes kevin durant basketball shoes dwyane wade basketball shoes nike basketball shoes womens radii strangler footwear radii timeless deluxe puma shoes nike zoom hyperfuse derrick rose basketball shoes skechers shoes

#853 by phentermine 19.01.2012 - 13:56
  email homepage IP: saved quote

Aloha!

#852 by wholesale nba hats 19.01.2012 - 09:39
  email homepage IP: saved quote

If you are looking for wholesale nba hats sale store online, you must not lost ourcheap hats. We are the professinal provider that supply large discount price and top quality hats with best services from wholesale hats being released in this online store, available in store, with different colors and styel. Stay wholesale hats cheap next week for a glimpse of yet another one release Coach Outlet! My obsession with the new era caps cheap. It is really one of the best hats Store Online and campaigns I have seen so far this wholesale jerseys, and hats Factory Online is my hats so that helps too new era winter hats! This week Coach Outlet, the breathtaking Coach Factory Outlet is seen holding the new wholesale dc hats. This wholesale jerseys new line is straight from Discount new era hats and features softcheap new era hats leather quilted with the Prada Outlet. The tisa hats is varnished to give a cheap winter hats wholesale, while the chunky new era winter hats gives off a not-so-subtle hats! I must say, the wholesale nba hats available this season is making my tisa hatsand my wholesale dc hats cry out in hats! I think cheap winter hats wholesale could be one of the hottest shoes.

#851 by Christian Louboutin Sale 19.01.2012 - 07:12
  email homepage IP: saved quote

Your text is very beautiful, I appreciation your effort. Great being visiting your website again. I¡¯m sending it to a few friends,and they all like it very much.

#850 by phentermine 18.01.2012 - 15:15
  email homepage IP: saved quote

Aloha!

#849 by yoyjerseys yoyjerseys 18.01.2012 - 09:07
  email homepage IP: saved quote

Super Bowl Delanie Walker Jersey, Cheap Hakeem Nicks Jersey, Alex Smith Jersey, Ahmad Bradshaw Giants Jersey, Frank Gore Jersey, Victor Cruz Jersey, Vernon Davis Jersey, Super Bowl Vernon Davis Jersey, Hakeem Nicks Giants T-Shirts, Super Bowl Michael Crabtree Jersey, Alex Smith Super Bowl XLVI, Victor Cruz Giants Jersey, Hakeem Nicks Giants Jersey, Cheap Victor Cruz Jersey, Super Bowl Patrick Willis Jersey, Super Bowl Aldon Smith Jersey, Victor Cruz Giants T-Shirts, Cheap Eli Manning Jersey, Justin Smith Jersey, Super Bowl Frank Gore Jersey, Patrick Willis Jersey, Ahmad Bradshaw Giants T-Shirts, Super Bowl Josh Morgan jersey, Super Bowl Mike Iupati Jersey, Super Bowl Justin Smith Jersey, Eli Manning Giants T-Shirts, Frank Gore Super Bowl XLVI, Jason Pierre-Paul Giants Jersey, Jason Pierre-Paul Giants T-Shirts, Eli Manning Giants Jersey, Cheap Jason Pierre-Paul Jersey, Cheap Ahmad Bradshaw Jersey, Super Bowl Anthony Davis Jersey

#848 by sac ¨¤ main 18.01.2012 - 08:30
  email homepage IP: saved quote

Quoi qu'il en soit, AMD ssac ¨¤ mainemble disposer avec Trinity d'une sac a main pas cherAPU prometteuse dans sac burberry le monde mobile. Une burberry sacd¨¦monstration ¨¦tait d'ailleurs destin¨¦es sac chanel¨¤ la pr¨¦senter comme capable de proposer des chanel sacperformances du niveau desktop. www.sacsmall.com/

#847 by sac chanel 18.01.2012 - 08:29
  email homepage IP: saved quote

Un portable ¨¦tait sac chanelainsi dissimul¨¦ dans une tour, pilotait au chaneltotal 3 ¨¦crans, et ex¨¦cutait simultan¨¦ment sacs chanelun encodage de vid¨¦o et une session de DiRT 3 en DirectX 11. Un joli pied de nez ¨¤ Intel qui, la veille, a simul¨¦ d'une mani¨¨re sac a main chanelridicule une session de F1 2011 en chanel sacDirectX 11 sur Ivy Bridge ¨¤ l'aide d'une vid¨¦o ! www.sacscocochanel.com/

#846 by chanel bags 18.01.2012 - 08:29
  email homepage IP: saved quote

film seeing increasingly chanel bagsmore pleasing and fun. chanel bag To begin with, broadband speeds coco chanel bagsare becoming more quickly and faster. michael kors outletOn top of that, connecting television michael kors handbagsand personal computers, also wirelessly, has long been doable. www.cocochanelbags.us/

 1 2 3 4 5 ...  »
your comment
Name:
E-Mail:
Homepage:
Enter Security Code
Security Code
IP-Adress: 38.107.179.218
options: • HTML is OFF • BBCode is ON • Smilies are ON
 

 
 

all messages


Security Code
shout!
 
 
no active poll

show polls
 
 
 
Jump to Top