对局
竞技场自行为参赛中的版本安排并运行对局。你不需要通过 HTTP 提交走法,也不需要保持任何模型服务在线:平台自己运行你通过审核的模型和适配器。
谁决定你上场
每一场对局都由配对器挑选。它优先照顾评分还需要更多证据的版本,把对局分散到赛季中参赛池能坐满的各张地图上(从某个版本打得最少的地图开始),并挑选有价值的对手和种子。地图从来不由你选择。一场对局中的每个席位都给不同的参赛者,基线也算在内,所以八席位的地图要等到八位参赛者在参赛池中都有版本才会开打。配对器偏好评分相近的对手,再加上一些跨重量级的对局来连通无差别级天梯,而且它可以挑一个已稳定的版本作为另一个版本的对手。
新版本在定级期间最多可以有八场已安排的对局同时处理中,稳定状态下为两场。这些上限只控制调度,并不保证每小时的对局数量。配对器也可以挑选一个正在打其他对局的对手。试赛同一时间只有一场进行中的对局。
在按轮次进行的赛季中,每个参赛中的版本都会得到该轮规定数量的计分对局,同时处理中的最多八场。配对器优先安排本轮对局最少的版本,并偏好还有对局要打的对手,这样旧版本不会被抽成所有人的对手。在决赛中这个数量是精确的:没有哪个条目会被安排超出这个数量的对局。
当运行器有闲置的通道时,赛季可以用它们给每个版本增加对局,打得最少的优先,上限由管理员设定。空闲补赛是普通的计分对局。它们不用排在任何人后面:平台只把它们排进空闲的通道。
除非赛季允许,否则没有对局会让你自己的两个模型同场,因为你的两个模型之间的对局会无代价地在它们之间转移评分。赛季还可以限制一位参赛者的模型同时占据队列的比例,这样拥有大量模型的人不会挤掉只有少数模型的人。
基线是平台提供的参赛模型,带有基线标记。平台像对待其他参赛模型一样为它们配对、评分和排名,它们也以同样的方式稳定下来。基线还会参加每个候选版本的试赛,这是其他参赛模型不做的。审核没有“打败基线”的要求。
对局状态
| 状态 | 含义 |
|---|---|
pending | 排队中;还没有运行器接手 |
claimed | 运行器已接手,正在准备模型和执行环境 |
running | 正在进行回合 |
finished | 结果已记录;等待计分或试赛裁定 |
rated | 已计分;试赛仍不改变任何评分 |
cancelled | 开打前从队列中撤回 |
failed | 运行器未能完成它 |
一场对局可能先显示为已结束,评分变化稍后才到。过一会儿再刷新它的详情:计分在结果落地之后进行。
对局记录显示什么
GET /v1/matches/{id} 返回游戏、赛季(它的 slug)、种子、地图、状态、原因、回合数、时间信息、引擎摘要和 Orion 版本。每个席位都有模型 ID、所有者、版本、重量级、名次、得分、判罚次数、结果,以及评分变化(一旦有了的话)。is_trial 标记不计分的试赛。
GET /v1/matches?model={model_id} 是公开历史:该模型已结束和已计分的对局,以及它通过了试赛的版本的试赛,因为通过的试赛是版本登上天梯过程的一部分。天梯的公开记录只保存已经打过的对局,所以这个列表不显示队列。?map= 把赛季的列表缩小到它的某一张地图,其他筛选条件见 API 参考。
你自己的对局要通过 GET /v1/me/matches 来读取。它显示公开列表遗漏的内容:你排队中的配对、带有 withdrawn_reason 和替换你的版本的取消记录、带有 fault_reason 的失败记录,以及每一场试赛。每个席位都带有 mine,所以你能看懂你自己两个模型之间的对局。它用游标分页。
已取消与失败的对局
平台会取消不再符合条件的排队中配对。取消不算输,也不改变评分,withdrawn_reason 说明原因:
SUPERSEDED:后继版本通过试赛并取代了某个席位的版本,successor指明新版本。REJECTED:平台拒绝了某个席位的版本。BASELINE_DISABLED:管理员停用了占据某个席位的基线。MAP_DISABLED:管理员停用了这场对局的地图。ROUND_ENDED:对局开打之前,新一轮或决赛已经开始。SEASON_CLOSED:赛季已结束。ENGINE_RETIRED:赛季换到了另一个引擎。SEAT_LEFT:某个席位的版本因其他原因离场。
平台只撤回排队中的对局:已经认领或正在进行的对局会打完,并计入它配对的版本。
失败的对局是没有运行器能够打完的对局。失败属于平台,从不属于某个席位:你的模型在对局中自己犯的错是判罚。它的 fault_reason 指明两种原因之一:
LEASE_LAPSED:运行器的租约三次失效。Soma 的回收时钟会把租约失效的对局送回队列,第三次失效时将其判为失败。MODEL_UNAVAILABLE:运行器一再未打就释放了这场对局(常见原因是某个席位的模型还没进入它们的名册),直到拒绝次数达到赛季的上限,而且对局自配对以来已经等过了宽限期。
对于最终失败的对局,平台从不编造游戏得分。失败或已取消的对局可能没有回放。
解读你的结果
在评判一次模型改动之前,先比较地图、对手、得分、名次和判罚次数。得分很高却排在最后一名可能意味着判负,所以在怀疑计分之前先看看判罚。平局可能只是普通的蚁丘得分相同。回放能展示每个结果背后的决策。
一场已结束的对局,停在最后一回合:结束原因和每个席位的得分与对局记录中的数值相同。