轻松从 Unity 的對局配對迁移到 Edgegap Matchmaking 系统

轻松从 Unity 的對局配對迁移到 Edgegap Matchmaking 系统
轻松从 Unity 的對局配對迁移到 Edgegap Matchmaking 系统
轻松从 Unity 的對局配對迁移到 Edgegap Matchmaking 系统

关键洞察

关键洞察

关键洞察

宣布于2025年12月4日,Unity将在2026年3月31日停止支持他们的游戏服务器托管平台Multiplay

这意味着您将无法使用Unity的匹配器部署游戏服务器,因为它是Unity的對局配對系统唯一支持的托管平台。

幸运的是,Edgegap的對局配對可以轻松集成。Edgegap的专用服务器對局配對使任何多人游戏都可以自动组队玩家&即时部署游戏服务器。

我们的Unity SDK使集成变得轻而易举,對局配對逻辑通过我们的无代码、简单的配置基于参数变得简单 - 只需上传您的JSON文件即可完成!

如有需要,使用我们的示例配置和规则扩展来自定义您的匹配器逻辑以适应您的游戏独特需求。一旦上线,我们的全托管平台简化您的DevOps工作负载,并消除值班、维护、扩展和托管的需求。由Edgegap的专家团队提供24/7实时支持。

另外:

  • 基于规则的团队對局配對:作为一个团队加入或通过任何团队安排与玩家一起组建多个团队(例如,1v1,1v3,8v8,16v16等)。

  • 无代码和自定义参数:根据为您的游戏量身定制的独特规则组合玩家,包括玩家,延迟,字符串相等性,交集&数字差异。这使您能够基于任何独特的规则集 - 从技能基础 (SBMM) 排名,ELO,延迟,区域基础 / 地理基础,组大小参数&更多 - 匹配玩家。

  • 基于延迟的對局配對:Edgegap的匹配器是我们所知道的唯一使用基于延迟的规则的對局配對系统,确保为所有玩家提供无延迟的在线体验。

  • 任何游戏类型:我们的對局配對解决方案为您提供简单的配置模板,让您快速入门&快速匹配玩家,以及特定类型的示例,以定制對局配對规则以满足您的游戏的独特需求 - 竞技类(例如,射击游戏、MOBA、格斗游戏、大逃杀、策略游戏、体育游戏、交易卡片游戏等)、合作类(例如,COOP、PvE、团体游戏等)、社交类(例如,休闲、超休闲等)以及需要大厅的游戏(沙盒、MMO、竞速、生存、Roguelike、元宇宙等)。

  • 自动回填:对于有大厅的游戏,当玩家离开会话时,通过自动回填重用服务器座位。

  • 跨平台:Edgegap的匹配器支持跨平台兼容,无论硬件如何 - 移动设备、网页、主机、PC、VR等,均可匹配玩家。

  • 全托管:由Edgegap托管和管理,简化您的DevOps工作负载,消除值班、维护、扩展&托管的需求。

  • 超越服务器浏览器:允许玩家浏览活动服务器,并随时加入游戏。



确保查看我们的更新的文档。下面是这份文档的摘录:

快速开始对局配对,并探索各种类型的示例场景。

对局配对通常在基于比赛的游戏中旨在:

  • 根据地区、延迟、技巧或游戏参数查找其他玩家

  • 搜索可加入的服务器,基于可用容量[或ping、地区、技巧、地图、模式];

  • 启动新服务器,如果现有服务器已满或者不符合玩家标准。

玩家体验优先,定义我们的核心目标:

  • 高比赛填充率和社交功能集成(与朋友组队游戏),

  • 快速比赛,具备控制的比赛质量(低延迟,共享偏好),

  • 可靠且可预测的对局配对过程,全球可用。

观看此视频以探索我们的对局配对服务:

如何将对局配对集成到您的Unity Engine多人游戏中

