> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 多人游戏服务器构建区域的生命周期

> 了解 PlayFab 多人游戏服务器构建区域的 Initialized、Deploying、Deployed 和 Deleting 状态,以及 VM 如何在它们之间转换。

构建区域可以处于以下状态之一:

* **Initialized**:PlayFab 多人游戏服务已记录该区域的配置。
* **Deploying**:正在该区域中预置少量 VM 以验证构建。
* **Deployed**:初始 VM 集合已全部完成游戏服务器的加载,并且至少一个游戏服务器已报告 **StandingBy** 状态(通过 [GSDK](/services/playfab/multiplayer/servers/integrating-game-servers-with-gsdk) 中的 `ReadyForPlayers` API 调用)。

<Note>
  即使某个构建区域配置了 50 台 standBy 服务器,只要有一个游戏服务器报告 **StandingBy**,该构建区域就会被标记为 **Deployed**。
</Note>

* **Deleting**:该区域被标记为删除。所有 VM 正在取消预置。

这些状态之间的转换如下图所示,并在下面进行了描述:

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/multiplayer/servers/tutorials/multiplayer-build-region-status.jpg?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=b0fed07f67c7c2a9057f16f95522729a" alt="多人游戏 - 构建区域状态" width="1182" height="551" data-path="images/playfab/multiplayer/servers/tutorials/multiplayer-build-region-status.jpg" />

1. **Initialized -> Deploying**:**StandBy** 服务器已配置为 **> 0**。正在该区域预置一些 VM,并在这些 VM 上验证构建(部署资产并确保游戏服务器可以达到 StandingBy 状态)。
2. **Deploying -> Deployed**:该区域中至少一个游戏服务器已达到 **StandingBy** 状态,从而验证了(该区域的)构建。
3. **Deploying -> Unhealthy**:发生了以下情况之一:
   * 所有初始 VM 集合(来自上述步骤 1)均被视为 **Unhealthy**。一些原因包括:
     * 启动后超过 10 分钟没有游戏服务器通过 [GSDK](/services/playfab/multiplayer/servers/integrating-game-servers-with-gsdk) 发送心跳。这通常表明服务器崩溃,你将在该区域中的每个 VM 上看到 **NoServerHeartbeat** 运行状况。
     * PlayFab Multiplayer Agent 本身正在崩溃或未在 VM 上初始化(罕见情况)。本质上,多人游戏服务已超过 10 分钟未收到代理的心跳。
   * 超过 90 分钟没有任何 VM 达到 **Running** 状态(大多卡在加载资产中)。
   * 超过 90 分钟没有任何游戏服务器达到 **StandingBy** 状态(尽管它们正在发送心跳)。这表明在游戏服务器初始化期间存在问题。
4. **Deploying -> Deleting**:此状态转换不常见,当开发人员在区域仍在部署时请求删除该区域时发生。
5. **Deployed -> Deleting**:该区域已从构建配置中删除。删除构建等同于从中删除每个区域(就构建区域状态而言)。
6. **Unhealthy -> Deleting**:该区域已从构建配置中删除。删除构建等同于从中删除每个区域(就构建区域状态而言)。

<Note>
  * Start 和 Deleted 状态是系统内部的,不会公开。- 如果某个区域的备用服务器数量配置为 **0**,则该区域将保持 **Initialized** 状态。- 在罕见的意外情况(中断)下,我们可能会短暂看到从 **Deploying** 到 **Unhealthy** 的转换。
</Note>


## Related topics

- [多人游戏服务器构建的生命周期](/zh-CN/services/playfab/multiplayer/servers/multiplayer-build-lifecycle.md)
- [多人游戏服务器的生命周期](/zh-CN/services/playfab/multiplayer/servers/multiplayer-game-server-lifecycle.md)
- [部署 PlayFab 多人游戏服务器构建](/zh-CN/services/playfab/multiplayer/servers/deploying-playfab-multiplayer-server-builds.md)
- [VmStateChangeEventPayload](/zh-CN/services/playfab/api-references/events/data-types/vmstatechangeeventpayload.md)
- [使用 PlayFab Multiplayer Servers 托管多人游戏](/zh-CN/services/playfab/multiplayer/servers/using-playfab-servers-to-host-games.md)
