For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /guide/features/scoring.md.

计分系统

CBCTF 支持三种计分类型,可在比赛中对每个 flag 独立配置。

计分类型概览

类型特点
静态分数固定分值,不随解题人数变化
线性分数每多一人解题,分数线性递减至下限
对数分数界面名称为“对数”,实际公式为指数衰减,逐渐接近最低分

参数说明

参数默认值说明
score1000初始分值;下文公式记为 Score
min_score100分数下限;下文记为 MinScore
decay100通过界面加入比赛时的初值;下文记为 Decay

score_type 为 0(静态)、1(线性)、2(对数)。solvers 指成功解出该 Flag 的队伍数,不是队员人数。所有计算结果先限制到最低分,再截断到小数点后两位;即使静态计分也受最低分约束。

计分类型

静态分数
线性分数
对数分数

静态分数

score = Score

分数固定不变,不受解题人数影响。

示例:Score=500,无论多少人解题,每人得 500 分。

适用场景:难度固定的题目,或不希望使用动态计分的比赛。

三血奖励(Blood Bonus)

当比赛的 blood 字段启用时,首血、二血、三血额外获得初始分的奖励:

名次奖励比例示例(Score=1000)
首血+5%+50 分
二血+3%+30 分
三血+1%+10 分

奖励基于 Score(初始分值),与当前实际得分无关。

多 Flag 题目

每道题可配置多个 flag,每个 flag 独立设置计分类型和参数,每个 flag 独立计分。

成功提交时会更新该 Flag 的当前分数、当前队伍得分和提交记录;周期任务继续校准其他队伍总分与排名,因此不同视图的更新不保证在同一时刻完成。

分数重算

平台通过定时任务进行分数重算,可在定时任务管理中配置运行间隔,以及是否在服务器启动时立即执行一次。