Skip to main content

现场赛指南


现场赛指南

本指南适用于希望进行线下赛,在内网部署评测设施的用户。
以下日期排期仅供参考,具体可根据实际情况自行安排。

本文部分内容同样适用于 DOMJudge。

Day -1 准备工作

请检查下述列表是否均按需求配置完成:

关于选手机设置:

  • 选手机预装了 Linux 系统,并有对应的开发环境。
  • 推荐使用 CAICPC 作为安装镜像,直接选择第二项启动选项即可一键安装。
  • 选手机均连接到内网,且选手机之间无法互相访问,但可以访问公网服务器(若使用的路由器不支持该功能可以在选手机使用 iptables 拦截其他流量)。
  • 可使用 DHCP 配置选手机网络,但需保证地址租期足够长(推荐七天)。

关于服务器设置:

  • 服务器使用固定 IP,并可以访问内网中任何设备(含选手机);
  • 服务器安装了较新内核的 Linux 系统。已知旧版本的内核在高负载的情况下可能出现锁死的问题 详情open in new window

关于 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: 滚榜设置