CSAプロトコル対応サーバーとのネットワーク対局
サーバーの接続先と、こちら側の対局者を設定します
「対局」→「通信対局(CSA)…」を選ぶと、通信対局ダイアログが開きます。対局や解析をしていないときに使えます。
| こちら側の対局者 | 自分で指す場合は「人間」、USIエンジンに指させる場合は「エンジン」を選びます。エンジンは「設定」→「エンジン設定」で登録したものから選び、「エンジン設定...」でオプションを変更できます。 |
| 履歴から選ぶ | 以前に接続した接続先(最大10件)を選ぶと、接続先ホスト・ポート番号・ID・接続方式が入力されます。パスワードは毎回入力します。 |
| プロトコル | CSAプロトコル1.2.1で接続します。 |
| 接続先ホスト・ポート番号 | サーバーのホスト名またはIPアドレスと、ポート番号(既定は4081)です。 |
| ID・パスワード | サーバーにログインするIDとパスワードです。IDは英数字・「_」・「-」で32文字以内、パスワードは半角32文字以内です。パスワードは設定ファイルに保存されません。 |
| 接続方式 | 通常のCSA(平文):既定の接続方式です。通常のshogi-serverやfloodgateにはこちらを選びます。localhost・IPアドレス・外部ホスト名を使用できます。 TLS(暗号化):TLS対応のCSAサーバー、またはTLS終端プロキシがある場合に選びます。サーバー証明書とホスト名を検証し、検証や接続に失敗しても平文へ自動で切り替えません。 |
| 「詳細」タブ:接続の維持 | 「対局中に空行を送って接続を維持する」(既定40秒間隔)と「TCPキープアライブを使う」で、長考中に通信が切れるのを防ぎます。「思考時間の余裕」は、通信の遅延に備えてエンジンに渡す持ち時間から差し引く秒数です。 |
| 「詳細」タブ:対局 | 「対局数」「終局後にサーバーが切断したら再接続して次の対局を待つ」「後手のときは盤を反転する」「棋譜の自動保存」(手順8)と、shogi-serverの「ゲーム名」「手番の希望」(手順2)を設定します。 |
通常のCSAではID・パスワード・対局内容が暗号化されずに送信されます。他のサービスと同じパスワードを使用しないでください。この注意は、設定画面でも通常のCSAを選んだときに表示されます。
接続方式は設定と接続履歴に保存されます。保存済みのTLS設定はそのまま復元されるため、通常のshogi-serverを使う場合は「通常のCSA(平文)」を選び直してください。
入力が足りない項目があると、ダイアログの下に「接続先ホストを入力してください。」のような案内が表示され、「接続」は押せません。接続先ホスト・ID・パスワードに空白は使えません。
通信対局ダイアログ:ローカルのshogi-serverに人間として接続する設定
TLSの設定例:TLS対応サーバーのホスト名と、管理者が指定したポート番号を設定します(画像のホスト名は説明用)
「詳細」タブ:接続の維持、対局数、棋譜の自動保存、shogi-serverのゲーム名
持ち時間などの対局条件はサーバーが決めるため、ShogiBoardQでは設定しません。shogi-serverでは、「詳細」タブの「ゲーム名」にゲーム名を入力します(パスワード欄に「ゲーム名,パスワード」と入力する方法も使えます)。同じゲーム名でログインした2人が対局します。
| ゲーム名 | 「名前-持ち時間-秒読み」の形式で、時間は秒単位です。例:test-600-10 は持ち時間10分・秒読み10秒 |
| 加算(フィッシャー) | 末尾に F を付けると、秒読みの代わりに1手ごとに時間を加算します。例:test-300-10F |
| 先手・後手の希望 | 「手番の希望」で先手・後手を選びます。ゲーム名の後に -B(先手)または -W(後手)を付ける書き方も使えます。例:test-600-10-B,pw |
自分のパソコンでshogi-serverを動かしている場合は、接続先ホストに localhost または 127.0.0.1、サーバーの待受ポート(既定は 4081)、接続方式に「通常のCSA(平文)」を指定します。通常のshogi-serverへ直接TLS接続することはできません。
floodgateの公式接続案内に従って、次のように入力します。アカウント登録は不要です。
| 接続先ホスト | wdoor.c.u-tokyo.ac.jp |
| ポート番号 | 4081 |
| 接続方式 | 通常のCSA(平文) |
| ID | 他の参加者と重ならない固有のID |
| パスワード | floodgate-300-10F,trip の trip を自分専用の文字列に置き換えます。パスワード欄全体を半角32文字以内に収めてください。 |
| 「詳細」タブ | この入力方法では「ゲーム名」を空欄にし、「手番の希望」は「指定なし」にします。 |
ログインして待機すると、毎時0分・30分に対局が組まれます。持ち時間は5分、1手ごとに10秒加算です。連続対局には「対局数」を2局以上または無制限にし、「終局後にサーバーが切断したら再接続して次の対局を待つ」を有効にします。
floodgateの入力例:通常のCSAを選択し、パスワードは伏せて表示しています
サーバーにログインし、対局相手を待ちます
「接続」を押すと待機画面が開き、サーバーへの接続、ログイン、対局相手の待機と進みます。保存していない棋譜がある場合は、先に破棄してよいかの確認が表示されます。
対局相手が見つかるとサーバーから対局条件が届き、自動で同意して対局が始まります。「対局キャンセル」を押すと待機をやめ、ログアウトします。
待機画面:ログインに成功し、対局相手を待っている
「通信ログ」を押すと、サーバーとの送受信を表示するウィンドウが開きます。▶は受信、◀は送信した行で、LOGIN のパスワードは「*****」と表示されます。
接続中は下の欄にコマンドを入力し、Enterキーまたは「送信」でサーバーへ送れます。ログは最大5000行まで保持します。
通信ログ:ローカルサーバーへログインして待機中。送信したパスワードは伏せられます
通常の対局と同じ画面で指し手を進めます
人間で対局する場合は、自分の手番に盤上の駒をクリックして指します。相手の指し手はサーバーから届いて盤面に反映され、棋譜欄に指し手と消費時間が記録されます。対局時計にはサーバーから届いた持ち時間が表示されます。
画面下の「CSA通信ログ」タブでは、送受信の内容と接続状態を確認できます。「コピー」でログ全体をコピー、「クリア」で表示を消去でき、入力欄からコマンドを送ることもできます。「対局情報」タブには対局者名とサーバーの持ち時間が記録されます。
対局中:CSA通信ログタブでサーバーとの送受信を確認しながら対局
こちら側の対局者を「エンジン」にすると、エンジンがサーバーの持ち時間に従って自動で指します。思考・USI通信ログ・評価値グラフも通常の対局と同じように表示されます。
「対局」→「すぐ指させる」で、エンジンの思考を打ち切ってその時点の最善手を指させます。エンジンが投了するとサーバーへ投了を、入玉宣言するとサーバーへ宣言を送ります。
自分の手番に「対局」メニューの「投了」「中断」「入玉宣言」を選ぶと、サーバーへ送信します。入玉宣言は確認のあとで送ります。相手の手番では送れません。
勝敗、時間切れ、入玉宣言の成否はサーバーが判定します。画面の時計が0になっても、サーバーが終局を伝えるまで対局は続きます。中断に対応していないサーバー(shogi-serverなど)では、中断が反則と判定されることがあります。
対局が終わると結果と原因が表示され、棋譜欄に終局(「▲投了」など)が記録されます。「詳細」タブの「終局時に棋譜を自動保存する」を使うと、保存先フォルダに自動で保存されます。使わない場合は「ファイル」メニューから保存してください。終局後は棋譜を再生したり、次の通信対局を始めたりできます。「対局数」を2局以上または無制限にすると、終局後もログインしたまま次の対局条件を待ちます。「終局後にサーバーが切断したら再接続して次の対局を待つ」を使うと、shogi-serverのように終局で切断するサーバーでも続けて対局できます。
対局中に通信が切れた場合や、エンジンが指し手を返せなくなった場合は「中断」として対局を終えます。
終局:結果「負け」、原因「投了」
CSAプロトコルに対応したサーバーで通信対局できます
接続方式とサーバーの設定を確認してください
| 症状 | 確認・対処 |
|---|---|
| SSLハンドシェイクエラー/wrong version number | 平文CSAのサーバーにTLSで接続すると発生します。通常のshogi-serverやfloodgateでは「通常のCSA(平文)」を選択します。 |
| TLS証明書の検証エラー | TLS対応サーバーのホスト名、証明書の有効期限・信頼性を確認してください。証明書の問題はサーバー管理者に確認します。 |
| 接続が拒否される/タイムアウトする | サーバーの起動、ホスト・ポート、ファイアウォールを確認してください。localhostはShogiBoardQを実行しているPC自身を指します。 |
| ログインできない/相手が見つからない | ID・パスワードとゲーム名を確認します。floodgateでは固有のIDと専用のtripを使い、組み合わせ時刻まで待ちます。 |