RequestMultiplayerServer 的调用以受控方式分发到多个生成。这可以提高生成到生成升级和下文列出的其他若干场景的简单性和可靠性。别名通过指定生成 ID 列表以及每个 ID 的权重来实现这一点。生成的权重决定了对于每个分配请求,该生成被首先尝试的可能性。例如,如果生成 1 的权重为 8,生成 2 的权重为 2,则大约 80% 的请求会首先尝试生成 1,因此在生成 1 具有 StandingBy 服务器时,它会处理大约 80% 的请求。如果生成 1 在某个区域中耗尽了 StandingBy 服务器,这些请求将改为转到生成 2,因此生成 2 在该区域中可能会处理超过 20% 的请求。不过,每个请求中的区域优先,权重仅决定在某个区域内由哪个生成处理请求。有关详细信息,请参阅回退到其他生成和区域。
向后兼容的安全部署
这是生成到生成升级的最常见场景,即你正在更新游戏服务器,而零售客户端与两台服务器兼容。 客户端将引用别名 1,其配置如下:- 生成 1:权重 = 1
- 生成 1:权重 = 8
- 生成 2:权重 = 2
不向后兼容的部署
在这种情况下,你希望在更新游戏客户端的同时更新游戏服务器,因为你当前的游戏客户端与旧的服务器生成不兼容。从一个生成过渡到另一个生成可以按以下方式完成: 旧客户端将引用别名 1,其内容如下:- 生成 1:权重 = 1
- 生成 2:权重 = 1
向后兼容的爆炸式部署
这类似于向后兼容的生成到生成升级场景,但需求行为的切换更为突然。从一个生成过渡到另一个生成可以按以下方式完成: 客户端将引用别名 1,其内容如下:- 生成 1:权重 = 1
- 生成 1:权重 = 0
- 生成 2:权重 = 1
测试向后兼容的部署
当你想更新游戏服务器,并且客户端版本与两台服务器都兼容,但你希望先测试第二个版本,然后再为所有玩家大规模部署它时。测试和从一个生成过渡到另一个生成可以按以下方式完成: 客户端将引用别名 1,其内容如下:- 生成 1:权重 = 1
- 生成 2:权重 = 1
- 生成 1:权重 = 8
- 生成 2:权重 = 2
回退到其他生成和区域
别名可以通过允许在多个生成之间进行回退,使多人服务器部署更具弹性。从别名请求服务器时,请在PreferredRegions 中按偏好顺序列出能为玩家提供可接受体验的每个区域。PlayFab Multiplayer Servers (MPS) 按如下方式处理每个请求:
- MPS 使用生成权重为该请求对别名中的生成进行排序。权重较高的生成更有可能排在前面。
- MPS 按你列出的顺序遍历各区域。在每个区域中,它按该顺序尝试每个生成。它会跳过未在该区域中部署的生成。
- MPS 从第一个具有 StandingBy 服务器的生成中分配服务器。如果该区域中没有任何生成具有 StandingBy 服务器,MPS 将转到下一个区域。如果没有任何区域具有 StandingBy 服务器,请求将失败并返回
MultiplayerServerTooManyRequests错误。
MultiplayerServerNotFound 错误。有关避免这两种错误的方法,请参阅最佳实践与发布检查清单。
例如,假设一个针对生成别名的分配请求将 EastUS 排名为区域 #1,将 West US 排名为区域 #2。此生成别名为两个生成(生成 1 和生成 2)提供了相似的权重。
假设对于给定分配,生成 1 在顺序中排在前面。
- 尝试在 East US 中为生成 1 分配。
- 如果 #1 失败,尝试在 East US 中为生成 2 分配。
- 如果 #2 失败,尝试在 WestUS 中为生成 1 分配。
- 如果 #3 失败,尝试在 WestUs 中为生成 2 分配。
使用 PlayFab REST API 管理生成别名
你现在可以在 Game Manager 中管理生成别名。若要开始,请参阅生成概述页面
-
使用 API 创建生成别名。
API:
示例正文:示例响应:生成别名 ID 作为响应的一部分提供。
-
更新生成别名的任何参数。
API:
示例正文:示例响应:
-
删除生成别名。
API:
示例正文:
-
列出生成别名。
API:
示例响应:
使用生成别名进行分配
若要使用生成别名进行分配,请在RequestMultiplayerServer 调用中指定生成别名 ID。
API:
