ANZEIGE:
Forum » Counter-Strike: Global Offensive » Szenetreff » Lag Compensation, Angle, Interp oder Placebo

Lag Compensation, Angle, Interp oder Placebo

2


#26 vor 1 Jahr
JungS0N 468 Beiträge
ThePrinceWhoWasPromised:
Hier gibt es zwei Theorien:
1. Ich lasse so wenig wie möglich interpolieren. -> Die Position meines Gegners wird möglichst genau angezeigt bezogen auf die erhaltenen Datenpakete. Es kann passieren, dass der Gegner dadurch ab und an ruckelt. Passiert das genau dann, wenn dieser um eine Ecke läuft, dann hat der sich plötzlich dort hin teleportiert!!!!! Man hatte also weniger Zeit zu reagieren. Hinzu kommt, dass man selbst noch die Verzögerung hatte in welcher das Datenpaket mit der Information bei eingenen Clienten eingetroffen ist.
2. Man lässt so viel wie möglich interpolieren. -> Die Bewegung des Gegners wird möglichst flüssig angezeigt.
Also der Gegner läuft auf dem eigenen Bild geschmeidig um die Ecke, obwohl das Datenpaket welches diese Info übermitteln sollte nicht angekommen ist. Man hat früher die Möglichkeit zu reagieren. Das Interpolierte Model stimmt zu dem Zeitpunkt in welchem ich es sehe besser überein mit der vom Server bekannten Position des Gegners, weil diese nicht erst nach einem erhaltenen Datenpaket beim eigenen Clienten angezeigt wird.
Das sind schon zwei Gründe die dazu führen, dass man eher den Kill macht.

Undd was wären dazu die entsprechenden Einstellungen?
#27 vor 1 Jahr
ThePrinceWho... 0 Beiträge
JungS0N:
ThePrinceWhoWasPromised:
Hier gibt es zwei Theorien:
1. Ich lasse so wenig wie möglich interpolieren. -> Die Position meines Gegners wird möglichst genau angezeigt bezogen auf die erhaltenen Datenpakete. Es kann passieren, dass der Gegner dadurch ab und an ruckelt. Passiert das genau dann, wenn dieser um eine Ecke läuft, dann hat der sich plötzlich dort hin teleportiert!!!!! Man hatte also weniger Zeit zu reagieren. Hinzu kommt, dass man selbst noch die Verzögerung hatte in welcher das Datenpaket mit der Information bei eingenen Clienten eingetroffen ist.
2. Man lässt so viel wie möglich interpolieren. -> Die Bewegung des Gegners wird möglichst flüssig angezeigt.
Also der Gegner läuft auf dem eigenen Bild geschmeidig um die Ecke, obwohl das Datenpaket welches diese Info übermitteln sollte nicht angekommen ist. Man hat früher die Möglichkeit zu reagieren. Das Interpolierte Model stimmt zu dem Zeitpunkt in welchem ich es sehe besser überein mit der vom Server bekannten Position des Gegners, weil diese nicht erst nach einem erhaltenen Datenpaket beim eigenen Clienten angezeigt wird.
Das sind schon zwei Gründe die dazu führen, dass man eher den Kill macht.

Undd was wären dazu die entsprechenden Einstellungen?


Zu 1:
cl_updaterate "128"
cl_interp_ratio "1"
cl_interp "0"
Resultiert zu cl_interp "0.00781" auf 128 tick und "0.01562" auf 64 tick Servern.
Dies bedeutet der Client benötigt alle 7,8 / 15,6 ms (lerp) ein Datenpaket, weil dieser sonst interpolieren würde. Bekommt man die Datenpakete lückenlos, wird auf Grund der geringen Zeit fast gar nicht interpoliert. Bleibt ein Datenpaket aus, springt die Anzeige des Spielermodels auf die Position mit dem kommenden eingehenden Datenpaket. (Es ruckelt kurz) In der Praxis bedeutet das wenig Interpolation.


Zu 2:
cl_updaterate "128"
cl_interp_ratio "2"
cl_interp "1"
Resultiert zu cl_interp "0.03125" auf 128 und 64 tick Servern.
Dies ermöglicht eine Interpolation durch mehr erhaltene Datenpakete, was techn. gesehen weniger Spielraum zur Interpolation bietet, wenn alle Daten beim Clienten eintreffen sollten. Da dies online nicht immer der Fall sein wird hat man so einen maximalen Zeitraum von 31,2 ms um zwischen zwei Datenpaketen zu interpolieren. In der Praxis bedeutet das viel Interpolation.

Entgegen allen Mythen kann man sich mit interp keinen unfairen vorteil verschaffen aber auch keinen wirklichen Nachteil. Und ich würde auch erst anfangen damit zu experimentieren, wenn meine Netsettings eingestellt sind. Und das ist idR auch kein Hexenwerk mehr. In Zeiten von Gigabit Surfing gibt es keinen Grund mehr etwas unter dem Maximum einzustellen. Es ist quasi nur Feintuning.
Ich komme nicht aus der IT, kann das also nicht besonders fachmännisch erklären. Hoffe dennoch es ist verständlich.
#28 vor 1 Jahr
JungS0N 468 Beiträge
Danke dir! Cl_interp 1 zusammen mit cl_interp_ratio 1 macht dann keinen Sinn, oder?
#29 vor 1 Jahr
Zoddom 24 Beiträge
1. Ich lasse so wenig wie möglich interpolieren. -> Die Position meines Gegners wird möglichst genau angezeigt bezogen auf die erhaltenen Datenpakete. Es kann passieren, dass der Gegner dadurch ab und an ruckelt. Passiert das genau dann, wenn dieser um eine Ecke läuft, dann hat der sich plötzlich dort hin teleportiert!!!!! Man hatte also weniger Zeit zu reagieren. Hinzu kommt, dass man selbst noch die Verzögerung hatte in welcher das Datenpaket mit der Information bei eingenen Clienten eingetroffen ist.



Wollte eigentlich erst den ganzen Thread lesen und einen ausführlichen Kommentar schreiben, aber muss mich hier schnell einklinken.

