了解Edgegap的工作原理

了解Edgegap的工作原理

红娘

Matchmaker(匹配系统)是将等待的玩家分组并为每组请求游戏服务器的服务。它会权衡延迟、技能、队伍规模和等待时间等规则,然后决定何时一组玩家达到开始游戏的标准,并且玩家等待的时间越长,它就会越放宽规则。它的绝大多数决定都是在匹配质量与排队时间之间做出权衡。

又称

在线匹配,匹配系统,游戏匹配机制

由

由

由

雅库布·莫蒂尔

雅库布·莫蒂尔

雅库布·莫蒂尔

,

产品总监

产品总监

产品总监

已发布

已发布

已发布

相亲角是如何运作的?

大多数匹配器都是围绕相同的循环构建的。玩家并不直接加入比赛,而是加入一个队列,匹配器会不断读取该队列,直到找到适合组合在一起的群体。

  1. 玩家或队伍请求开始游戏。好友通常会先在大厅聚集,然后作为一个整体排队,以便进入同一个队伍和服务器。

  2. 请求变成一张票证。票证包含规则所需的信息:游戏模式、队伍规模、技术评分、到附近服务器位置的延迟,以及游戏匹配所需的任何其他内容。

  3. 票证进入队列。每个队列(通常每个模式或播放列表一个)都有自己的规则。处于不同队列中的玩家永远不会相遇。

  4. 匹配器一遍又一遍地评估队列。在每一次评估中,它都会寻找同时满足所有规则的票证。不符合条件的票证会等待下一次评估,且其规则会随着等待时间的增加而放宽。

  5. 比赛成型,并请求服务器。匹配器将该组移交。哪个服务器托管它以及在何处托管,属于服务器分配。

  6. 玩家获取连接地址。客户端通常每隔几秒钟检查一次其票证状态(正在搜索、已找到比赛、已分配服务器或已取消),并在获取地址后进行连接。

这个循环是逻辑,而逻辑需要计算。每一次评估都会根据每条规则检查等待中的票证,因此匹配器运行在独立的服务器上,与游戏服务器分开,其负载随着玩家数量和规则复杂度的增加而增长。

两个细节将可运行的匹配器与原型区分开来。票证会过期,因此等待时间过长的玩家会收到明确的“未找到比赛”提示,而不是无休止地排队。此外,客户端会保留其票证和分配 ID,因此崩溃或连接断开不会让玩家重新回到队伍末尾。

有些游戏会增加一个步骤,即每个玩家在比赛开始前都必须接受匹配。这确认了所有人都在场,代价是启动变慢,并且玩家有可能避开自己不喜欢的比赛。

文章的核心洞察

  • 选择地区是玩家的抱怨,而不是功能需求:当玩家要求选择服务器地区时,他们实际上是在报告一个他们无法看到或控制的延迟问题。他们要求的功能只是其中一种可能的解决方案,而在玩家基数较小的情况下,这会用糟糕的比赛匹配换来无法满员的比赛。

  • 基于延迟的分组解决了区域限制试图缓解的问题:区域是行政边界,而延迟是可以测量的。通过测量的延迟(Ping值)将玩家分组,可以将远距离的玩家排除在同一个大厅之外,而无需按地理位置划分队列。

  • 随着时间的推移放宽规则是大多数匹配机制未充分利用的杠杆:动视(Activision)发布的研究表明,随着排队时间的增加,放宽技能限制的速度要快于放宽连接限制的速度。同样的渐进方法也适用于任何池化规则。

  • 当权衡过程可见时,排队时间是可以商榷的:几个社区的玩家都自愿等待更长时间,以获得更好的连接或人数更满的比赛。让他们感到沮丧的不是等待本身,而是不知道等待能换来什么。

  • 透明度和自主权缩短了反馈循环:可见的 Ping 值和选择等待更近服务器的选项,可以将模糊的指责转化为玩家可以采取的行动,代价是可能会暴露你不想公开的数据。

红娘/媒人会使用哪些规则?

