# 配置 Cardinal

第一次运行 Cardinal,检测到无配置文件,命令行向导将带领您填写各项配置。

# 命令行向导

  1. 选择安装时的语言。

TIP

这里的语言选择仅为安装页面显示的语言,与 Cardinal 系统语言配置无关。

  1. 比赛名称

  2. 比赛开始时间、结束时间

TIP

关于比赛中途的暂停时间段配置,请参阅暂停时间段

  1. 每轮长度

TIP

每轮结束后,会进行分数的计算以及排行榜的更新。同时会根据开始时间、结束时间、每轮长度,计算出总共有多少轮,并生成对应的 Flag。

  1. 后端服务端口号

  2. Flag 前缀、后缀

  3. 每次 Checkdown 扣分

  4. 每次攻击得分

TIP

以后可能会实现每道题目不同的攻击得分与 Checkdown 扣分。

  1. 数据库配置

# 自动生成的文件夹

第一次运行时,会在程序二进制目录下自动生成三个文件夹。

  • uploads 用于存储平台上传的文件,现为队伍 Logo 图片。
  • conf 配置文件存储目录。
  • locales 不同语言的翻译文件。

# 暂停时间段

在实际举办比赛时,很多比赛往往会持续两天或更久。

当天比赛结束后,比赛平台要自动暂停比赛,禁止提交 Flag 以及相关分数操作。 在 Cardinal 中,你可以手动在Cardinal.toml配置文件里设置比赛的休息区间。

配置文件中的RestTime字段可以用来设置比赛休息区间。

RestTime=[
    # [From, To]
    ["2020-02-16T17:00:00+08:00", "2020-02-17T08:00:00+08:00"],
]

以上配置的意思为:从 2020 年 2 月 16 日 17 点到第二天的早上 8 点为比赛暂停时间。 设置了该值后,平台将会重新计算轮数信息。

关于RestTime,有如下几点需要注意:

  • RestTime 字段为数组,因此可以填写多个暂停区间。
  • 前后两个暂停区间的开始时间,需要按照时间顺序来填写。
  • 若出现不合理的数据,例如:暂停区间在比赛开始时间前;在比赛结束时间后;暂停区间前面的时间晚于后面的时间等,Cardinal 会检测出来并给予详细的报错信息。