Was Du hier geschrieben hast ist nur halb richtig und daher auch dein Fazit falsch.

Weniger interpolation bedeutet in der Praxis, dass das Spiel nur einen tick statt zwei ticks "zurückhält", um ihn mit dem nächsten zu interpolieren. Dass bedeutet, dass du mit weniger interp SCHNELLER siehst, was los ist, also kannst du schneller, nicht langsamer, reagieren. Nur in dem von dir genannten falle, dass einer der spieler packet loss hat, kommt es zu solchen teleports. (@jungson: interp_ratio 2 ist NUR bei packetloss zu empfehlen)

Zweitens ist die interpolation immer in ticks gerechnet, sprich cl_interp_ratio 1 gibt dir auf 64tick und auf 128tick unterschiedliche interp werte (15ms vs 8ms; ratio 2 = 30ms vs 15ms).

Außerdem ist "cl_interp" wirkungslos. Der cvar hat keine Wirkung, da die interpolation ALLEINE durch den quotienten cl_interp_ratio/cl_updaterate berechnet wird (könnt ihr offline überprüfen mit net_graph 4).


Zum rest des threads möchte ich später noch stellung nehmen, da ich schon seit 3-4 Jahren auf der Suche nach der Ursache für diese "desyncs" bin. Bisheriges Fazit in TL;DR: irgendwas IST kaputt in CS:GO, die Ursache zu finden aber schwierig bis unmöglich weil der code ein reinster müllhaufen ist, die große mehrheit der CS community hat 0 plan von cvars/netcode und es existieren viele fehlinformationen/mythen.
bearbeitet von Zoddom am 13.08.2018, 17:06
#30 vor 1 Jahr
Citizenpete 603 Beiträge
marc_:

CS:GO nutzt kein TCP, daher kannste den ersten und letzten "Trick" getrost weg lassen. Außer Placebo wird dort nichts passieren.
Der Zweite Link bringt wahrscheinlich auch nur auf low-end Hardware was, um noch ein paar FPS rauszukitzeln. Mein Rat: Verpfusch' dir nicht das System, wenn deine Hardware gut und deine Leitung stabil ist.

Ich kann vollkommen nachvollziehen, woher dein Frust kommt, da ich selbst auch oft genug dieses Gefühl habe. Auf LAN hitte ich viel besser als online. Auf div. Workshopmaps geht rein, auf dem Server dann nur noch so mäßig, und die Gegner fliegen immer um Ecken und drücken einen um. Ich hab' es mittlerweile sein gelassen, mir da Gedanken zu machen und für meinen inneren Frieden entschieden, dass Leute online einfach riechen wo man steht und pre um die Ecke kommen. Auf LAN macht sone scheiße keiner, zu mindest nicht so, dass man gar nicht erst reagieren kann. Online CS ist halt meh. Hab's aufzugeben online jemals irgendeinen Angle zu halten, ist eh aussichtslos.


Punkt 2, nVidia Profile Inspector, funktioniert bei meiner 1080 garantiert. Jedes Mal, wenn ich einen neuen Treiber installiere und vergesse es wieder zu aktivieren, merke ich danach sofort den Unterschied.

In Sachen Netzwerk bin ich ein Noob, war trotzdem überrascht, dass ein TCP-Fix helfen soll, da TCP eher für Steam und Serverdownloads (Maps, Sounds, etc.), aber nicht das Spielen relevant ist. Doch was soll ich sagen? Seitdem Fix habe ich einen um ca. 5 - 7ms (je nach Server) niedrigeren und vor allem konstanteren Ping.
#31 vor 1 Jahr
ThePrinceWho... 0 Beiträge
JungS0N:Danke dir! Cl_interp 1 zusammen mit cl_interp_ratio 1 macht dann keinen Sinn, oder?


Mit den Einstellungen kommt man auch auf cl_interp "0.031"
Hatte ich im Vorfeld nicht getestet. Dann kann man in Fall 2 den cl_interp_ratio sogar auf 1 lassen.


Zoddom:Wollte eigentlich erst den ganzen Thread lesen und einen ausführlichen Kommentar schreiben, aber muss mich hier schnell einklinken.

Was Du hier geschrieben hast ist nur halb richtig und daher auch dein Fazit falsch.

Weniger interpolation bedeutet in der Praxis, dass der server nur einen tick statt zwei ticks "zurückhält", um ihn mit dem nächsten zu interpolieren. Dass bedeutet, dass du mit weniger interp SCHNELLER siehst, was los ist, also kannst du schneller, nicht langsamer, reagieren. Nur in dem von dir genannten falle, dass einer der spieler packet loss hat, kommt es zu solchen teleports. (@jungson: interp_ratio 2 ist NUR bei packetloss zu empfehlen)


Interpolation ist clientseitig. Der Server hingegen speichert für eine gewisse Anzahl an ticks die Position des Gegners, damit die lag compensation rückwirkend die Position des Gegners bestimmen kann. Es macht den meißten Sinn es bei Packetloss zu verwenden. 90% aller Spieler haben diesen auf 2, obwohl sie keinen Packetloss hätten.

Zweitens ist die interpolation immer in ticks gerechnet, sprich cl_interp_ratio 1 gibt dir auf 64tick und auf 128tick unterschiedliche interp werte (15ms vs 8ms; ratio 2 = 30ms vs 15ms).


Das sagt genau das aus was ich ebenfalls geschrieben habe.

Außerdem ist "cl_interp" wirkungslos. Der cvar hat keine Wirkung, da die interpolation ALLEINE durch den quotienten cl_interp_ratio/cl_updaterate berechnet wird (könnt ihr offline überprüfen mit net_graph 4).


Das ist so halb richtig. Der Wert wird berechnet, 0 oder 1 macht aber einen Unterschied. "0.007.." ist der niedrigste wert, "0.031..." der höchste welcher durch die Berechnung eingestellt werden kann.
cl_updaterate 64 & cl_interp_ratio 2: 31,25 ms
cl_updaterate 64 & cl_interp_ratio 1: 15,625 ms
cl_updaterate 128 & cl_interp_ratio 2: 15,625 ms
cl_updaterate 128 & cl_interp_ratio 1: 7,8125 ms