规则是匹配中的每张票都必须通过的测试。大多数匹配系统会结合以下几种规则:

  • 玩家数量。 队伍数量,以及每支队伍的玩家人数下限和上限。匹配可以在达到人数上限时立即开始,或者在玩家等待足够长时间后达到人数下限时开始。

  • 精确匹配。 必须完全相同的值,例如游戏模式或游戏版本。

  • 数值差异。 两个数值之间的最大差距。技术水平是常见的情况:基于技术水平的匹配就是此类规则,其背后的评分机制在 MMR 和 ELO 匹配中有所介绍。

  • 延迟。 到服务器位置的最大 Ping 值,通常还包括玩家之间 Ping 值的最大差距。测量数据通常来自 Ping 信号源。关于延迟与 服务器区域 的关系,有专门的页面介绍。

  • 重合度。 玩家从列表中共享的值,例如大家都愿意玩的地图。

这些规则会共同起作用,因此每条规则都会缩小匹配池。一场匹配需要玩家同时通过技术测试、延迟测试和模式测试。

规则放宽是匹配系统处理等待时间的方式。每张票的规则都会根据其进入队列时启动的计时器逐步放宽:例如,30 秒后放宽技术范围,一分钟后提高延迟限制,几分钟后减少最少队伍人数。规则放宽是匹配质量和排队时间之间的调节阀。何时开始以及放宽的速度有多快,是每款游戏和模式的设计决策。

组队本身也会增加限制。只有在整支队伍都能容纳该队伍时,该组队才适合该队伍,且其成员的评分通常会合并为一个值,例如平均值。

每一个额外的队列都会再次分割匹配池。新模式、平台过滤或区域选择都会使每个队列中可匹配的玩家减少,这是 跨平台联机 和 对局填充率 需要权衡的问题。

构建一个匹配系统需要付出什么?

构建匹配系统属于开发工作,其面临的问题也众所周知。规则属于游戏设计范畴。其余的大部分则是团队可以通过时间解决的工程问题。这些来自我们的匹配系统文档的实践经验适用于大多数匹配系统:

  • 区分开发环境和生产环境。在专属的匹配系统上测试规则变更,而不是在活跃的队列中。

  • 测试时缩短票据过期时间。设为 30 秒左右,而不是几分钟,这样匹配失败就能快速显现。

  • 在发布前验证配置。一个格式错误的规则就可能导致所有匹配无法形成。

  • 模拟玩家行为进行负载测试。逐渐增加负载,延长重试间隔,分配服务器后停止轮询,并模拟每日高峰而非平缓负载。同步请求和即时重试测试的是真实玩家不会产生的模式。

  • 使用退避策略重试。在每次请求失败后稍微延长等待时间(带有一些随机性),并遵守速率限制响应 (HTTP 429) 的客户端,可以避免在流量激增时流失玩家。

  • 将敏感数据保留在服务器端。技术评分和作弊标记应来自游戏后端,而不是来自可以对其进行篡改的客户端。

  • 追踪每一次匹配。为每次匹配和服务器标记形成该匹配的票据,以便支持团队找到单个玩家报告背后的日志。

这些都并非异乎寻常,构建自己匹配系统的团队都可以克服这些问题。更难的部分通常是在上线之后开始。

在生产环境中运行匹配系统需要付出什么?

撮合系统(Matchmaker)是一项全天候运行的服务。如果它停止运行,无论游戏服务器多么健康,都没有人能进入比赛。这使得运行它成为一项与构建它截然不同的工作:在游戏销售的每个时区、在玩家在线的每一小时,都必须有人对其负责。

运营工作往往包括:

  • 冗余。 撮合系统的多个副本,最好位于不同的区域,这样一次停机不会导致所有地方的撮合都停止。我们的文档将轮换副本描述为蓝/绿部署。

  • 与游戏同步更新。 新的服务器版本通常需要新的客户端,而新的客户端需要撮合系统指向正确的版本。客户端版本的发布可能需要 3 到 7 天才能到达玩家手中(Edgegap 文档,2026 年 10 月),因此新旧版本会重叠,且两者都必须保持撮合。

  • 容量。 负载随着玩家数量、客户端检查状态的频率以及规则复杂度的增加而增长。放宽和重叠规则是评估成本最高的规则之一。该服务必须针对发布日和活动日进行规模设计,而不是针对平常的日子。

  • 永无止境的调优。 玩家数量会随季节、地区和时间而变化,适合上线初期的规则很少能适用于第二年。

