<a href=”/assets/img/blog/2015/05/RockstarGames-GTA-5-Bann-Mail-geschwaerzt.png” target=”_blank” rel=noopener>

GTA 5 Ban Email

Heute Nacht um ca. 2:45 Uhr war es so weit: Rockstar Games verbannt viele Spieler für Modding und Cheating. Viele verloren die Verbindung zu den Rockstar Servern. Es ging von Stocken in der Lobby, weil die Transaktion wohl nicht abgeschlossen werden konnte, bishin zu Spielcrashes und BSODs (Bluescreens) - auf Reddit wird über alles berichtet. Dabei ist anscheinend auch alles vertreten, was für Rockstar nicht duldbar ist: Vom einfachen FOV-Mod über Geld/RP Cheating mit CheatEngine bishin zum God Mode wurde heute Nacht alles für 14 Tage verbannt, was nicht niet- und nagelfest war. Interessant dabei ist allerdings, dass erst bei dem letzten Patch 1.0.350.1 die Memory Überprüfung implementiert wurde. Fragt sich, wie Rockstar hier nachträglich bei einem P2P-Mesh-Spiel, welches UDP Hole Punching nutzt, feststellen will, wer hier gemodded hat. Dazu unten mehr. Anscheinend wurden aber auch Nutzer gebannt, welche mit Geld von Hackern überhäuft wurden und nichts dafür können. Was viele bei der Reaktion von Rockstar Games dabei so stört, ist, dass z. B. der FOV-Mod gebannt wurde. Dies ist ein so stark gefragtes und gutes Feature, dass man dort auch noch die Spieler bannt, anstatt auf die Community zu hören und die Einstellung zu implementieren. Rockstar wird nun überhäuft mit Anfragen, was dies denn soll. Mal sehen, was passiert. Man kann sich ja immer umentscheiden und evtl. doch Mod-Support anbieten ;). Immerhin hat es keine 3 Wochen benötigt, die Spieleverschlüsselung zu umgehen und Mods wie FOV und SkriptHook heraus zu bringen.

Das GTA5 P2P Mesh

Rockstar nutzt keine eigenen Server, wie ich Anfangs dachte, um die Spieler zu verbinden, sondern die Spieler verbinden sich alle mit sich selbst. Daher dauert es auch manchmal ewig, eine Lobby oder Sitzung zu joinen. Auch kommt daher der Desync in manchen Situationen. Aber es erlaubt auch so tolle Dinge wie:

  • Gott Modus / kein Schaden
  • Unbegrenzte Munition
  • Autos Modifizieren / man kann z. B. Raketen an sein Auto anbringen
  • Fliegen mit dem Auto
  • Höher Leveln als Rockstars Level Limit
  • Sofortiger Standortwechsel
  • Große Mengen Geld auf dem Boden erzeugen

Der Grund ist: Der Rockstar Server bekommt von all dem nichts mit. Er wacht nur über das Geld, die RP, die Immobilien, die Autos, die Missionsstände bei den Heists, etc. - also alles, was zwingend gespeichert werden muss. Dabei benutzt Rockstar eine Technik, welche sich UDP hole punching nennt. Diese ist sogar im STUN-Protokoll durch RFC 5389 als Standard definiert worden.

Das funktioniert wie folgt:

Client A geht her und baut eine auf UDP basierte Initialverbindung zu Rockstars Steuerserver her. Diese hat hier im Beispiel Port 50. Rockstar kennt nun die Portnummer von A. Dieser will nun in eine Lobby mit Client B. B hat Port 51 zugewiesen bekommen. A erhält nun die Port Nummer von B. B wird nun informiert, dass A sich nun verbindet. Beide Seiten verbinden sich nun jeweils auf die Ports, die ihnen genannt wurden. Also A auf Port 51 zu B und B auf Port 50 zu A. Danach besteht die Verbindung. Dadurch, dass die Initialverbindung zu Rockstar permanent im Hintergrund angepinnt wird, und somit offen bleibt, wird der Port im Router auch nicht geschlossen. Dies erspart unnötiges Einrichten von Port-Weiterleitungen, was man bei Carrier-Grade-NAT (Beispiele: Unitymedia, KabelBW, Kabel Deutschland, etc.) sowieso mit neuen IPv6-only Verträgen nicht kann. Es ist also ein riesiges P2P-Netzwerk - und Rockstar ist hier lediglich der Verwalter der Spielstände und Vermittler der Ports - mehr nicht. Dies erklärt auch, warum man erst nachträglich Nutzer mit God Mode verbannt: Durch Prüfung auf der Client Seite.