Das sind die gängigsten Werte. Mit cl_interp "1" ist es möglich auch auf 128 Tick Servern 31,25 ms zu haben. Mit einem Wert zwischen 0 und 1 kann man also den Interp zwischen 7,8 und 31,2 ms einstellen (128 tick) und 15,6 und 31,2 ms (64 tick)

Zum rest des threads möchte ich später noch stellung nehmen, da ich schon seit 3-4 Jahren auf der Suche nach der Ursache für diese "desyncs" bin. Bisheriges Fazit in TL;DR: irgendwas IST kaputt in CS:GO, die Ursache zu finden aber schwierig bis unmöglich weil der code ein reinster müllhaufen ist, die große mehrheit der CS community hat 0 plan von cvars/netcode und es existieren viele fehlinformationen/mythen.


Ich hatte nie Probleme mit Desync wenn ich nicht mit highping und packetloss auf einem Server am Arsch der Welt spiele.
Es ist normal, dass man stirbt, obwohl man schon hinter der Ecke ist.
Auf dem eigenen Client ist man in Sicherheit, auf dem Client des Gegners steht man noch offen und laut Server steht man irgendwo dazwischen.
Die lag compensation ermittelt deinen Standort als der Gegner geschossen hat. Wenn du zu diem Zeitpunkt noch nicht hinter der Wand warst, dann hat man nunmal Pech gehabt. Von Desync kann man erst sprechen, wenn man wie in PUBG bereits ums ganze Haus gelaufen ist und dann trotzdem noch umfällt.
bearbeitet von ThePrinceWhoWasPromised am 13.08.2018, 16:41
#32 vor 1 Jahr
Zoddom 24 Beiträge
Ja, meinte client, nicht server, habs korrigiert.

bzgl. cl_interp 1 muss ich das nochmal nachtestsen, in meinen tests hatte die cvar keinen einfluss auf den lerp. Weiß aber nicht mehr, ob der server 128tick war oder nicht. edit: habs gerade nochmal getestet, cl_interp ist obsolet. Es macht gar nichts, wie ich gesagt hatte.


Es ist normal, dass man stirbt, obwohl man schon hinter der Ecke ist.


Das kannst Du nicht pauschalisieren. Die wichtige Frage ist wie viel später man Schaden nimmt im Vergleich zu den Pings der Spielern.

Und in CS:GO hat dies definitiv keine normalen Ausmaße. Gestern habe ich Faceit gespielt, Gegner hatte 15ms ich 30ms (laut netgraph) und ich bin ca. 2m hinter der Wand gestorben. Vom Gefühl her also so, als hätte ich 100ms. Das habe ich schon öfter beobachtet und auch anhand von Live Aufnahmen gemessen. Zumindest zwischen GOTV und Live Gameplay hab ich schon Unterschiede von 180ms gemessen, was sich mit keinen bekannten Faktoren wie Ping, Interp und Tickrate erklären lässt.

Fakt ist, dass viele neue Spiele Probleme mit Delays haben (Desync ist de facto der falsche Begriff), was zum Großteil an Netcode und Server Architektur liegt. Dass CS:GO hier eine Ausnahme sein sollte ist unwahrscheinlich.
bearbeitet von Zoddom am 13.08.2018, 21:21
#33 vor 1 Jahr
ThePrinceWho... 0 Beiträge
Zoddom:Ja, meinte client, nicht server, habs korrigiert.

bzgl. cl_interp 1 muss ich das nochmal nachtestsen, in meinen tests hatte die cvar keinen einfluss auf den lerp. Weiß aber nicht mehr, ob der server 128tick war oder nicht. edit: habs gerade nochmal getestet, cl_interp ist obsolet. Es macht gar nichts, wie ich gesagt hatte.


Dann frage ich mich was du getestet hast.

Auszug aus der cmdlist für CS:GO von VALVE

[cl_interp : var : , "user", "cl" : Sets the interpolation amount (bounded on low side by server interp ratio settings).
cl_interp_ratio : var : , "user", "cl" : Sets the interpolation amount (final amount is cl_interp_ratio / cl_updaterate).
cl_interpolate : var : : Enables or disables interpolation on listen servers or during demo playback]



Auszug aus meinem Consolen logfile

cl_updaterate 128
cl_interp_ratio 1
cl_interp 1
cl_interp
"cl_interp" = "0.031000" ( def. "0.03125" ) min. 0.000000 max. 0.500000 client notconnected user - Sets the interpolation amount (bounded on low side by server interp ratio settings)
cl_interp 0
cl_interp
"cl_interp" = "0.007812" ( def. "0.03125" ) min. 0.000000 max. 0.500000 client notconnected user - Sets the interpolation amount (bounded on low side by server interp ratio settings)
cl_interp 0.01
cl_interp
"cl_interp" = "0.010000" ( def. "0.03125" ) min. 0.000000 max. 0.500000 client notconnected user - Sets the interpolation amount (bounded on low side by server interp ratio settings)
cl_interp 0.02
cl_interp
"cl_interp" = "0.020000" ( def. "0.03125" ) min. 0.000000 max. 0.500000 client notconnected user - Sets the interpolation amount (bounded on low side by server interp ratio settings)
cl_interp 0.03
cl_interp
"cl_interp" = "0.030000" ( def. "0.03125" ) min. 0.000000 max. 0.500000 client notconnected user - Sets the interpolation amount (bounded on low side by server interp ratio settings)
cl_interp 0.04
cl_interp
"cl_interp" = "0.031000" ( def. "0.03125" ) min. 0.000000 max. 0.500000 client notconnected user - Sets the interpolation amount (bounded on low side by server interp ratio settings)



Gut, ich war mir selber nicht mehr sicher ob der interp sich in 0.1 oder 0.01 einstellen lässt.
Aber wie schon gesagt 0 ist unter Minimum => der Wert nimmt das Minimum an, 1 ist über Maximum => der Wert nimmt das Maximum an. Darum ging es letztendlich. Ich hab das mit 1 hier auch nur geschrieben, weil das hier letztens in einem anderen Thread angesprochen wurde. Ich hatte zu diesem Zeitpunkt nur getestet was 1 macht.
#34 vor 1 Jahr
goodspeed_mtz 55 Beiträge
Hi,
vorab interessanter thread :)