-> 本文基于对局配对文档。如果遇到问题或不一致,请确保参考原始指南,因为它们更经常更新。

下面的示例将帮助您测试核心对局配对玩家流程,为Unity Engine多人游戏,如:

  • 在共享托管集群中创建对局配对实例,

  • 在您的对局配对配置中定义规则和设置,

  • 最后,用我们的玩家票据管理API测试玩家流程。

将我们的对局配对集成到您的游戏中需要五个步骤

  1. 第一步是创建一个账户并使用我们的简单游戏示例。Voilà,您(技术上)完成了一半!您只需将对局配对集成到您的游戏中(见第5步)。

  2. 现在,您永远不要盲目遵循在互联网上找到的JSON示例,因此强烈建议您将上述规则适应您的回合制游戏。步骤2(“探索配置”)是我们的“阅读方法”,深入探讨每个对局配对规则功能(“探索配置”)。

  3. 步骤3(“审查实例详细信息”)涵盖您的个人具体对局配对以确保其部署并与您的游戏设计协同工作。

  4. 步骤4,顾名思义(“4. 测试票据API”),主要涉及测试玩家发出的对局配对请求被称作票据

  5. 步骤5(“在您的游戏中整合对局配对”)突出如何在您的引擎项目中整合对局配对。

如果遇到故障排除问题,我们深入的学习中心有额外的故障排除提示。

Unreal教程 - 添加Edgegap的对局配对

如果这看起来令人生畏,我们为您提供支持——观看分步骤集成视频:

1. 设置免费层

注册您的免费Edgegap账户,然后导航到 对局配对仪表板页面

从那里,首先点击创建对局配对,然后输入:

  • 您对局配对的名称 - 这是纯粹为了您的参考,例子 quickstart-dev

  • 然后,上传下面作为JSON配置的简单示例到您的Unity Engine游戏:

{
  "version": "2.1.0",
  "inspect": true,
  "max_deployment_retry_count": 3,
  "ticket_expiration_period": "5m",
  "ticket_removal_period": "1m",
  "profiles": {
    "simple-example": {
      "application": {
        "name": "my-game-server",
        "version": "2024.01.30-16.23.00-UTC"
      },
      "rules": {
        "initial": {
          "match_size": {
            "type": "player_count",
            "attributes": {
              "team_count": 1,
              "team_size": 2
            }
          },
          "beacons": {
            "type": "latencies",
            "attributes": {
              "difference": 50,
              "max_latency": 200
            }
          }
        },
        "expansions": {}
      }
    }
  }
}

(温馨提醒,请确保将应用程序 name 和 version 更改为匹配您的 应用程序和版本!)

如果没有出现验证错误,请点击 创建并启动 并等待该过程完成。这将导致启动一个新的免费集群,带有您的简单示例对局配对。

您现在可以继续下一步。

2. 探索配置

语义版本控制

随着我们发布对局配对的更新,每个新版本使用 语义版本控制 通过解释格式 major.minor.patch清楚地传达更改的影响:

  • major 版本包括重大改变,需要进行集成审查,

  • minor 版本包括实质性向后兼容改进,

  • patch 版本包括错误修复和小改进。

某些 部署可能会导致错误。我们试图通过自动重试部署最多 max_deployment_retry_count 次(无需客户端确认)来解决此问题。

确保意外的客户端崩溃或遗留下来的票据不会滞留且占用您的对局配对资源,票据将在 ticket_expiration_period 后被取消,其状态将更改为 已取消,然后在 ticket_removal_period 后永久删除。

我们的对局配对逻辑核心在 对局配对档案 中配置。每个档案是完全独立的对局配对队列,指向带有预定义必需CPU和内存资源(RAM)的 应用版本

最初的规则集中的对局配对规则 必须满足,以便将玩家分组在一起,每个规则由三个属性定义:

  • 您选择的名称,例如 - 比赛大小

  • 规则类型,也称为操作符,例如 - 玩家数量

  • 最后是操作符属性,例如 队伍数量 或 队伍大小

