现场赛指南
现场赛指南
本指南适用于希望进行线下赛,在内网部署评测设施的用户。
以下日期排期仅供参考,具体可根据实际情况自行安排。
本文部分内容同样适用于 DOMJudge。
Day -1 准备工作
请检查下述列表是否均按需求配置完成:
关于选手机设置:
- 选手机预装了 Linux 系统,并有对应的开发环境。
- 推荐使用 CAICPC 作为安装镜像,直接选择第二项启动选项即可一键安装。
- 选手机均连接到内网,且选手机之间无法互相访问,但可以访问公网服务器(若使用的路由器不支持该功能可以在选手机使用 iptables 拦截其他流量)。
- 可使用 DHCP 配置选手机网络,但需保证地址租期足够长(推荐七天)。
关于服务器设置:
- 服务器使用固定 IP,并可以访问内网中任何设备(含选手机);
- 服务器安装了较新内核的 Linux 系统。已知旧版本的内核在高负载的情况下可能出现锁死的问题 详情;
关于 CAICPC 镜像:
- 本镜像基于标准 ICPC 镜像修改而来。
- 添加了状态上报,用于统一监测服务器状态;
- 支持调用 VLC 截取屏幕和摄像头流供 live 模块使用;
- 支持批量下发管理命令(一键锁屏/解锁/重启/显示座位号等等);
Day 0 准备工作
- 使用安装脚本安装 Hydro。
- 导入所需的比赛用户。
- 安装
@hydrooj/onsite-toolkit
插件。 - 参照
https://github.com/hydro-dev/xcpc-tools
说明安装独立模块。 - 由志愿者打开所有选手机桌面上的 seat.txt 文件,填入座位号,保存,后台所见座位号应当同步刷新;
- 如果需要根据座位号自动登录,此时导出 IP/队伍 表,在 onsite-toolkit 设置中填入。
- 准备完成后,批量修改选手机为强密码!!!
// TODO: tools 配置
关于打印:
- 打印功能在
xcpc-tools
中配置。 - 在 server 端新建一个打印机 token,在赛场旁摆放一台电脑,安装对应的打印机驱动,以 client 模式运行
xcpc-tools
,填入 token,即可连接。 xcpc-tools
会自动抓取打印任务自动打印,默认每个文件最多打印五页,队伍名称和座位号会在纸张顶部。
关于气球:
- 气球通常由小票机进行打印。每当有队伍通过题目时,会打印一张小票;
- 小票内含队伍名,座位号,气球颜色,该队伍当前的所有气球颜色等信息,志愿者拿到小票后根据其上内容分发气球。
关于自动登录:
启用后,在地址列表的用户均会自动登录上指定的对应账户,用户不可重新登录,不可登出,不可在其他 IP 登录。 操作前请确认列表中不含管理员账号和管理员所使用的机器 IP !
可选:
- 安装 grafana 和 netdata 用于监测服务器运行状态
以及给领导展示;
Day 1 热身赛
热身赛通常使用至少一道可以反复提交爆破的题目,引导选手大量提交,测试服务器负载情况。
Day 2 正式赛
- 如果需要发气球请提早给气球打气(通常比赛的前一小时气球组会非常忙)
- 记得给打印机补纸,小票机同理。
// TODO: 滚榜设置