Alsoooo (minimal zu mir: habe cs seit 2001 gespielt - 2018 auf allen möglichen Niveaustufen, LANs gewonnen, Internetturniere gespielt etc etc.)

Der Tip mit der Interpolation ist der beste und meines Erachtens Einzige, den du brauchst.
CS netcode ist uralt und funktioniert ziemlich mieserabel auf den matchmaking servern (meine alle Plattformen auch faceit und esea).
Du hast einen eklatanten Unterschied, wenn du einen Privaten Server hast den du ans Internet angebunden hast (Idee, stellt nen server ins Rechenzentrum und darauf läuft nur 1 cs-server) (existiert nur in der Theorie, selbst Mietserver sind wesentlich schlechter, weil mehr darauf gehostet wird)

Ich bin dazu übergegangen online mit dem höchst möglichen interp-Wert zu spielen und auf LAN dementsprechend mit dem niedrigsten.
Auf Grund der Infrastruktur der Server, wirst du auf jedem ein unterschiedliches Erlebnis haben, weil auch die Gegner aus unterschiedlichen Regionen kommen. Der Netcode ist nicht zu ändern und kaum zu optimieren. Das konstanteste Spielgefühl bekommst du auf einem Mietserver mit regelmäßigen PCW-Matches, alles andere wird sich random anfühlen.
Du wirst immer den Nachteil haben gegen Leute mit einer schlechteren Leitung, wenn du auf sie wartest. CS-GO hat eine extrem hohe peakers-advantage und deshalb solltest du lernen damit umzugehen und ggf. deinen Spielstil umstellen. Gegensätzlich zur allgemeinen Haltung, vertrete ich die Meinung, das Spieler mit hohen Pings auch besser hinter "Ecken" treffen, quasi die LAG-Hitbox haben.
Ändern lässt sich nichts daran, außer nicht zu spielen.

Man kann theoretisch die TCP Settings ändern, aber seit 2007 hab ich mich damit nicht mehr auseinandergesetzt... weil es im Grunde wirklich wenig bringt. Du kannst damit die Größe deiner Datenpakete bestimmen und auch die Zeitfenster und Abstände des Empfangens und Sendens, was in ein anderes Spielgefühl münzt. Bringt dir gegen gewissen Spieler Vorteile, gegen andere widerrum nur Nachteile. Das Thema ist also keine sinnvolle Option.
(Bevor jemand schreit -> damals Fachinformatiker für Systemintergration, also wusste ich bisschen was ich tue ;))

Meine Faustregel Internet: interp 1 ; Lan: interp 0
Ausnahme1 konstanter privater Server, interp anpassen.
Ausnahme2 alle gegner haben <35ms und der Server ist sahnig, dann interp anpassen.

Was bleibt? Damit Abfinden, andere Shooter spielen oder es sein lassen :)

my 2 cents
greetings goody
bearbeitet von goodspeed_mtz am 14.08.2018, 12:01
#35 vor 1 Jahr
sEnp 72 Beiträge
numineS:Also ist es so, aber nicht sooo schlimm wie ich es hier schreibe und haben das andere auch (so stark?) vlt auch Leute mit besonders guter Leitung, oder ist das wirklich so ein krasser Fehler in der Fairness und Art wie dieses Spiel programmiert ist?


Setup:
AsRock Fatal1ty Z97X Killer
Intel i7 4790k @ 4,8 GHz with Corsair H100i v2
GTX 970 4GB G1 Gaming
G.Skill RipJawsZ DDR3 2400, 16GB
Samsung 960 Evo (M2), 250GB
bequiet, Straight Power 10, 500W
BenQ XL2411Z @ 144hz
Unity 150k Leitung, Ping je nach Server 5-20, Kein Choke oder Loss

Ich spiele derzeit nur Faceit, ich bin da ganz bei dir, Gegner die einen 30-60 Ping haben sind schon schwer zu treffen, ab 60+ ist dann leider ganz vorbei.. Ich habe mich mittlerweile damit abgefunden das CS einfach ne scheiß Engine hat und man mit seinen Settings auch nichts daran ändern kann. Beim MM habe ich die Ping suche auf 25, wobei das nur deinen Ping zum Server beeinflusst, leider nicht den Ping der Gegner.. Bei Faceit ist man in dem Punkt leider ganz aufgeschmissen, da bleibt einem nur regionale HUBs zu spielen um Gegner mit halbwegs vergleichbarer Anbindung bekommen zu können.

Wenn man bei Faceit einstellen könnte das man nur Gegner mit Ping X bis Ping Y und ELO +- 50/100 zur eigenen suchen möchte und damit längere Wartezeiten in Kauf nimmt wäre das sehr Geil.. Sehe ich in naher Zukunft aber leider auch nicht. Technisch Umsetzbar sollte das ganze aber sein, die Sache mit der ELO ist einfach. Problematisch wird es aber bei der Gegnersuche nach Ping, dafür müsste Faceit (villt über den AC Client) die verschiedenen Serverlocations anpingen und einen danach einsortieren, dann würde das Servervoten aber auch wegfallen.

Du bist nicht allein!
Gruß
sEnp
bearbeitet von sEnp am 14.08.2018, 12:56
#36 vor 1 Jahr
Don R. 178 Beiträge
goodspeed_mtz:Hi,
vorab interessanter thread :)

Alsoooo (minimal zu mir: habe cs seit 2001 gespielt - 2018 auf allen möglichen Niveaustufen, LANs gewonnen, Internetturniere gespielt etc etc.)

Der Tip mit der Interpolation ist der beste und meines Erachtens Einzige, den du brauchst.
CS netcode ist uralt und funktioniert ziemlich mieserabel auf den matchmaking servern (meine alle Plattformen auch faceit und esea).
Du hast einen eklatanten Unterschied, wenn du einen Privaten Server hast den du ans Internet angebunden hast (Idee, stellt nen server ins Rechenzentrum und darauf läuft nur 1 cs-server) (existiert nur in der Theorie, selbst Mietserver sind wesentlich schlechter, weil mehr darauf gehostet wird)

Ich bin dazu übergegangen online mit dem höchst möglichen interp-Wert zu spielen und auf LAN dementsprechend mit dem niedrigsten.
Auf Grund der Infrastruktur der Server, wirst du auf jedem ein unterschiedliches Erlebnis haben, weil auch die Gegner aus unterschiedlichen Regionen kommen. Der Netcode ist nicht zu ändern und kaum zu optimieren. Das konstanteste Spielgefühl bekommst du auf einem Mietserver mit regelmäßigen PCW-Matches, alles andere wird sich random anfühlen.
Du wirst immer den Nachteil haben gegen Leute mit einer schlechteren Leitung, wenn du auf sie wartest. CS-GO hat eine extrem hohe peakers-advantage und deshalb solltest du lernen damit umzugehen und ggf. deinen Spielstil umstellen. Gegensätzlich zur allgemeinen Haltung, vertrete ich die Meinung, das Spieler mit hohen Pings auch besser hinter "Ecken" treffen, quasi die LAG-Hitbox haben.
Ändern lässt sich nichts daran, außer nicht zu spielen.

Man kann theoretisch die TCP Settings ändern, aber seit 2007 hab ich mich damit nicht mehr auseinandergesetzt... weil es im Grunde wirklich wenig bringt. Du kannst damit die Größe deiner Datenpakete bestimmen und auch die Zeitfenster und Abstände des Empfangens und Sendens, was in ein anderes Spielgefühl münzt. Bringt dir gegen gewissen Spieler Vorteile, gegen andere widerrum nur Nachteile. Das Thema ist also keine sinnvolle Option.
(Bevor jemand schreit -> damals Fachinformatiker für Systemintergration, also wusste ich bisschen was ich tue ;))

Meine Faustregel Internet: interp 1 ; Lan: interp 0
Ausnahme1 konstanter privater Server, interp anpassen.
Ausnahme2 alle gegner haben <35ms und der Server ist sahnig, dann interp anpassen.

Was bleibt? Damit Abfinden, andere Shooter spielen oder es sein lassen :)

my 2 cents
greetings goody


Interp würde ich gar nicht ändern, sondern den interp_ratio Wert und interp auf 0 lassen. Dafür wurde er schließlich geschaffen. Und an den TCP settings rum zu murksen bringt gar nichts da auf dem Server gar kein TCP Protokoll verwendet wird.
#37 vor 1 Jahr
Zoddom 24 Beiträge
#33

Kann sein, dass es daran liegt, dass der Server den Wert vorgibt (bounded on low side by server interp ratio settings).

Die Hint zu interp_ratio sagt: Sets the interpolation amount (final amount is cl_interp_ratio / cl_updaterate).

Das ist auch das, was ich getestet habe. Wenn ich nur cl_interp ändere, verändert sich der lerp gar nicht. Nur Änderungen an der updaterate und der interp_ratio haben einen Einfluss. Liegt, wie gesagt, vermutlich an der Server Einstellung.
bearbeitet von Zoddom am 14.08.2018, 15:34
#38 vor 1 Jahr
AimleveI 56 Beiträge
Zoddom:#33

Kann sein, dass es daran liegt, dass der Server den Wert vorgibt (bounded on low side by server interp ratio settings).

Die Hint zu interp_ratio sagt: Sets the interpolation amount (final amount is cl_interp_ratio / cl_updaterate).

Das ist auch das, was ich getestet habe. Wenn ich nur cl_interp ändere, verändert sich der lerp gar nicht. Nur Änderungen an der updaterate und der interp_ratio haben einen Einfluss. Liegt, wie gesagt, vermutlich an der Server Einstellung.


Sag einfach mal die deiner Meinung besten Settings. Ich bin zu müde um das jetzt alles zu raffen. Aber ich hab genug verstanden um der Meinung zu sein, dass du dich ausführlich damit beschäftigt hast. Danke
#39 vor 1 Jahr
ThePrinceWho... 0 Beiträge
Zoddom:#33

Kann sein, dass es daran liegt, dass der Server den Wert vorgibt (bounded on low side by server interp ratio settings).

Die Hint zu interp_ratio sagt: Sets the interpolation amount (final amount is cl_interp_ratio / cl_updaterate).

Das ist auch das, was ich getestet habe. Wenn ich nur cl_interp ändere, verändert sich der lerp gar nicht. Nur Änderungen an der updaterate und der interp_ratio haben einen Einfluss. Liegt, wie gesagt, vermutlich an der Server Einstellung.


Ich habs online getestet. Funktioniert ohne Probleme auch auf offiziellen Servern und Community Servern, dass ich beispielsweise mit einem cl_interp von "0.02" auf dem Server spielen kann.
Ich kann hier einen Screenshot hochladen wenn es sein muss.
Man kann den cl_interp nicht auf einem Server umstellen, man muss dafür disconnecten. Kann dann aber wieder connecten, ohne das der Wert überschrieben wird.
ES FUNKTIONIERT, ENDE DER DISKUSSION! ;-)

(bounded on low side by server interp ratio settings). Sets the interpolation amount (final amount is cl_interp_ratio / cl_updaterate)

Das ist englisch und bedeutet:
Auf der niedrigen Seite durch die Einstellung des Server-Interpolationsverhältnis begrenzt.
Legt den Interpolationsbetrag fest (die endgültige Menge ist cl_interp_ratio / cl_updaterate)
Fasst man das alles zusammen: Die tickrate des Servers begrenzt den niedrigsten möglichen Wert. Man kann cl_interp offiziell von min. 0.000000 bis max. 0.500000 einstellen. Aber der Server begrenzt den niedrigsten Wert auf 0.007 oder 0.015 je nach Server.
bearbeitet von ThePrinceWhoWasPromised am 15.08.2018, 12:00
#40 vor 1 Jahr
marc_ 1193 Beiträge
Citizenpete:
Spoiler

