两天极限速成 PC² 记

6月29日试机,30日正式比赛,27日晚上才开始接触 PC²,实在是不够尊重这台庞大的机器😊中途真的是问题不断,这里稍微列一些坑点和 best practice 留给后辈看看吧。

首先是万物之源:PC² Documentation 和 FAQ。Documentation 虽然长,其实很多都是可以跳过的,通读一遍对 PC² 整体的运行原理的理解还是很有帮助的。一些没在 Documentation 中注意到的问题可以去看看 FAQ,会有惊喜:P

再来介绍下 PC² 的整体结构吧。PC² 主要有这么几个用户:server / admin / judge / scoreboard / team。大多数都能顾名思义来理解。嗯。全部都能顾名思义,就不解释了。一些可能混淆的地方说一下:首先 server 做的事情主要是处理和分发所有其他用户的请求,以及开始和停止比赛(也就是跟比赛控制有关的一些事情),admin 的主要任务就是配置比赛(时间、用户信息、题目、语言),但是也能开始和停止比赛,也能处理一些评测(judge 的工作)。

这两天被 PC² 坑的惨的有几点。一点是 PC² 中几乎没有删除操作,一般只有加入,要删除很多情况下只能重建比赛。第二个坑点就是重建比赛。PC² 里面要重建比赛不能靠重启 server 来进行,和一场比赛配置直接挂钩的是 admin 管理的 profile,一个 profile 直接对应一场比赛。不错的一点是 profile 支持克隆,测试比赛的时候可以先开比赛把所有题交一遍,然后直接克隆 profile,选择不继承提交记录来获得一场全新的比赛。

现在是30日1:19,8:30就要开始比赛了,小命要紧,想到其他的坑点以后再写,顺便祝愿比赛顺利🙏