玩家数量规则

这是定义需要多少玩家才能启动分配的特别规则:

  • 队伍数量 指代队伍数量,一个队伍可用于合作或自由模式,

  • 队伍大小 指代每个队伍的 玩家数量。

我们的简单示例展示了一个由两名玩家参与的合作游戏。

请注意,"玩家数量"规则 是必需的,并且只能在初始配置规则中定义一次

延迟规则

使用此规则为所有玩家提供最低可能的ping。客户端测量并提交其所有可用信标的往返时间(ping)后,Gen2仅考虑在ping值内特定 差异中的匹配,与 Ping信标进行测量。这提供了一种“软”解决方案来分割玩家群体,支持与邻近地区匹配,特别是改善较少人口地区的匹配速度。使用 最大延迟阻止与远离玩家的匹配。

您现在可以继续下一步。

我们的示例 信标 规则最初设定为 "差异": 50, "最大延迟": 200

  • 爱丽丝和鲍勃将匹配,因为北京被拒绝(>200)且其他在| A-B | < 50以内:

    • 爱丽丝 {蒙特利尔: 12.3, 纽瓦克: 45.6, 达拉斯: 59.9, 北京: 264.4}; 和

    • 鲍勃 {蒙特利尔: 27.3, 纽瓦克: 32.4, 达拉斯: 23.1, 北京: 252.2}。

  • 查理和戴夫不会匹配,因为对达拉斯信标| C-D | > 50:

    • 爱丽丝 {蒙特利尔: 5.7, 纽瓦克: 44.2, 达拉斯: 59.5, 北京: 263.2}; 和

    • 鲍勃 {蒙特利尔: 57.8, 纽瓦克: 32.0, 达拉斯: 24.2, 北京: 272.3}。

请注意,"延迟规则" 只能在初始配置规则中定义一次

3. 审查实例详细信息

在初始化后,在我们的仪表板中查看您的新对局配对的详细信息:

状态 指示服务健康状态,可为在线、离线或错误。

  • 标识符 帮助Edgegap员工快速找到您的对局配对,如您需要帮助故障排除。

  • 开始时间 可用于追踪最后一次更新时间。

  • 大小 对应于我们的 定价层之一。

  • API URL 将被游戏客户端和游戏服务器用于与Gen2进行通信。

  • Swagger URL 是我们提供的探索API架构的便利开放API规范GUI。

  • 授权令牌 是由游戏客户端和游戏服务器用于身份验证的唯一机密令牌。

要使用API测试您的新对局配对,您将需要Swagger URL、API URL和授权令牌

您现在可以继续下一步。

4. 测试票据API

首先,打开您的Swagger URL 以在swagger GUI中检查您的开放API架构

点击 "Matchmaker" 标题下的/...swagger.json URL以打开原始JSON架构:

将此页面保存为您的硬盘上的文件(CTRL/CMD+S)。

打开您的 Postman应用程序 并登录您的免费账户。

导入您在上一步保存的swagger.json文件:

  • 选择 Postman集合

  • 选择 查看导入设置 并将设置 参数生成 更改为 示例

确认导入,这将在左侧的集合列表中生成一个新集合,标题为Matchmaker。

查看更多操作,打开标签 授权 并选择:

  • 授权类型 - API键

  • 键 - “授权

  • 值 - 在这里插入您的 授权令牌

  • 添加到 - 标题

按(CTRL/CMD+S)或保存图标以 保存更改。您的Postman标签上的橙色点应消失。

在您的Matchmaker集合中选择 票据 和 创建对局配对票据,打开一个新标签。

选择标签 正文 以预览您的 玩家票据请求

注意 player_ip 设置为 null- 这将自动使用附加到您的请求中的IP地址(查看 服务器到服务器集成 以了解替代方案),

  • 档案 指的是您的 对局配对档案

  • 属性 包括对您的对局配对规则的值,在此情况下为 延迟 规则,

    • 规则 玩家数量 是唯一不需要玩家票据中任何属性的规则。

