DedicatedServerをphpでリモートコントロールする

TrackManiaのDedicatedServerは、XML-RPCポートを通じてコマンドを送り込むことによってリモートコントロールすることができる
DedicatedServer\RemoteControlExamples\PhpRemoteにPHPでのサンプルスクリプトが入っている

具体例としては

<?php
$ip="127.0.0.1";  ( DedicatedServerのIP )
$port=5000;       ( DedicatedServerのXML-RPCポート )
$user= "SuperAdmin"; ( コントロールするためのユーザー名 )
$pass= "SuperAdmin"; ( パスワード )

require("include/GbxRemote.inc.php"); ( コントロールするためのライブラリ読み込み )

$client = new IXR_Client_Gbx;

if (!$client->InitWithIp($ip,$port)) {
	echo'An error occurred - '.$client->getErrorCode().":".$client->getErrorMessage();
}

//connect to server
if (!$client->query("Authenticate", $user, $pass)) {
	print "login failed !<br/>";
}
if($client->query('GetServerOptions')) { ( クエリを送り込む )
	$ServerOptions = $client->getResponse();
	echo "GetServerOptions : <br />";
	print_r($ServerOptions);
	echo $ServerOptions['Name'];
}
?>

これをDedicatedServerと同じサーバー上のWeb領域においてアクセスするとDedicatedServerのサーバーオプションが表示される

使用できるクエリはDedicatedServer付属のListMethods.htmlに書いてある


↑のスクリプトに、もうちょっと手を加えた実行例こちら

ListMethods.htmlを見ると、情報の読み出しだけでなく、Trackの追加などもできるらしい。
上手く使えば、「アプロダにTrackをUploadしたら、そのままサーバーにも追加」とかできそうな感じ( ^ω^)b