オンラインプレイ用サーバ作成方法その2(スコア管理編)

タイムを記録するための、ツールの導入方法について記述する。

なお、スコア管理ツールは、ゲーム(クライアント)が最新でないと接続できなくなる可能性あり。最新版(現時点で2.11.26)は公式HPのダウンロードリンクにある(steam版のTrackmaniaNationsForeverも古いみたい)。

1. xamppをインストール

スコアをデータベースで管理するため、xamppをインストールする。xamppにはMariaDBというデータベースやそれを管理するためのツールなどが含まれている。

【ダウンロードリンク】

https://www.apachefriends.org/jp/download.html

5.6.30 / PHP 5.6.30(5.6.Xの最新バージョン。他のバージョンでもいいかもしれないが、未検証のため、このバージョンが無難)

インストールの詳細は
https://techacademy.jp/magazine/1722

などを参照。

インストールが終わったら、MariaDBの管理者アカウント(root)に対して、パスワードを設定しておく(初期値はパスワードなし)。

設定方法は、

https://www.adminweb.jp/xampp/mysql/index2.html

を参照。「MariaDBへの接続テスト」は行わなくてもよい。

rootのパスワード設定後にphpMyAdminのログインに関する設定を行う。

https://www.adminweb.jp/xampp/mysql/index3.html

 

2.1 xaseco v1.16をインストール

http://www.gamers.org/tmn/

から、xaseco v1.16をダウンロードし、解凍する。

newinstallフォルダの.phpファイル以外をxasecoフォルダに、.phpファイル(3つ)をxaseco\includesに移動する。

 

設定ファイルを変更する。

1.config.xml

 <masteradmins>
 <!-- /ip:port in tmlogin only needed when joining server over LAN -->
 <!-- ipaddress can be specified to guard each login against       -->
 <!-- unauthorized use of admin commands from other IP addresses   -->
 <!-- format:
 <tmlogin>YOUR_MASTERADMIN_LOGIN</tmlogin> <ipaddress>YOUR_MASTERADMIN_IP</ipaddress>
 -->
 <tmlogin>トラックマニアのアカウント</tmlogin> <ipaddress></ipaddress>
 </masteradmins>

これは管理者用のIDを設定する部分で、トラックマニアのアカウントにはいつもゲームプレイしているアカウントを指定する。複数指定することもできる。

自宅のゲームサーバの場合、ipaddressの値は設定不要。

 

<tmserver>の<password>をSuperAdminに、<port>を5000から5002に変更する。

  <tmserver>
    <login>SuperAdmin</login>
    <password>SuperAdmin</password>
    <ip>127.0.0.1</ip>
    <port>5002</port>
    <timeout>180</timeout>
  </tmserver>

 

2.dedimania.xml

<masterserver_account>の各項目を以下の様に修正する。

 <masterserver_account>
  <login>サーバ用アカウント</login>
  <password>サーバ用パスワード</password>
  <nation>JPN</nation>
 </masterserver_account>

サーバ用アカウントサーバ用パスワードはServerManiaの【Network】タブで設定したものと同じものを設定する。

3.localdatabase.xml

以下のようにDBの設定を行う。

 <mysql_server>localhost</mysql_server>
 <mysql_login>root</mysql_login>
 <mysql_password>rootのパスワード</mysql_password>
 <mysql_database>xaseco_db</mysql_database>

xaseco_dbはスコア管理用に作成するデータベースで、名前は何でもよいが、以降も出てくるので、xaseco_dbとしておく。

4.データベースの作成

MariaDBでデータベースを作成する。

MySQLの【admin】ボタンをクリック

【データベース】タブをクリック

データベースを作成するというところで、データベース名にxaseco_dbと入力し、【作成】ボタンをクリックする。(照合順序は変更不要)

5.テーブルの作成

【インポート】タブをクリック

xaseco\localdb内の以下の3つ.sqlファイルを一つづつ選択し、それぞれ【実行】をクリック。

・aseco.sql
・extra.sql
・rasp.sql

6.aesco.batのパス書き換え

赤字の様に、実際にインストールしたフォルダ名に書き換える。

@echo off

rem ****** Set here your php path *******

set INSTPHP=C:\xampp\php

rem *************************************

PATH=%PATH%;%INSTPHP%;%INSTPHP%\extensions
"%INSTPHP%\php.exe" aseco.php

pause

 

2.2 プラグインの追加

以下の二つのプラグインを、リンク先からダウンロードする。

Fufi Menu v0.37

http://www.tm-forum.com/viewtopic.php?t=17450

これは左上にメニューを表示するプラグイン。無くてもそれほど困らない。

Fufi Widgets (v0.80b)

http://www.tm-forum.com/viewtopic.php?t=15897

これは、各タイムをウェジットで画面上に表示するプラグイン。

 

解凍したものを、xasecoフォルダとpluginsフォルダへそれぞれコピー。