注意:请确保参考示例的Swagger的导入配置

点击 发送 并查看您的玩家票据请求的响应:

  • id 是您的唯一对局配对票据ID,请保存此以便稍后检查您的票据,

  • 档案 确认选择了 对局配对档案

  • 组_id 是每个票据发出的唯一组ID,单个玩家表示为一个组的

    • 请参见 作为组加入 以便与您的朋友或大厅进行对局配对,

  • 玩家_ip 是玩家的解析公共IP地址,无论使用何种标识方法,

  • assignment 设置为 null 表示票据尚未匹配或分配给服务器,

  • created_at 提供有关玩家票据创建时间的信息,以供游戏UI使用,

  • 状态 指示票据的当前状态,所有票据均始于 搜索中 (查看 对局配对过程 以了解详细信息)。

再次点击 发送 创建第二个票据,以便我们的两个玩家匹配并启动服务器。

在您的Matchmaker集合中选择 {ticketId} 和 阅读对局配对票据

从上一步的响应中输入票据ID,然后点击 发送

查看您的玩家票据的更新分配:

  • 状态更改为 已找到匹配 ,同时保持 assignment 设置为 null表示玩家已匹配并分配给服务器,

再次点击 发送 以检查您的票据,并查看您的玩家票据的更新分配:

  • 状态更改为 主机已分配,其中 assignment 包含分配服务器的详细信息。

 在我们的仪表板中检查您的新部署

  • 注意每个部署使用所有票据ID和档案进行标记,以增强跟踪。

尝试从您的游戏客户端连接到分配的服务器。

一旦您确认能够连接到您的部署而没有问题,并完成测试,停止您的部署以在您的账户中释放容量用于下一个构建。

您现在可以继续下一步。

5. 在您的游戏中整合对局配对

Edgegap的对局配对集成:

  • 与 游戏客户端,以管理 玩家票据

  • 与 游戏服务器以:

    • 处理通过票据传递的玩家偏好,

    • 可选支持 回填 以在启动后添加或替换玩家。

在 游戏客户端中,我们建议在整个 对局配对过程 中通过游戏内UI向玩家提供票据状态更新,以提供最佳玩家体验。查看:

在 游戏客户端中,确保您处理不可重试的错误:

  • HTTP 404 未找到 - 票据已被删除,

  • HTTP 500 内部服务器错误 - 服务暂时故障。

在 游戏服务器中,处理玩家偏好和初始化服务器上下文。无需API集成:

  1. 阅读 注入的环境变量(Gen2) 以检索玩家初始的对局配对数据。

  2. 阅读 注入的环境变量(应用版本) 以获取版本特定参数、设置(玩家容量)和机密。

  3. 阅读 注入的环境变量(部署) 以获取部署信息,如IP地址、位置或更多。

一旦玩家连接,游戏服务器和游戏客户端 启动加载场景以执行同步步骤(例如选择和加载地图/场景/关卡)。我们推荐一个完整的3D场景、类似大厅的社交UI,或带进度条的加载屏幕,以指示初始化正在进行。

一旦游戏客户端 完全加载,玩家加载/进入主要游戏场景。

可选地,游戏服务器 可能会创建和管理 回填 以及玩家容量(在玩家离开后添加或更换玩家)。

确保您的 部署将被正确停止 使用 注入的DELETE_URL,如果:

  • 没有玩家加入比赛,

  • 所有玩家都已离开比赛,

  • 比赛正确地结束。

恭喜您,您已完成Edgegap对局配对整合!如果您想要了解更多信息,请在我们的学习中心阅读相关内容。

书写者

Edgegap团队

Get your Game Online Easily & in Minutes

Get your Game Online Easily & in Minutes

Get your Game Online Easily & in Minutes