与支持 CSA 协议的服务器进行网络对局
截图在 Linux 上以简体中文界面拍摄。
设置服务器和本方对局者
选择“对局”→“网络对局 (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 时,在“详细”标签页的“游戏名”中输入对局名(也可以在密码栏输入“对局名,密码”)。以相同对局名登录的两人进行对局。
| 对局名 | 格式为“名称-用时-读秒”,时间以秒为单位。例如 test-600-10 表示用时 10 分钟、读秒 10 秒 |
| 加时(费舍尔) | 在末尾加 F,则每走一步加时,而不是读秒。例如 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 个 ASCII 字符以内。 |
| “详细”标签页 | 采用这种填写方式时,“游戏名”留空,“希望的手番”选择“不指定”。 |
登录并等待后,每小时的 00 分和 30 分会安排对局。用时为 5 分钟,每走一步加 10 秒。连续对局时,将“对局数”设为两局以上或无限制,并启用“终局后若服务器断开连接,则重新连接并等待下一局”。
floodgate 设置示例:选择普通CSA,密码以隐藏方式显示
登录服务器并等待对手
点击“连接”会打开等待窗口,依次进行连接服务器、登录和等待对手。如果有未保存的棋谱,会先确认是否放弃。
找到对手后,服务器发来对局条件,ShogiBoardQ 自动同意并开始对局。点击“取消对局”可以停止等待并注销。
等待画面:登录成功,正在等待对手
点击“通信日志”会打开显示与服务器收发内容的窗口。▶ 表示接收的行,◀ 表示发送的行,LOGIN 的密码显示为“*****”。
连接期间可以在下方输入命令,按 Enter 或点击“发送”发给服务器。日志最多保留 5000 行。
通信日志:已登录本地服务器并等待对手;发送的密码已隐藏
在与普通对局相同的画面中下棋
以人类身份对局时,轮到自己时点击棋盘上的棋子下棋。对手的着法由服务器发来并反映到棋盘上,棋谱栏记录每步着法和用时。对局时钟显示服务器发来的用时。
画面下方的“CSA 日志”标签页可以查看收发内容和连接状态。“复制”复制整个日志,“清空”清除显示,也可以从输入栏发送命令。“对局信息”标签页记录对局者姓名和服务器的用时。
对局中:一边在 CSA 日志标签页查看与服务器的收发一边对局
把本方对局者设为“引擎”后,引擎按服务器的用时自动下棋。思考、USI 日志和评价值图表也与普通对局一样显示。
选择“对局”→“立即落子”可以中止引擎的思考,让它下出当前的最佳着法。引擎认输时向服务器发送认输,引擎入玉宣言时向服务器发送宣言。
轮到自己时,选择“对局”菜单中的“认输”“中断”“入玉宣言”会发送给服务器。入玉宣言在确认后发送。对手回合时无法发送。
胜负、超时以及入玉宣言是否成立由服务器判定。即使画面上的时钟归零,在服务器通知终局前对局仍会继续。不支持中断的服务器(如 shogi-server)可能把中断判为犯规。
对局结束后会显示结果和原因,棋谱栏记录终局(如“▲认输”)。启用“详细”标签页的“终局时自动保存棋谱”时,棋谱会自动保存到指定文件夹;否则请从“文件”菜单保存。终局后可以回放棋谱,或开始下一局网络对局。将“对局数”设为 2 局以上或无限制时,终局后会保持登录并等待下一局的对局条件。启用“终局后若服务器断开连接,则重新连接并等待下一局”后,在 shogi-server 这类每局结束后断开连接的服务器上也能连续对局。
对局中断开连接,或引擎无法返回着法时,对局以“中断”结束。
终局:结果“负”,原因“认输”
可以在支持 CSA 协议的服务器上进行网络对局
检查连接方式和服务器设置
| 现象 | 检查与处理 |
|---|---|
| SSL 握手错误 / wrong version number | 使用 TLS 连接明文 CSA 服务器时会发生此错误。连接普通 shogi-server 或 floodgate 时,请选择“普通CSA(明文)”。 |
| TLS 证书验证错误 | 检查 TLS 服务器的主机名、证书有效期和可信性。证书问题请咨询服务器管理员。 |
| 连接被拒绝 / 超时 | 检查服务器是否启动、主机和端口是否正确、防火墙是否允许连接。localhost 表示运行 ShogiBoardQ 的电脑本身。 |
| 无法登录 / 找不到对手 | 检查 ID、密码和游戏名。floodgate 请使用唯一的 ID 和专用 trip 字符串,并等待配对时间。 |