In Sachen Netzwerk bin ich ein Noob, war trotzdem überrascht, dass ein TCP-Fix helfen soll, da TCP eher für Steam und Serverdownloads (Maps, Sounds, etc.), aber nicht das Spielen relevant ist. Doch was soll ich sagen? Seitdem Fix habe ich einen um ca. 5 - 7ms (je nach Server) niedrigeren und vor allem konstanteren Ping.


In Sachen Medizin bin ich ein Noob, war überrascht, dass eine möglichst hohe Verdünnung meiner Globuli mit Wasser mich heilen soll, am besten so gut verdünnt, dass im ganzen Fläschchen mit Glück ein Molekül ist. Doch was soll ich sagen? Seitdem ich nun das übertrieben teure Wasser saufe, hat meine Oma keine Probleme mehr mit ihrer Hüfte ¯\_(ツ)_/¯
#41 vor 1 Jahr
Zoddom 24 Beiträge
ThePrinceWhoWasPromised:
Ich habs online getestet. Funktioniert ohne Probleme auch auf offiziellen Servern und Community Servern, dass ich beispielsweise mit einem cl_interp von "0.02" auf dem Server spielen kann.
Ich kann hier einen Screenshot hochladen wenn es sein muss.
Man kann den cl_interp nicht auf einem Server umstellen, man muss dafür disconnecten. Kann dann aber wieder connecten, ohne das der Wert überschrieben wird.
ES FUNKTIONIERT, ENDE DER DISKUSSION! ;-)


Ich möchte die Diskussion nicht unnötig weiterführen, aber mich würde der Screenshot doch interessieren.
Nicht, weil ich Dir nicht glaube, sondern weil ich es für möglich halte, dass CS:GO einfach vollkommen broken ist.

Aber wenn Du schon sagst
Funktioniert ohne Probleme auch auf offiziellen Servern und Community Servern
, dann glaube ich, dass Du nur den Wert des cl_interp cvars checkst und nicht den lerp im net_graph 4, der ist nämlich auf online Servern nicht erlaubt.

Hier noch ein paar Screenshots, die meine Testweise zeigen: imgur.com/a/0VXtd
#42 vor 1 Jahr
ThePrinceWho... 0 Beiträge
Okay, ich habe es noch einmal getestet, anfangs mit dem gleichen Ergebnis:


imgur.com/a/oTcWTIS

Das bestätigte meine These erneut, bis ich das Ganze auf meinem Laptop getestet habe (Alles default)
Dort wurde wie bei dir im net_graph 2 genau der lerp angezeigt, welcher durch interp_ratio und updaterate berechnet wurde. Auch wenn in der console unter cl_interp der eingestellte Wert steht.

Dann wird das Ganze eine Einstellungssache bei mir sein und ich bezweifel, dass der Wert dann auf offiziellen Servern wirklich dem eingegebenen cl_interp entspricht. Evtl. komme ich dahinter, wieso bei mir auf dem Desktop PC auch offline per net_graph 2 ein lerp von 20 ms angezeigt wird. Auch wenn ich persönlich keinen Anhatspunkt habe woran das liegen könnte. Ja, ich hatte mich gestern nur auf die Anzeige in der Console verlassen, weil der net_graph ja auf 1 limitiert ist.

Habe das Ganze jetzt auf einem weiteren Steamacc mit default Einstellungen ausprobiert. Dort ändert sich der Wert in der Console, aber im net_graph 2 bleibt er unverändert. Wenn ich Zeit habe versuche ich herauszufinden woran das liegt.

Dann muss ich dir wohl oder übel zustimmen und einen Fehler eingestehen. Auch wenn ich mich guten Gewissens nur auf meine Anzeige verlassen habe. So kann man sich täuschen. :D


@AimleveI
Es gibt nicht "die besten" Settings, weil jede Hardwareund jede Internetverbindung individuell ist. Hinzu kommt noch der ständig wechselnde Server und die Gegner. Nur wenn man immer auf dem gleichen eigenen Server pracct, dann kann man seine Settings auf diesen Server abstimmen. Und selbst da hat man immer noch den randomfaktor Gegner und Schwankungen in der eigenen Verbindung.
Höchstens für eine LAN kann man sagen man bleibt bei den höchsten Rates und dem niedrigsten Interp.
#43 vor 1 Jahr
Fl0W-H 5 Beiträge
Zoddom:[quote]
Zum rest des threads möchte ich später noch stellung nehmen, da ich schon seit 3-4 Jahren auf der Suche nach der Ursache für diese "desyncs" bin. Bisheriges Fazit in TL;DR: irgendwas IST kaputt in CS:GO, die Ursache zu finden aber schwierig bis unmöglich weil der code ein reinster müllhaufen ist, die große mehrheit der CS community hat 0 plan von cvars/netcode und es existieren viele fehlinformationen/mythen.


Kannst du dazu mehr berichten?
Dieser "desync" ist mir ebenfalls aufgefallen, vor allem nach einer frischen Windows-Installation.
Bis zum ersten Restart läuft das Game super, anschließend ist die Hitreg deutlich anders.
Zuerst hatte ich vermutet, dass es durch ein Treiber-Update vom Intel-Management-Treiber kommt.
Andere Benutzer berichten aber von anderen Ursachen/Setups.
Bisher habe ich keine Antwort darauf gefunden und mich deshalb hier angemeldet um evtl. ein Feedback zu bekommen.

Gruß Flo
#44 vor 1 Jahr
SittingDuck_ Threadersteller 109 Beiträge
Ich bin ja echt richtig glücklich gerade, dass dieser thread so produktiv läuft und so einen Schwall ausgelöst hat. Ich hab hier tatsächlich seit zwei Wochen nichtmehr reingeschaut.

Ich war aber nicht ganz untättig und habe mir alles durchgelesen was hier so berichtet wird und wurde.

