点一张卡进那一场;离开「赛事」之前一直停在那一场,左上角「回场次墙」回到这里。红 = 现在处理(比赛进行中,采集断了 / 没开始 / 账号被别处登录),琥珀 = 需要看一下。只说要不要看、为什么,不做任何判定。
从表格导入名单
一次建好多场 + 发密码竖着排
组别选手A组爆哥A组陈浩然B组李明哲
横着排
A组B组爆哥李明哲陈浩然王思远
只有名字
爆哥陈浩然李明哲
按 8 人一场顺序切
还没选文件
认出来是这样
比赛类别
发号结果
密码只在这里显示一次,发给选手后关掉即可;忘了就在「账号」页点开那个人重置。场次建好后停在「等待开赛」,开赛由你自己按。
新建场次
创建后自动设为当前场次名单一行一个,也可以用逗号、顿号、分号隔开;从 Excel 粘一列或一行都行,名字中间的空格会留着
比赛类别
只有报名顺序就是喷漆顺序时才勾。这里的颜色是按名单顺序硬派的,不是从游戏里读的:顺序一变颜色就跟着变,照着认人会认错。
选手
提醒名单(复制的就是这些字)
只说要不要看、为什么,任一单项都不定性;结论由工作人员在选手页看过原始依据后写。APM、事件数、风险分、键位在每个人的详情里。
复核队列
其他场次
不用切过去也看得到本场局次
秒
正式版由分牌赛果自动登记;这里只在需要时手动补。
详情 读数带(复核排序 / L0 / L1 / 间隔 CV / 等间隔连串)· 会话编号与批次
证据逐项信号;只说看到了什么,任一单项都不定性
| 层级 | 信号 | 数值 | 含义 |
|---|
按下沿计数
| 键类 | 总次数 | 平均 / 秒 | 1 秒峰值 | 峰值时刻 |
|---|
峰值 = 任意 1 秒内按下次数最大值,按软件接收时刻计。这几个数与「技术动作」那一格的「按键频率」表同一口径、同一份帧,必然相等;下面的表格仍逐条列出收到的每一次上报,一条不少。
按住时段
横轴为时间,一行一个功能同时按下的组合
| 组合 | 次数 | 时间差中位 | 抖动(标准差) | 取值完全相同 | 按下顺序 |
|---|
| # | 标准时 | 功能 | 物理键 | 按住 | 距上次 | 通道 |
|---|
| 功能 | 选手自报 | 全局确认 | 本场按下 | 确认为(多键用 + 连接) |
|---|
| 功能键 | 按下 | 抬起 | 配对 | 中位时长 | 长按率(≥150ms) |
|---|
使用道具 / 三段:按下到抬起隔多久
本表描述已观察的使用道具与三段按压,不确认游戏效果。相近时长和连串不是人手极限或违规证明;先核对采集质量、正常操作及设备。
按键频率
含 1 秒滑动窗口峰值| 键类 | 总次数 | 平均 / 秒 | 1 秒峰值 | 峰值时刻 |
|---|
峰值 = 任意 1 秒内按下次数最大值,按软件接收时刻计。
按压时长
| 键类 | 配对 | 中位 | P90 | 最短 | CV | 长按率 |
|---|
快拉间隔分布
漂移相邻按下间隔
前进重按间隔
0–500 毫秒,10 毫秒一格;超过 500 毫秒的单列。只统计,不判定:这里只画分布,不划阈值线、不给合格区间。同一个人在不同弯道、不同车上的节奏本来就不是一条线。
逐秒按下次数
| 进程 | 是什么软件 | 分类 | 发布者签名 | 首次 / 末次出现 | 启动 / 退出 |
|---|
复核结论
| 场次 | 状态 | 选手 | 局 | 采集记录 | 创建 | 开赛 / 结束 |
|---|
点一行进去看那一场的采集情况。删场次不会删采集数据;要清数据在「设置 → 数据清理」。每位管理员各看各的场次,互不影响。
规矩:注入与规则线索进入人工复核;时序分数尚未由真实 PC 基线验证,采集质量问题不归责于选手。任何指标都不自动定性或处罚。选手看不到这里的任何内容。
从左侧队列里点开一位选手,证据与结论坞都在这一屏。
自检通过
| 选手 | 机器 | 键盘 | 游戏进程 | 版本 | 最近登录 |
|---|
没就绪
| 选手 | 卡在哪 | 机器 | 版本 | 最近登录 |
|---|
还没登录过
| 选手 | 批次 | 口令发放 |
|---|
「自检通过」= 登录过 + 设过键位 + 真的采到按键 + 认到了游戏进程。任一没满足就落到「没就绪」,那一列会写明差什么。某一场开赛前人齐没齐(还要看版本、采集器、多处登录),看赛事页那一场的开赛前就绪表。
账号
自检与版本
与验收页同一个结论登录与机器
去列表页 · 账号 ›这台电脑
登录后就上报的最新一份(选手端 0.6.6 起),以前的版本用最近一次开采时的快照 · 只给工作人员看| 变化时间 | 变了什么 |
|---|
| IP | 首次 | 末次 |
|---|
这个账号用过的机器
选手端 2.30.0 起:按 Windows 安装标识认(没有就按网卡 MAC)| 标识 | MAC | 内网 IP | 公网 IP | 有线 / 无线 | 首次 | 最近 | 登录次数 |
|---|
只用来看「是不是同一台电脑」:长期用同一台、某一场突然换了一台,结合手法一起看。换机本身有正常原因(换座位、笔记本带去现场),不单独说明任何事。
上线记录
最近 30 次 · 查代打看「有没有换地方上线」| 上线时间 | 来源 IP | 大致归属地 | 在线时长 |
|---|
归属地按 IP 离线查的,只能到城市/运营商这一级,仅供参考,不能当作精确定位。同一个网吧的选手 IP 会相同。
参加过的场次与会话
最近 20 次| 开始 | 场次 | 状态 | 风险 | 换机 | 赛道遥测 | 事件 |
|---|
风险是试验性的复核排序,不是结论;换机只是事实提示。点一行进这一场的分析页。
选手自报
工作人员确认的版本
只作标注,不覆盖选手自报| 版本 | 自何时起 | 确认人 | 键位 |
|---|
游戏昵称
去列表页 · 账号 ›这个人上传的指法样本
| 上传时间 | 动作名 | 标签 | 时长 | 事件 |
|---|
上传的日志
选手端传上来的运行日志,不含按键内容| 时间 | 大小 |
|---|
分牌后台的管理员从页签进来即为管理员,不需要在这里建号。
选手在线
| 状态 · 在做什么 | 账号 | 选手端 | 采集器 | 游戏 | 遥测 / 测试模式 / 诊断 | IP · 本次在线 |
|---|
在线的排在最上面(正在采集 / 比赛中、或者选手端报「卡住了」的再往前),离线的按最后在线从近到远。版本是选手端每次轮询自己带的;服务端刚重启、还没收到轮询的人显示账号上记的「上次记录」。点一行看这个人的档案。
选手账号 · 批量新增
登录名 = 名单上的名字;一次最多 200 人;先预览再确认| 登录名 | 预览 |
|---|
生成结果
| 登录名 | 密码 | 状态 |
|---|
口令同时弹在面板里(关掉才收起);之后也能在账号页「口令」一格点「显示」再看。
选手账号 · 批量操作
选中的账号:
| 登录名 | 批次 | 状态 | 遥测采集 | 计时赛 |
|---|
一次最多 200 人;每个人记一条审计。删除连同账号上的机器历史、上线记录一起删,不删采集数据(会话与遥测在「设置 → 数据清理」)。
新建工作人员账号
分牌后台的管理员从页签进来即为管理员,不需要在这里建号。
登录锁定
| 账号 | 来源 IP | 状态 | 操作 |
|---|
连续输错就会锁住这个「账号 + IP」的组合,锁上之后等一会儿自动解开。选手在现场等不及就在这里手动解除,不用改口令。
管理员自己被锁在外面时进不来这个页面,那种情况只能等——防爆破的底线,不留后门。
管理员自己被锁在外面时进不来这个页面,那种情况只能等——防爆破的底线,不留后门。
密码不落明文;账号文件只有服务本身能读。失败 8 次锁 10 分钟。左侧列表点开任一账号可重置、停用、删除。
两份样本对比
| 项目 | 左 | 右 |
|---|
00:00.000
这张表是两段记录的按键事实。只统计,不判定——不排名、不给合格线,也不是对采样人员或任何选手的评价。
标注与间隔分布
动作名、校验码、时长这些来自包体本身,后台改不得。
漂移相邻按下间隔
前进重按间隔
0–500 毫秒,10 毫秒一格;超过 500 毫秒的单列。只统计,不判定。
已收到的样本
| 对比 | 上传时间 | 采样人 | 动作名 | 标签 | 时长 | 事件数 | 大小 | 校验码 | 操作 |
|---|
样本只含采样人员设置过的功能键,和比赛数据分开存放,不进「数据清理」;不要的由管理员在这里删。下载回去的是原样的导出文件,带 SHA-256,可用随选手端的离线回放页逐条重算核对。
对外开关
默认关,只有管理员能改,开关变动会记一条审计。开着的时候任何人都能看到这一场选手当下按着哪几个功能键。接口字段与接入方式见 docs/观众实时键位接口-v1.md。
实时键位
只有「按住 / 抬起」。不含物理键名、扫描码、设备、地址、账号,也不含任何统计、采集质量、风险或结论。引擎说未知的键一律当没按着显示,不猜、不补。
本后台
数据规矩
数据长期保存,由工作人员在「数据清理」手动清理;计时赛成绩在「计时赛」页逐把删。
风险分只决定复核顺序;任一单项不定性;结论由工作人员署名给出。
风险分只决定复核顺序;任一单项不定性;结论由工作人员署名给出。
版本与更新记录
每个版本在 git 里都有标签和说明(仓库 CHANGELOG.md),这里读的就是那份。判定口径的改动一律走版本,不在后台改参数。
遥测采集
开了「遥测采集」的账号,选手端从服务器取采集器,比赛时自动采赛道遥测(选手端不用再手动打开)。单个账号在选手档案里开关,几个人一起在「账号 → 批量操作」里开关。
只有管理员能改;每改一个账号记一条审计。
游戏进程名单
只有这些进程在前台时才记录按键。改完保存,选手端下一次轮询(5 秒内)就生效,不用重装。
不确定进程名叫什么:让选手打开游戏,在选手端「采集」页那行「未检测到游戏窗口」后面会写着当前前台是什么,照抄过来即可。
不确定进程名叫什么:让选手打开游戏,在选手端「采集」页那行「未检测到游戏窗口」后面会写着当前前台是什么,照抄过来即可。
窗口类名(可不填):前台窗口的类名对上这里任一个,也算游戏在前台。游戏大更新(比如换成 64 位)以后 exe 名变了、一时说不准时用;不填就只看上面的进程名。
选手端日志上传:调试期设成「自动」,选手那边一有问题日志就传上来;测完改成「只手动」或「关闭」。日志里只有程序自身的运行记录,没有任何按键内容。
采集方式:标准(默认,正常别动)= 键盘钩子 + 设备通道。2026-09-07 实测:钩子每次按键只花 0.064 毫秒,约 144Hz 一帧的百分之一,不是卡顿的原因(见 docs/研究-键盘钩子成本与替代方案-2026-09-07.md)。
省资源 = 应急开关:只用设备通道,软件宏(注入类)就查不出来了,厂商虚拟键盘的宏与时序统计仍在。只有在标准模式下复测、确认那台机器仍然卡时才用;用了之后该场次的注入类结论不成立,后台会如实标注。改完对下一次开始的采集生效。
省资源 = 应急开关:只用设备通道,软件宏(注入类)就查不出来了,厂商虚拟键盘的宏与时序统计仍在。只有在标准模式下复测、确认那台机器仍然卡时才用;用了之后该场次的注入类结论不成立,后台会如实标注。改完对下一次开始的采集生效。
名单不能清空——空名单等于永远不开始采集。
选手端下载
把链接发给选手即可;装过的选手端会自己在线更新(收进托盘且不在采集时自动换新,安装版与绿色版都一样)。
读取中…
读取中…
读取中…
读取中…
数据清理(手动)
数据长期保存,这里只在需要时手动清理。采集中的会话一律不会被删;删除不可恢复。复核结论记录会保留。「超过 N 天」也会删超过 N 天的选手端日志与 KartData 导入结算;计时赛成绩不在这里清理。
整理存储(无损)
仅管理员可执行只换存法、不删任何数据:每个数字、字段、按键事件都原样保留,读出来与原文逐字节一致。每一份都先还原比对,一处对不上就保留原文件不替换。采集中的不碰;遥测在会话封存满 25 小时后才整理。在后台限速进行,有人比赛时自动放慢,可以随时停下、下次接着做。
访问审计
| 时间 | 谁 | 动作 | 对象 | 来源 |
|---|
只记「谁看了谁的什么数据」,不记数据本身。每天的备份会把链头带到机器之外,用
backup.js audit-anchor 核对历史有没有被改过。