分散サーバの動かし方

Top > HOW-TO run distributed server $Date: 2003/02/09 06:47:19 $ GMT SourceForge.jp

1. このドキュメントについて

このドキュメントでは、分散サーバの動かし方を解説します。ローカルで動作する中央サーバに、ローカルで起動した分散サーバを接続して動作させます。

ステップ

  1. 分散サーバの登録
  2. ユーザをサイト管理者に昇格
  3. 起動スクリプトと設定ファイルの準備
  4. リーグの作成
  5. 分散サーバの起動

1.1. 前提条件

2. 分散サーバの登録

分散サーバを実行するには、中央サーバに登録しなくてはなりません。現在のところWebインターフェースで登録する機能がありませんので、直接DBに書き込む必要があります。

まずはmysqlクライアントを起動します。

D:\workspace\schema>mysql -urumbleuser -probo rumblejp
rumbleuserroboはセットアップ時に作成したユーザとパスワードです。

次に、以下のようにして分散サーバを登録します。

mysql>insert into machines (hostname, password)
    ->values ('hostname', password('password'));
Query OK, 1 row affected (0.37 sec)
2行目のhostnamepasswordは任意に決めてください。mysqlクライアントはこのまま起動させておいて、次のステップに進みます。

3. ユーザをサイト管理者に昇格

リーグを作成するために、サイト管理者を作成する必要があります。ここでは、すでに登録されているユーザをサイト管理者に昇格させます。
mysql>update users set admin = 1 where login_id = 'nickname';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>quit
Bye
ここで、nicknameは、昇格させるユーザのニックネームです。

ニックネームがわからないときなど、ユーザの一覧を表示させたい場合は、

mysql> select * from users;
とすると、一覧が表示されます。

4. 起動スクリプトと設定ファイルの準備

checkoutしたrumble-jpディレクトリの下にsampleディレクトリがあります。そこからserver.batとdistribute.propertiesをbuild\distributeにコピーしてください。

そして、distribute.propertiesのhostnameとpasswordの行に、「2. 分散サーバの登録」で設定したhostnamepasswordを書き込んでください。

endpoint.battles=http://localhost:8080/rumblejp/soap/Battles
robotdownload.url=http://localhost:8080/rumblejp/robots/robotpack.zip
hostname=hostname
password=password

5. リーグの作成

「3. ユーザをサイト管理者に昇格」で昇格させたユーザがサイトにログインすると、メニューに「新規リーグ作成」という項目が現れます。設定項目はご覧いただければわかると思いますので、説明は省略します。項目を設定したら「送信」ボタンを押します。

テストを行う場合、「Rounds per grouping」は小さめにしておいたほうが早くシーズンが終了します。

6. 分散サーバの起動

build\distributeディレクトリでserver.batを起動します。

15:35:46,956 INFO  [AugmentedRobocodeEngine] Checking new robot.
No robocode.properties file, using defaults.
Building robot database.
15:35:51,633 INFO  [AugmentedRobocodeEngine] RobotSpecs:2
15:35:51,633 INFO  [AugmentedRobocodeEngine] rumblejp1.abc.Tron_1.2.jar
15:35:51,633 INFO  [AugmentedRobocodeEngine] rumblejp1.cx.ChookMT_0.91.jar
15:35:52,324 INFO  [Server] Distribute server started.			←ここで起動OK
15:35:52,324 INFO  [Server] Check new battle.
15:35:55,509 INFO  [Server] Battle start.				←ここで中央サーバとの通信OK
15:35:55,509 INFO  [AugmentedRobocodeEngine] Checking new robot.
rumblejp1.cx.ChookMT_0.91.jar
rumblejp1.abc.Tron_1.2.jar
Preparing battle...
15:35:55,619 INFO  [AugmentedRobocodeEngine] wait for battles end.	←ここでバトル開始OK
----------------------

Let the games begin!
Round 1 cleaning up.
----------------------

Let the games begin!
Round 2 cleaning up.
15:36:02,408 INFO  [AugmentedRobocodeEngine] battle completed.
15:36:02,408 INFO  [AugmentedRobocodeEngine] battle end.
226
85
15:36:03,730 INFO  [Server] Battle start.			←ここでバトル結果の送信と、次のバトルの取得完了
15:36:03,730 INFO  [AugmentedRobocodeEngine] Checking new robot.
...
以上のように表示されれば正常に分散サーバが起動しています。

終了させるときは、Ctrl-Cなどで終了させてください。


Top > HOW-TO run distributed server