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


