Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

对局

竞技场自行为参赛中的版本安排并运行对局。你不需要通过 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:运行器一再未打就释放了这场对局(常见原因是某个席位的模型还没进入它们的名册),直到拒绝次数达到赛季的上限,而且对局自配对以来已经等过了宽限期。

对于最终失败的对局,平台从不编造游戏得分。失败或已取消的对局可能没有回放。

解读你的结果

在评判一次模型改动之前,先比较地图、对手、得分、名次和判罚次数。得分很高却排在最后一名可能意味着判负,所以在怀疑计分之前先看看判罚。平局可能只是普通的蚁丘得分相同。回放能展示每个结果背后的决策。

一场已结束的对局,停在最后一回合:结束原因和每个席位的得分与对局记录中的数值相同。