ENGLISH | JAPANESE

AutoStarterの実装

2016/05/07

人狼知能プラットフォームのバージョンが0.3.3に上がり,自動的にサーバとJavaクライアントを立ち上げるAutoStarterが追加されました.

AutoStarterを実行するには,AutoStarter.batまたはAutoStarter.shを実行してください.
org.aiwolf.ui.bin.AUtoStarter.javaが起動されます.

Macの方はターミナルからAutoStarter.shを起動してください.
なお,最初に起動する前にパーミッションの設定を行ってください.

> cd path_to_0.3.x
> chmod 755 AutoStarter.sh    //←これは最初の一回だけ必要です
> ./AutoStarter.sh

実行すると設定ファイルであるAutoStarter.iniを読み込み,その内容に従ってサーバとクライアントを起動してゲームを実行します.

設定ファイルは以下のように書かれています. lib=./
log=./log/
port=10000
game=10
view=false
#agent=5
kaji1,org.aiwolf.kajiClient.player.KajiRoleAssignPlayer,WEREWOLF
kaji2,org.aiwolf.kajiClient.player.KajiRoleAssignPlayer,SEER
kaji3,org.aiwolf.kajiClient.player.KajiRoleAssignPlayer
kaji4,org.aiwolf.kajiClient.player.KajiRoleAssignPlayer
kaji5,org.aiwolf.kajiClient.player.KajiRoleAssignPlayer

設定ファイルの書き方

■lib
libはエージェントが含まれたjarファイルがあるディレクトリへのパスです.
再帰的に読み込みますので,指定したディレクトリ以下にあるすべてのjarファイルを読み込みます.
デフォルトは実行ディレクトリになります.

■log
logはログを記録するディレクトリを指定します.
すでに存在するディレクトリを指定すると,上書きされますのでご注意ください.
デフォルトは./logです.

■port
TCP/IP通信のポート
デフォルトは10000です.

■game
ゲーム数.
同じインスタンスで指定回数だけゲームを行います.
デフォルトは10です.

■view
GUIを表示するかどうかです.
trueにするとGUI画面が表示されリアルタイムにゲーム進行画面を確認することが出来ます.
デフォルトはfalseです.

■agent
エージェント数です.
通常は指定する必要はありません.
Java以外のクライアントを接続する場合など,設定ファイルに書かれていないエージェントを接続するときは
設定ファイルに記述するエージェント数+別途接続したいエージェント数をここに記述します.
たとえば,サンプルとしてkajiエージェントを5体動かした上でPythonエージェントを接続したい場合は,
エージェントを5体設定ファイルに記述し,
agent=6
として,実行後Pythonエージェントをポート番号に従って接続してください.

■エージェントの記述
エージェントは,
名前,クラスパス,希望役職
と一行に記述します.ただし,希望役職は省略できます.省略した場合ランダムに役職が決まります.
名前は全てのエージェントが異なる名前を持つようにしてください.

エージェント以外の記述はすべて省略する,あるいは文頭に#を入れることで無効化することができ,
無効化されている場合はデフォルト値が使われます.

なお,AutoStarter.batまたはAutoStarter.shを見ていただければ分かるとおり,
org.aiwolf.ui.bin.AUtoStarterの引数を変更することで任意の設定ファイルを読み込むことも可能です.

AutoStarterの具体的なソースを見たい方は,
https://github.com/aiwolf/AIWolfViewer/blob/0.3.x/src/org/aiwolf/ui/bin/AutoStarter.java
をご覧ください.

Share

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です