Valve Corporation - Steam



Steam Logo
Valve Corporation hat mit Steam einen Weg gefunden, Software und Medien (Spiele, Programme, Filme) so auszuliefern, dass Kunden regelmäßig mit Zwangsaktualisierungen beglückt werden.

Sollte ein Verleger (Publisher) oder Entwickler (Developer) neue Inhalte falsch ausliefern oder ein Spiel Patch nicht mehr funktionieren, kann dies für Verbraucher ziemlich ärgerlich sein. Vor allem, wenn das eigene Spiel nicht mehr funktioniert und mit Fehlern überhäuft ist, Speicherstände ins digitale Nirvana geschickt werden oder andere Dinge welche eigenem Frust stark zusetzen können. Vom finanziellen Verlust der dadurch entstehen kann fange ich gar nicht erst an.

Es kann auch sein, dass einem neue Mechaniken oder Inhalte eines Spiels einfach nicht passen und daher schlichtweg nicht aktualisieren will. Welcher Grund auch immer es sein mag, Updatezwang muss nicht sein...

Nur ein "Nein" auf Verbraucherseite wird in den hauseigenen Einstellungen des Steam-Clienten nicht akzeptiert bzw. ist gar nicht erst vorgesehen.

So bleibt nichts anderes übrig, als selbst Hand anzulegen. Valve Corporation schafft es leider nicht aus eigenem Antrieb auf ihrer Plattform Steam derlei Lösungen anzubieten.

Überlegung und Zielführung


Da Updates über regulären Weg in Steam nicht abzuschalten sind, muss ein anderer Ansatz her. Dieser äußert sich darin, Downloadquellen selbst auszuschalten und Client-Einstellungen zu ignorieren.

Die Firma Valve Corporation ist natürlich auch nicht blöd, hat eine riesige Infrastruktur für Steam geschaffen und diverse Notfallpläne integriert, falls ein Server nicht funktionieren sollte. So auch bei abgeschalteten Cache-Servern. Besteht keine Verbindung, werden weitere Adressen zum Server-Status überprüft und im Glückfall wieder auf den Cache verweisen.

Ein paar Beispiele:
http://origin6-sea1.steamcontent.com
http://videoorigin1-sea1.steamcontent.com
http://valve1301.steamcontent.com
http://valve2400.steamcontent.com

oder wahlweise Ip-Adressen
http://180.101.192.197:80
http://203.80.149.66:80
Insgesamt sind es grob geschätzt ca. 3000 Serveradressen und können selbst in eigene Listen eingepflegt werden. Der Guide hier dient daher eher als Basis für weiteres Vorgehen.

Weitere (bisher bestätigte) Downloadserver


valve1 bis valve2501.steamcontent.com (über Wildcard verbieten. Vermutlich bis 2800+ und mehr...)
origin1 bis origin8-sea1.steamcontent.com
videoorigin1 bis videoorigin3-sea1.steamcontent.com
level3.cdn.steampipe.steamcontent.com # Depots
edgecast.cdn.steampipe.steamcontent.com # Serverstatus und Chunks
steampipe.akamaized.net # Serverstatus und Chunks
cdn.highwinds.cs.steampowered.com # Depots
client-download.steampowered.com # Clientdownload
media.steampowered.com # Controller Config

Das als ungefährer Überblick, was auf einen zukommen kann und wie das gesamte Vorhaben zu bewerkstelligen ist.

Lösung


Um unser Ziel mit einfachen Mitteln zu erreichen, habe ich mich für die hosts Datei entschieden, die für den Zweck mehr als ausreicht und keine umständliche Installationsroutinen mit sich bringt.

Alternativ können auch andere Dinge wie PI-Hole, Firewalls oder weitere Software/Umgebungen genutzt werden. Je nach eigener Möglichkeit und eigenem Wissen.

Wird ein Downloadserver kontaktiert, wird als erstes die Serverliste mit jeweiligen Depotinformationen abgerufen.

Zuerst wird der Server-Status direkt unter jeweiliger Cache-Adresse abgerufen. Ist der erfolgreich geht's an die Produkt-ID (208651). Passt beides werden über den "Chunk" Ordner die jeweilig benötigten Dateifragmente angefordert und damit das Spiel/Update auf die eigene Festplatte gezogen. Und genau hier wird angesetzt um dem Downloadzwang einen Riegel vorzuschieben.

Downloads im Client verhindern


Den Inhalt der Datei einfach in eigene Filterlisten inkludieren um jegliche Art von Downloads und Updates auf der Steam-Plattform zu sperren. Es sind insgesamt 89 Einträge für die regulären Downloadserver.

Auszug aus der Datei:
0.0.0.0 cache10-ams1.steamcontent.com
0.0.0.0 cache16-fra1.steamcontent.com
0.0.0.0 cache38-fra1.steamcontent.com
0.0.0.0 cache2-fra1.steamcontent.com
0.0.0.0 cache5-fra1.steamcontent.com
0.0.0.0 cache8-ams1.steamcontent.com

Hierbei ist es egal, in welcher Downloadregion sich Nutzer befinden, da alle Serveranfragen auf diese 89 Cache-Server zurückgreifen. Für erneute Spieldownloads und Aktualisierungen von Produkten müssen Einträge deaktiviert oder kurzfristig rückgängig gemacht werden.

Liste für den Steam-Client


Da sich auch der Steamclient selbst von Zeit zu Zeit aktualisiert, greifen hier eigene Adressen als bei Spielen. Werden genannte drei Adressen blockiert, sollten auch diese Updates stillgeschaltet sein. Sowohl für Beta Client als auch für die Stable Version.

Kontaktierte Adressen für die Clientupdates:
0.0.0.0 client-download.steampowered.com
0.0.0.0 media.steampowered.com
0.0.0.0 media4.steampowered.com

Desweiteren gibt es noch die "https://steamcommunity.com/news/client", unter welcher sich die Updatenews verstecken. Diese über die hosts zu sperren macht keinen Sinn, da diese Adresse für die eigenen Profil und Forenfunktionen vorgesehen ist und damit die Hälfte nicht mehr funktionieren würde.