Ein 10 Jahre alter Steam-Bug
(blog.freudenjmp.com)Valves 10 Jahre altes Steam-Problem: Sind alle schneller als Valve?
- Valve scheint gelegentlich nicht auf Community-Feedback und Bug-Reports zu reagieren.
- Eine Geschichte über einen 10 Jahre alten Bug.
tl;dr
- Einige populäre Lösungsansätze für das seit über 10 Jahren bestehende
No user logon-Problem in Counter-Strike beheben in Wirklichkeit nicht die eigentliche Ursache. - Wenn du diesen Artikel über Google gefunden hast, probiere die folgenden Lösungen nicht aus:
- Spiel neu installieren
- Spieldateien überprüfen
- Steam neu starten
- Computer neu starten
- WLAN deaktivieren
Introduction
- Counter-Strike ist ein bekanntes Spiel, das von Valve entwickelt wurde.
- Kürzlich wurde Counter-Strike 2 (CS2) veröffentlicht und ersetzte Counter-Strike: Global Offensive (CS:GO).
- CS2 enthält viele Bugs, was zu einer schlechten Spielerfahrung führt.
- Valve hat CS2 nicht in das HackerOne-Bug-Bounty-Programm aufgenommen und zahlt daher keine Prämien für Bug-Reports im Zusammenhang mit CS2.
No user logon
- Bugs, die die Community seit Jahren meldet, sind weiterhin ungelöst und existieren auch in CS2.
- Der Fehler
No user logontritt während des Spiels zufällig auf. - Dieses Problem wurde mehrfach in verschiedenen Foren und in Valves offiziellem Support-Forum gemeldet.
- Die vorgeschlagenen Lösungen beheben das Problem in Wirklichkeit nicht.
Esportal specific
- Auch bei Esportal trat dieses Problem über viele Jahre hinweg auf; tatsächlich konnte man es nicht lösen, sondern nur die Häufigkeit verringern.
- In CS2 schien das Problem zunächst behoben zu sein, doch in der ersten Januarwoche 2024 nahm die Zahl der Meldungen wieder zu.
The symptoms
- Der Fehler
No user logontritt 2–3 Minuten nach der Verbindung des Spielers mit dem Spiel auf. - Möglicherweise hängt er damit zusammen, dass Skins erst einige Minuten nach Spielbeginn erscheinen.
Validation of the hypothesis
- Wahrscheinlich handelt es sich um ein Problem im Zusammenhang mit der Steam-Authentifizierung.
- Die Zeit bis zum erfolgreichen Abschluss von
STEAM USERID validatedlag vor dem 3. Januar bei 2–3 Sekunden, stieg danach jedoch auf etwa 1 Minute und 20 Sekunden an.
NETWORK_DISCONNECT_STEAM_LOGON
- Es scheint ein Bug im Zusammenhang mit der Steam-Authentifizierung zu sein.
- Es wurde ein Log mit
STEAMAUTH: Client Bob received failure code 8gefunden.
Steam3 validation
- Die Steam3-Server sind für die Benutzerauthentifizierung zuständig.
- Der Gameserver fordert die Steam3-Server auf, die Gültigkeit einer Steam-ID zu überprüfen.
- Während die Steam3-Server die Gültigkeit prüfen, kann der Spieler weiterspielen, aber Skins werden nicht zugewiesen.
Making it trustable
- Es ist ein Prozess erforderlich, um zu prüfen, ob
CS2.exevertrauenswürdig ist. Steam.exekennt das aktuell angemeldete Konto und überprüft, ob es mit der vonCS2.exegesendeten Steam-ID übereinstimmt.
NETWORK_DISCONNECT_LOOPSHUTDOWN
- Es gibt einen weiteren Grund für eine Trennung namens
NETWORK_DISCONNECT_LOOPSHUTDOWN. - Das bedeutet, dass automatisch vom Spiel selbst ein Verbindungsversuch ausgelöst wird.
Loops in the Source engine
- Die Source-Engine besitzt Loops, die ausgeführt werden, bis ein bestimmtes Ziel erreicht ist.
CS2.exeführt mehrere Loops aus, und schließlich wird dergame-Loop ausgeführt.
The disconnection
- Wenn ein Loop beendet wird, kann die Verbindung durch
NETWORK_DISCONNECT_LOOPSHUTDOWNgetrennt werden.
CS2 startup procedure
- Beim Start von
CS2.exewerden mehrere Loops ausgeführt, und derlevelload-Loop startet die Überprüfung der Steam-ID, bevor zumgame-Loop gewechselt wird.
Meinung von GN⁺:
- Dieser Artikel bietet eine tiefgehende Analyse des seit Langem ungelösten
No user logon-Bugs in der Counter-Strike-Reihe von Valve. Das hilft dabei, die Schwierigkeiten in der Spieleentwicklung und Wartung besser zu verstehen. - Dass Valve offenbar nicht angemessen auf Feedback und Bug-Reports aus der Community reagiert, unterstreicht die Bedeutung der Kommunikation zwischen Spieleentwicklern und Nutzern.
- Der Artikel zeigt gut die Komplexität von Software Engineering sowie die Herausforderungen bei Bug-Tracking und Fehlerbehebung. Er betont die Notwendigkeit eines systematischen Ansatzes zur Lösung von Bugs.
1 Kommentare
Hacker-News-Kommentare
Der erste Kommentar erklärt das Session-Ticket-System von Steam: Der Game-Client fordert beim Steam-Server ein Session-Ticket an und übergibt dieses an den Game-Server, um seine Steam-ID nachzuweisen. Der Game-Server muss dieses Ticket über die Web-API von Steam verifizieren; angemerkt wird außerdem, dass der CS2-Client offenbar nicht damit umgehen kann, wenn es beim Erhalt des Session-Tickets zu Verzögerungen kommt.
Der zweite Kommentar weist darauf hin, dass die Schlussfolgerung des Artikels nicht klar sei, und erwähnt Probleme mit der Art, wie Counter-Strike gestartet wird, sowie die Möglichkeit, dass Wartungsarbeiten in Washington weltweit bei Spielern Probleme verursachen. Außerdem wird erklärt, dass die Verifizierung der Steam-ID als letzter Schritt vor dem Start der Game-Loop erfolgt und daher den Spielstart behindern kann, wenn die Server während der Wartung langsam sind.
Der dritte Kommentar weist auf einen Bug hin, bei dem es nicht zwingend erforderlich ist, die Authentifizierung abzuschließen, bevor ein Multiplayer-Spiel gestartet wird.
Der vierte Kommentar fragt, ob sich die Ursachen für unerwartete Abstürze des Game-Clients auf dieselbe Weise untersuchen lassen, und erwähnt eine Untersuchung zur Verkürzung der Ladezeit von GTA V.
Der fünfte Kommentar kritisiert, dass der Stil des Artikels zu übertrieben sei, und schlägt vor, schneller zum Kern der Sache zu kommen.
Der sechste Kommentar schlägt vor, am Anfang des Artikels eine kurze Zusammenfassung der Problemlösung hinzuzufügen.
Der siebte Kommentar fragt, ob
levelloadloopnur beim Start des Spiels ausgeführt wird oder auch dann, wenn eine Verbindung zum Server hergestellt und die Map geladen wird.Der achte Kommentar wünscht sich Leistungsverbesserungen für die Steam-App unter macOS.
Der neunte Kommentar weist auf Sicherheitsprobleme bei Valve hin und erwähnt, dass CS:GO bei neuen Meldungen vom Geltungsbereich ausgeschlossen wurde.
Der letzte Kommentar teilt die Erfahrung, früher ein Tool erstellt zu haben, das Serverlisten und die Punktestände aktiver Spieler anzeigt, und bringt die Möglichkeit ins Spiel, dass alte Bugs weiterhin existieren könnten.