文档

支持

Multiplay Hosting

Multiplay Hosting

分配生命周期

Learn about the stages servers go through when fulfilling a game session allocation request.
阅读时间3 分钟最后更新于 15 天前

分配生命周期与服务器生命周期相关,但又有所不同。分配生命周期从向 Multiplay Hosting API 发出分配请求开始。Multiplay Hosting 使用分配请求中的版本配置版本来选择最佳的服务器席位。所选的服务器席位可能已经运行了正确的版本可执行文件,也可能没有。当服务器席位被分配后,该服务器席位的资源会在分配生命周期内受到有效保护。这意味着,在服务器席位被分配期间,无法进行缩容和系统维护等操作。 分配生命周期包含三个生命周期阶段:
![分配生命周期title分配生命周期

可用

在分配生命周期开始之前,服务器席位处于可用状态。尽管可用状态不属于分配生命周期,但仍然值得一提,因为它是服务器席位的默认状态。可用的服务器席位包含已停止

分配生命周期title分配生命周期 ## 可用##available 在分配生命周期开始之前,服务器席位处于可用状态。尽管可用状态不属于分配生命周期,但仍然值得一提,因为它是服务器席位的默认状态。可用的服务器席位包含[已停止

已启动的版本可执行文件。

分配

分配生命周期从您发送分配请求来为游戏会话分配服务器席位时开始。Multiplay Hosting 使用分配请求中的信息(即版本、版本配置和位置)来查找最适合运行相应版本可执行文件的服务器席位。然后,Multiplay Hosting 会分配该服务器席位,如果它尚未运行,则会启动正确的版本(带有正确的版本配置)。 在服务器席位被分配后,Multiplay Hosting 会更新
server.json
文件
中的分配信息,并确保 SDK 拥有关于分配的最新信息。

取消分配

分配生命周期会在取消分配后结束。这可以通过多种方式实现:
  1. 您使用该 API 发送取消分配请求。
  2. 您通过使用代码 0 退出版本可执行文件来触发取消分配。
  3. 游戏服务器保持空闲的时间超过了分配生存时间 (TTL)。
对于大多数游戏,推荐的最佳做法是通过退出版本可执行文件来触发取消分配。 您也可以使用取消分配 API 终端来取消分配服务器席位。如果您的游戏使用 Matchmaker(例如 Unity Matchmaker),这是一种常见的模式。在这种情况下,您可以使版本可执行文件回调到 Matchmaker,以通知游戏会话已经结束。然后,Matchmaker 会调用取消分配终端来取消分配服务器席位。取消分配后,Multiplay Hosting 会清除
server.json
文件中的分配 ID 并更新 SDK。版本可执行文件使用 SDK 检测已清除的分配 ID,或者通过监视
server.json
文件来进行检测(不太推荐该做法)。