通信対局規約
TCP/IP上でNNGSに改変を加えたものを使って対局するものとする。
1.ネットワーク環境
- 会場にはネットワークケーブル(RJ-45 モジュラージャック)が準備される。 参加者は、そのネットワークケーブルを用いて計算機をネットワークに接続する。
- IPはDHCPで割り当てられる。ただし、ネットワーク環境の不具合によってDHCPによるIPの 割り当てが困難な場合には手動でIPを設定していただくことがある。
2.対局サーバ
- 対局サーバはNNGS 1.1.22をベースに修正を施したものを使用する。
3.プロトコル
- 通信対局にはNNGSを拡張したプロトコルを用いる。なお、マッチング及びゲームの開始は、AI竜星戦2018と同様に管理者が操作する。
参加者が使ってよい命令は下記の5種類に限る。- ログイン・ログアウトのための通信
[ユーザ名, パスワードの送信, "quit"コマンド] - 対局のための通信
[石を打つ位置の指定, "pass"] - 表示を簡略化するための命令
["set client FALSE", "set verbose FALSE"] - 残り時間を問い合わせる命令
["time"] - 対局を終了する命令
["done"]
この種類以外の通信を行い、サーバまたは相手方に問題が生じた場合には、 処罰の対象になることがあるので注意すること。
管理者が対局開始するために、以下のコマンドが用意されている。
- ログイン・ログアウトのための通信
- 対局を開始するための通信
["adminmatch"コマンド]
テスト期間中のみ管理者用の”admin”アカウントからテスト対局を開始することができる。この期間中は、パスワードadminでログインできるように する。このコマンドを自由に使っても良いが、本番では”admin”アカウントにパスワードをかけるので、本番中については、管理者以外使うことはできな い。
コマンドは以下のように使うこと。
player1とplayer2にログインした状態で、”admin”アカウントで以下のように入力する。
"adminmatch <player1> <player2> <color> 19 <minutes> <seconds>"
例えば、alpha対betaを、持ち時間30分、秒読み無しで、alphaの黒番で始めるには
"adminmatch alpha beta b 19 30 0"
となる。
4.終局手順
- 連続して2回サーバが"pass"を受け取った場合に対局は停止するが、その後の死に石の情報を送信する手順は無視する。(行う必要はない)。各プレイヤは対局の停止の直後に"done"を送信する。なお、勝敗は前述の「対局ルール」の中の「4.対局のルール及び、終局と勝敗の決定」に基づいて決められている。
5.テストサーバ
- 本番で使用するサーバはテスト用に以下のように公開する。 プログラムの動作チェックをすることを強く推奨する。
サーバ:3.135.20.132
ポート:9696 - GTPで動くプログラムであれば、下の2つのいずれかを用いてNNGSに接続することが可能である。
Windows
cgfgoban109.zip CGF碁盤。AI竜星戦に接続可能なオプションを追加
Linux, Windows
GTP_20180715.tar.gz 2018年AI竜星戦、2019年UEC杯のadminmatchを利用するrubyスクリプト。
- 大会前日までテストが可能である。CGF碁盤を用いて対局するには
0. 「設定(C)」「GTPの設定(G)」「GTP engine full path」に 「c:\go\gnugo\gnugo.exe --mode gtp」 でGTPで動くあなたのプログラムを登録。
1. 「対局開始」で「Black」を Computer(GTP)、「White」をLAN(nngs)。
2. 「AI Ryusei」にチェック。IP(URL)には 3.135.20.132
3. Login Name は「Black」に test1 「White」に test2
4. 「Sudden death time limit」 は 30
5. 「Board Size」 19 「Komi」 6.5 「Handicap」 None
6. 「OK」
7. CGF碁盤を新たに起動して、
8. 「対局開始」で「Black」を LAN(nngs)、「White」を Computer(GTP)。
9. それ以外は (2)-(6) と同一。
10. telnetをインストール。
11. 「スタート」「Windowsシステムツール」「コマンドプロンプト」
12. telnet 3.135.20.132 9696
13. 「Login」 admin 「Password」 admin
14. who で test1 と test2 がログインしているのを確認
15. adminmatch test1 test2 b 19 30 0
16. これでtest1が黒番で対局が開始されます。