am interessantesten und was auch so gut wie alles bestätigt was ich erlebt habe seitdem ist was "theprinceWho" schreibt. Ich kann dir in quasi fast allem beipflichten. Auch deine Lösung erscheint mir richtig. Das gute ist dass ich relativ kurzfristig nach meinem Post, mich noch mit mates unterhalten habe und da ähnliche tipps bekam. Dadurch habe ich schon seit 2 Wochen mit den Settings experementiert und ich kann euch mal meine subjektive Wahrnehmung schildern. Völlig ohne technischen KrimsKrams. Dennoch wie gesagt habe ich ja das gelesen was hier geschrieben wurde und das deckt sich mit den Erfahrungen die ich jetzt gemacht habe.

Also:

Meine jetztigen Online Settings:
rate 196608
cl_interp_ratio 2
cl_interp 0.031000 (ist wohl nicht ganz das minimum sondern ein relativ optimaler wert für onlineplay)

Was ich auf Lan nutzen werde:

rate 786432
cl_interp_ratio 1
cl_interp 0 (- setzt dann automatisch auf minimum)

Erklärung:
Die Probleme die ich hatte sind quasi weg. Mag zum Teil Placebo sein aber auf keinen falls nur. Habe diverse kombinationen aus rates und interp und interp ratio ausprobiert und das sind für mich, def die besten.

Interessant wirds jetzt wieder bei den rates.
Zwischenzeitlich hatte ich es so:
cl_interp_ratio 1
cl_interp 0.031000
rate 786432
Da hatte ich aber das Gefühl, dass wieder Magnetisch in mich reingeht. Also meine These wenn auch wieder super laienhaft ist, dass mich Gegner besser treffen wenn ich die eigentlich beste rate für mich habe.

Das einzige was ich jetzt noch nicht probiert habe ist die Kombination:
cl_interp_ratio 2
cl_interp 0.031000
rate 786432

Könnte vieleicht auch helfen, aber zurzeit bin ich zufrieden da sowohl bei mir gut reingeht als auch ich nichtmehr dauernd "geinterped" werde.

Nochmals dickes Lob an alle die hier reinschreiben, sowohl ihre persönlichen Erfahrungen als auch technische Details. Ich finde es erstens super interessant was hier so rauskommt und zweitens hilft es schon wenn dir Leute sagen, dass du dir das nicht einbildest. Lieber hab ich ein Tip der mir sagt. "hey schieß halt maln Pixel weiter vor aber das ist ganz normal" als dass Leute kommen und schreiben "ich kann dir nicht glauben dass du auf hohem Niveau spielst wenn ich dein Quatsch lese"

Also keep it up. Vlt bekommen wir ja noch mehr raus.
#45 vor 1 Jahr
hypnokay 1338 Beiträge
Hey,

habe fast alles gelesen. Habe selbe Phänomene auch selbst erfahren. Vor Wochen fragte ich mich auch "geht in mich besser rein?" -> empirisches "Gefühl": JA!

Sind Gegner mit ~100er Pings schlechter hitable und oft Topfragger? -> empirisches "Gefühl": JA!

Auch ich konnte mich damit nicht abfinden...


cl_updaterate "128"
cl_cmdrate "128"
rate "786432"


