Die Steam Web API und Updates

Von vielen unbemerkt hat Valve schon seit einiger Zeit eine umfangreiche Steam Web API bereitgestellt. Die Dokumentation ist leider nicht sehr vollständig und in der Valve Developer WIKI zu finden.

Die Anfrage an die API wird mittels GET Parametern gemacht. Die Antwort kann in den Formaten XML, JSON und VDF ausgegeben werden.

Ein für Serveroperatoren sehr interessanter Teil ist leider nicht dokumentiert. Mittels der Valve Developer WIKI kann man zu SteamApps Versionsnummern mit der aktuellen abgleichen lassen. Im Fall von Counter-Strike: Source würde eine Abfrage mit XML folgendermaßen aussehen:

https://api.steampowered.com/ISteamApps/UpToDateCheck/v0001/?appid=240&version=1.0.0.69&format=xml

Die aktuelle Version ist 1.0.0.70. Deswegen ist die XML Antwort:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE response>
<response>
	<success>true</success>
	<up_to_date>false</up_to_date>
	<version_is_listable>false</version_is_listable>
	<required_version>10070</required_version>
	<message>Your server is out of date, please upgrade</message>
</response>

Fragt man mit einer aktuellen Version nach:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE response>
<response>
	<success>true</success>
	<up_to_date>true</up_to_date>
	<version_is_listable>true</version_is_listable>
</response>

Mittels der API kann man sich also relativ einfach ein Script schreiben, dass die lokale Serverversion mit der aktuellen abgleicht. Im Folgenden wird dann je nach Output reagiert. Wenn "uptodate" "False" ist, kann z.B. ein Update gestartet werden.

Tech Topic(s) des Artikels