将专用游戏服务器部署添加到 Unity 的對局配對

以下是有关如何将游戏服务器部署到Edgegap的托管和编排平台的文档,该文档来自Unity的配对服务。可能已经过时,因此建议遵循文档,可在GitHub上获取

需要完全从Multiplay迁移,因为Unity将在2026年3月30日停止其对Multiplay的内部支持?Edgegap有一个逐步指南可用

目的与范围

这个存储库展示了如何使用Unity Matchmaker与不同的游戏服务器托管平台集成,使用Cloud Code模块。使用这些示例时,您负责:

  • 测试和验证您的特定用例集成。

  • 保护您的部署并管理凭证。

  • 遵守每个托管提供商的服务条款。

  • 维护和更新您的实现。

第一部分 - 设置

第一部分 - 设置

第一部分 - 设置

要求

第 2 部分 - Edgegap:游戏服务器托管与调度

第 2 部分 - Edgegap:游戏服务器托管与调度

第 2 部分 - Edgegap:游戏服务器托管与调度

开始使用

选择您想在 modules/<provider_name> 下使用的 Edgegap 示例:

  • EdgegapAllocator - Edgegap 集成

配置模块

在云脚本代码中粘贴您的 Edgegap 应用名称和版本。部署模块

完成配置步骤后,继续部署模块。

部署模块

# Deploy cloud code module for your chosen provider
ugs deploy modules/<provider_name>
# Deploy cloud code module for your chosen provider
ugs deploy modules/<provider_name>
# Deploy cloud code module for your chosen provider
ugs deploy modules/<provider_name>

配置 Unity 仪表板

导航到 Unity 仪表板

  • 在您的项目中添加所需的密钥,在 管理 > 密钥 下(有关详细信息,请参阅各模块的 CONFIGURATION.md

  • 更新您的匹配器以在 匹配器 > 队列 下使用新的基于云代码的分配器。

客户端集成

创建带有 POST- https://matchmaker.services.api.unity.com/v2/tickets 的票证时,将公共 IP 包含在自定义数据中:

{
    "queueName": "basic",
    "attributes": {},
    "players": [
        {
            "id": "Player 1",
            "customData": {
                "player_ip": "8.8.8.8"
            }
        },
        {
            "id": "Player 2",
            "customData": {
                "player_ip": "4.4.4.4"
            }
        }
    ]

{
    "queueName": "basic",
    "attributes": {},
    "players": [
        {
            "id": "Player 1",
            "customData": {
                "player_ip": "8.8.8.8"
            }
        },
        {
            "id": "Player 2",
            "customData": {
                "player_ip": "4.4.4.4"
            }
        }
    ]

{
    "queueName": "basic",
    "attributes": {},
    "players": [
        {
            "id": "Player 1",
            "customData": {
                "player_ip": "8.8.8.8"
            }
        },
        {
            "id": "Player 2",
            "customData": {
                "player_ip": "4.4.4.4"
            }
        }
    ]

第三部分 - 测试

第三部分 - 测试

第三部分 - 测试

维护与支持

此存储库包含用于教育和参考目的的示例代码。Unity 将审核对此存储库的更新,但不保证对问题或拉取请求的响应时间。

故障排除

如果您在此存储库中的示例中遇到问题,请参阅您选择的托管提供商的文档或在 Unity 讨论论坛 寻求帮助。