xasecoフォルダのplugins.xmlに、以下の様に2行追加する。

 ・
 ・
 <plugin>jfreu.plugin.php</plugin>
 <plugin>mistral.idlekick.php</plugin>
 <plugin>plugin.fufi.menu.php</plugin>
 <plugin>plugin.fufi.widgets.php</plugin>
</aseco_plugins>

3. xaseco起動

ServerMania等でTrackManiaサーバの起動が完了したら、xasecoフォルダのaesco.batをダブルクリックして起動すると、クライアントの画面上に記録タイムが表示される。あらかじめデスクトップにショートカットを作成しておくと起動が楽。

広告

オンラインプレイ用サーバ作成方法

1.準備

TCP/UDPの2350,3450をポート開放しておく。

必要なソフトは以下の通り
ServerMania v 0.99(※V1.00はTrackmania2用なので使用不可)
TrackmaniaServer_2011-02-21.zip(適当な場所に解凍。“My Documents”などスペースが含まれるフォルダ名だとサーバ起動時にエラーになるので、ドライブ直下に専用フォルダを作成してそこに格納することを推奨する。

2.ServerMania起動

ServerManiaを起動してServer ListタブからAddをクリック

【General】タブ

Local(デフォルト)を選択し、OK

PackMask:Nations

ServerLocation:TrackmaniaServer.exeが存在するフォルダ

Match Setting File:はこの後別画面で指定するので、ここでは指定しなくてよい。設定すると、接続と同時にMatch Setting Fileが読み込まれ、スタートする。

【Network】タブ

Login:サーバ用アカウント

Password:サーバ用パスワード

予め、サーバ用アカウントのために、ゲーム内でアカウント(オンラインアカウント)を取得しておく。メールアドレスは空欄でも構わない。

※アカウントを取得しても、サーバ起動時にログインできない場合がある。タイムラグかもしれないし、明確な条件は分からないが、ソロプレイでメダルを一つ獲得して、オンラインプレイ(FreeZone等)で完走したら、ログインできるようになった。

【スタート】タブから【Connect】をクリックすると、黒窓が開くので、以下の様に表示されればOK

[2017/03/06 09:40:17] Initializing...
[2017/03/06 09:40:17] Configuration file : SM_serv_3.cfg
[2017/03/06 09:40:17] Loading system configuration...
[2017/03/06 09:40:17] ...system configuration loaded
[2017/03/06 09:40:18] Loading cache...
[2017/03/06 09:40:18] ...OK
[2017/03/06 09:40:18] Listening for xml-rpc commands on port 5002.
[2017/03/06 09:40:18] Loading dedicated server configuration...
[2017/03/06 09:40:18] ...Dedicated server configuration loaded
[2017/03/06 09:40:18] No match settings file
[2017/03/06 09:40:18] Server not started: no Challenges available. Check your matchsettings!
[2017/03/06 09:40:18] Connecting to master server...
[2017/03/06 09:40:18] ...OK
[2017/03/06 09:40:19] Identifying on master server...
[2017/03/06 09:40:22] ...OK
[2017/03/06 09:40:22] URL: tmtp://#join=server用アカウント
[2017/03/06 09:40:22] Please wait, loading...
[2017/03/06 09:40:23] Ready, waiting for commands.

 

 【ServerOptions】

Player Password:必要に応じて設定

Allow P2P: Uploadにチェック(コースBGMや看板等をクライアントに転送できるようにする)

 

【Server Overview】

Load MatchSettingsをクリックして、設定ファイルを読み込む。

デフォルトのコース(NationsWhiteなど)はtrackMania\GameData\Tracks\MatchSettings\Nations以下にある。

【Start】をクリックすると、サーバ起動完了。

自作トラックを設置する場合はトラックをフォルダに格納して、NationsWhite.txtを参考に設定ファイル作成する。なお、トラックのファイル名に日本語があると、not foundエラーになるので、半角英数字のファイル名にしておくとよい。

 

3.クライアントからサーバに接続

対戦相手にプレイしてもらうには、クライアントを起動してスクリーンショットのように【エクスプローラー】を開いてアドレスバーに
tmtp://#addfavourite=サーバ用アカウント
を入れる(Ctrl+Vで貼り付け可能)ことでお気に入りサーバーに追加してもらい、【オンラインプレイ】→【お気に入り】から該当サーバをクリックして接続する。なお、【お気に入り】に追加してから反映されるまで、若干タイムラグがある。

※無料版ではお気に入りから接続するしかなく、お気に入り以外から接続しようとするとエラーとなる。ここのオンラインプレイについてを参照)

またサーバーを立てた人は

tmtp://#join=127.0.0.1(サーバとクライアントと同じPCの場合)

を入れることでアクセスできる。もし、tmtp://#join~で接続できない場合は、前述のtmtp://#addfavourite~でお気に入りから入ると、接続できることがある。