Die Interp Werte haben ihren Glanz etwas verloren, in 1.6 oder cs:s war das noch anders xD ich wünsch mir seitlangem zblock zurück :(

cl_interp "0"
cl_interp_ratio "2"
cl_interpolate "1"



cl_lagcompensation "1"

Macht Sinn auf Online Server. Argumente dafür wurden schon genannt. Diesen Wert allerdings auf 0 zu stellen, hat theoretisch einen Riesenvorteil meiner Meinung nach ja, "Raw Positions der Gegner". Ergo du bist an den realen Positionen der Gegner näher dra. Klappt allerdings nur unteroptimalen Bedingungen. Im Prinzip ist dieser Befehl eine Art Entschuldigung von Valve (standardmäßig auf 1) "bitte benutzt das, sonst gibts Probleme, weil schlecht gecodet".

FunFact: CSGO ist trotz seiner Probleme immernoch eins der Spiele mit der besten Hitreg, traurig, aber wahr. (korrigiert mich bitte mit Quellen, falls komplett falsch. habe das mal gelesen, aber den bericht grade nicht mehr gefunden

Lustig wirds jetzt, das zeigt eigentlich mal wie schlecht alles eigentlich programmiert wurde. Wir stellen cl_lagcompensation "0" ein und gehen auf bspw. aim_botz.
In der Theorie,... bitte korrigieren wenn ich nicht richtig liege...
In der Theorie haben wir jetzt optimale Bedingungen. Du bist der Server und Client gleichzeitig, die Bots sind der Server und Client gleichzeitig, es darf keine Verzögerung geben und alles "sollte" vernünftig angezeigt und/oder berechnet werden. Mit cl_lagcompensation "0" kommt ihr allerdings phasenweise an den Punkt wo ihr wirklich 5-8 Bullets braucht, obwohl ihr 100% drauf seid, um einen sstillstehende Bot mit HS zu töten. Ziemlich weird.

Ein weiterer interessanter Befehl ist

cl_forcepreload "0" - "Whether we should force preloading."

... Was "vorgeladen" wird weiß ich nichtmal... und den Unterschied konnte ich auch nicht wirklich merken. Vielleicht weiß hier einer mehr oder findet es heraus.


Welchen Befehl ich noch interessant finde ist

net_maxroutable "1200" - "Requested max packet size before packets are 'split'."

auf 800 und 1000 habe ich einen besseren Ping und ab 600 wird gefühlt alles schlechter.

Zum Thema Valve soll Nettsettings forcen oder hiden... haben sie mit Go im Prinzip schon gemacht! In CS:S konntest du noch mehr einstellen und dran rumpfuschen.

net_maxfilesize "64" - "Maximum allowed file size for uploading in MB"

net_maxfragments "1280" - "Max fragment bytes per packet"

net_maxcleartime "0" - "wait for next packets to be sent based on rate setting (0 == no limit)"


Was ich am schlimmsten finde, was auch deutlich zeigt das manche Schüsse einfach nicht registriert werden, ist z.b. das aufschießen bzw. kaputt schießen von Fenster o.Ä.

Bei Mirage das Loch zum Window oder das Holzfenster in Kitchen. Auch in Inferno von 2nd Mid das Fenster in Balcony. Meine Schüsse prallen in das Material, man sieht das Einschussloch, aber es zerbricht nicht.

Lg
bearbeitet von hypnokay am 29.08.2018, 17:48
#46 vor 1 Jahr
t0mmYJ 235 Beiträge
Soviel Text hier, kann jemand der Spezialisten mal ein kurzes Fazit schreiben, vor lauter interp und interpol weiß ich schon gar nicht mehr was abgeht :D
#47 vor 1 Jahr
hape08 391 Beiträge
hypnokay:[...]

Was ich am schlimmsten finde, was auch deutlich zeigt das manche Schüsse einfach nicht registriert werden, ist z.b. das aufschießen bzw. kaputt schießen von Fenster o.Ä.

Bei Mirage das Loch zum Window oder das Holzfenster in Kitchen. Auch in Inferno von 2nd Mid das Fenster in Balcony. Meine Schüsse prallen in das Material, man sieht das Einschussloch, aber es zerbricht nicht.

Lg


Dieses Problem habe ich ständig. Ich weiß nicht ob es an dem Teil selbst liegt, an meiner Verbindung oder an irgendwelchen Settings. Ich habe so auch z.B. beim offline Aim Training auch oft das Problem. Wenn ich z.B. auf aim_training_csgo2 auf die Scheiben schieße habe ich ca. alle 50 scheiben mal das Problem, dass der Hit drauf ist aber die Scheibe nicht bricht (beide Punkte nahezu aufeinander). Andererseits habe ich auch total random, dass Hit Client und Hit Server sich deutlich unterscheiden. Also bei einer 8pkt Scheibe ist der Client Hit mittig drauf und Server sagt ich habe vorbeigeschossen. Alles mit sv_showimpacts 1 beobachtet, ich habe 128 tick eingestellt.
#48 vor 1 Jahr
Assimilator 638 Beiträge
Ich nutze seit langer Zeit folgende Werte, finde hier im Thread aber einige Abweichungen:

// Network Settings

rate "786432"
cl_cmdrate "128"
cl_updaterate "128"


// Clientside Interpolation Settings

cl_interp "0"
cl_interp_ratio "1"
cl_interpolate "1"
cl_lagcompensation "1"


Sollte ich insbesondere "cl_interp" und "cl_interp_ratio" umstellen?
#49 vor 1 Jahr
marc_ 1193 Beiträge
hape08:
hypnokay:[...]

Was ich am schlimmsten finde, was auch deutlich zeigt das manche Schüsse einfach nicht registriert werden, ist z.b. das aufschießen bzw. kaputt schießen von Fenster o.Ä.

Bei Mirage das Loch zum Window oder das Holzfenster in Kitchen. Auch in Inferno von 2nd Mid das Fenster in Balcony. Meine Schüsse prallen in das Material, man sieht das Einschussloch, aber es zerbricht nicht.

Lg


Dieses Problem habe ich ständig. Ich weiß nicht ob es an dem Teil selbst liegt, an meiner Verbindung oder an irgendwelchen Settings. Ich habe so auch z.B. beim offline Aim Training auch oft das Problem. Wenn ich z.B. auf aim_training_csgo2 auf die Scheiben schieße habe ich ca. alle 50 scheiben mal das Problem, dass der Hit drauf ist aber die Scheibe nicht bricht (beide Punkte nahezu aufeinander). Andererseits habe ich auch total random, dass Hit Client und Hit Server sich deutlich unterscheiden. Also bei einer 8pkt Scheibe ist der Client Hit mittig drauf und Server sagt ich habe vorbeigeschossen. Alles mit sv_showimpacts 1 beobachtet, ich habe 128 tick eingestellt.


Server und Client berechnen den Spread unabhängig voneinander, daher kann das vorkommen dass dein Client den Einschuss rendert, der Server die Kugel aber irgendwo in der Wand registriert.
#50 vor 1 Jahr
Zoddom 24 Beiträge
Assimilator:Ich nutze seit langer Zeit folgende Werte, finde hier im Thread aber einige Abweichungen:

// Network Settings

rate "786432"
cl_cmdrate "128"
cl_updaterate "128"


// Clientside Interpolation Settings

cl_interp "0"
cl_interp_ratio "1"
cl_interpolate "1"
cl_lagcompensation "1"


Sollte ich insbesondere "cl_interp" und "cl_interp_ratio" umstellen?



Also grundsätzlich kannst Du alle deine netsettings auf max stellen, sprich

cl_cmdrate "128"
cl_updaterate "128"
cl_interp "0"
cl_interp_ratio "1"
rate "786432" (Sofern du mehr als 6mbit hast iirc)

Auf Valve Servern werden die rates ohnehin automatisch lauf 64 limitiert und nur wenn DU Packet Loss hast ist cl_interp_ratio "2" zu empfehlen.

Ich habe ne Zeit lang immer mit 2 gespielt und hatte gefühlt einen riesen Nachteil, weil das Gegner movement einfach hart verzögert war. Durch die längere Interpolation erhälst du eher einen Nachteil, solange du kein Packet Loss hast.


PS:
wie weiter oben schon diskutiert, hat "cl_interp" keine funktion mehr und kann damit ignoriert werden.

@theprincewho: hast du nochmal nachgecheckt? Finde es sehr seltsam, dass dein lerp tatsächlich 0.02 anzeigt. Kann einerseits an der server config (uploade die pls) liegen, andererseits sollten wir mmn noch genauer überprüfen, ob evtl irgendwo ein bug vorliegt. In den letzten Wochen bin ich mehr und mehr der meinung, dass das ganze grundlegende "desync" problem mit interpolation zusammenhängt, da die symptome ähnlich sind und mit interp_ratio 2 gefühlt exponentiell schlimmer werden.
bearbeitet von Zoddom am 07.09.2018, 13:08
2

Antwort posten

Um eine Antwort erstellen zu können, musst Du eingeloggt sein.
Freaks 4U Gaming © 2012-2020 by 99damage.de - All rights reserved. - Staff - Impressum - Datenschutz