这是游戏撮合中人性化的一面,也是最难配备人员的部分。自主构建、自行托管的撮合系统意味着工作室必须在每一小时都承担其所有责任。而托管的撮合系统(例如 Edgegap 的服务)则负责运行该服务、其冗余和扩展,并将规则留给工作室管理。

来自我们的赞助商(其实就是我们自己!)的寄语

每个空余的玩家位置都是您付费了但无人使用的容量。在 2025 年第二季度,Edgegap 匹配系统上的一个工作室在其所有游戏会话中实现了平均 91% 的玩家位置填充率,因此用更少的服务器承载了相同数量的玩家。

对局配对如何影响游戏服务器托管成本?

撮合系统启动的每一场比赛都是有人付费的服务器,无论是否满载。会话填充率(即一场比赛中实际占用的服务器玩家位置比例)将撮合系统的规则与托管账单联系在一起:

活跃会话数 = 同时在线玩家数 ÷ (每会话玩家数 × 填充率)

填充率较低意味着相同的玩家需要更多的服务器。在我们的 10,000 峰值 CCU 射击游戏(每场比赛 8 名玩家,每台服务器 1 个 vCPU,混合托管)的成本模型中,以 50% 的填充率运行比以 95% 的填充率运行每年多花费 95,436 美元(《会话填充率如何影响您的多人游戏托管成本》,2026 年 5 月;这是模型估算值,而非实际测量值)。同一篇文章还报道了某款匿名 PvP 游戏在某个区域部署时的填充率约为 35%,其人均玩家成本大约是其主要市场的三倍。而全球平均数据掩盖了这一情况。

填充率下降的原因通常在各自看来都是合理的:以最低玩家人数开始比赛、有利于提高速度的较短超时时间、过多分割玩家池的模式,以及较小的区域。控制杠杆存在于上述规则中:

  • 区分最小和最大团队规模

  • 在放宽延迟要求之前先放宽技能要求

  • 为比赛中途空出的席位进行回填

  • 为非高峰时段和冷门区域设置独立的配置

  • 按区域追踪填充率,而不仅仅是全球范围内

我们关于在撮合系统中优化会话填充率的指南涵盖了其中的每一项内容。

Edgegap 的观点(仅代表个人意见,姑且听之即可!)

掌握规则,而非运行时间

使游戏变得更好的联机匹配部分在于规则:谁与谁一起玩,他们等待多长时间,以及每个服务器运行的饱满度。这些规则塑造了玩家体验,并且通过填充率决定了托管账单的大部分。它们值得团队付出最宝贵的时光。

保持服务每时每刻正常运行是一项不同的工作。它同样重要,但它并不会让比赛更公平,也不会让服务器更饱满。在构建和托管您自己的联机匹配系统之前,请权衡每月为此花费的时间,与将相同的时间用于调整规则所能带来的回报。

一个开始的切入点:每周检查每个区域和每个队列的填充率。如果某个区域或队列的填充率远低于其他,请在添加服务器之前更改其规则。一家使用我们联机匹配系统的游戏工作室在2025年第二季度的平均会话填充率达到了91%(平台数据),这是一个单独的游戏项目,而非平台平均值。Edgegap 的联机匹配系统能保持服务正常运行,从而让团队的时间专注于规则制定上。

-

-

-

雅库布·莫蒂尔

雅库布·莫蒂尔

雅库布·莫蒂尔

,

产品总监

产品总监

产品总监

常见问题

您应该自己构建匹配系统,还是使用现有的匹配软件?

Open Match 或 Nakama 能否在 Edgegap 上启动游戏服务器?

像《反恐精英 2》这样的游戏匹配机制是如何运作的?

配对系统和服务器浏览器之间有什么区别?

了解更多

最受欢迎博客,来自

最受欢迎博客,来自

對局配對 & 服务器浏览器

對局配對 & 服务器浏览器

Get your Game Online Easily & in Minutes

立即开始集成!

轻松在线游戏
且在几分钟内