Skip to content

Instantly share code, notes, and snippets.

@koraktor
Created December 31, 2010 14:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koraktor/761034 to your computer and use it in GitHub Desktop.
Save koraktor/761034 to your computer and use it in GitHub Desktop.
Source server version check
<?php
require_once 'steam-condenser.php';
$game = 'cstrike';
error_reporting(E_ERROR);
$master = new MasterServer(MasterServer::SOURCE_MASTER_SERVER);
$challenge = $master->getChallenge();
$servers = $master->getServers(MasterServer::REGION_EUROPE, "\\gamedir\\{$game}");
echo "Found " . sizeof($servers) . " servers for '$game'...\n";
foreach($servers as $server) {
try {
$server = new SourceServer(new InetAddress($server[0]), $server[1]);
$serverInfo = $server->getServerInfo();
$data = array(
'challenge' => $challenge,
'gamedir' => $serverInfo['gameDir'],
'product' => $serverInfo['gameDir'],
'version' => $serverInfo['gameVersion']
);
$reply = $master->sendHeartBeat($data);
if(empty($reply)) {
echo "Current version for '$game' is: {$serverInfo['gameVersion']}\n";
break;
} elseif($reply[sizeof($reply) - 1] instanceof M2S_REQUESTRESTART_Packet) {
echo "Found outdated version for '$game': {$serverInfo['gameVersion']}\n";
}
} catch(TimeoutException $e) {}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment