

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 关闭游戏会话
<a name="terminate-sessions"></a>

使用 Amazon GameLift Servers 控制台关闭特定的游戏会话。此功能为您提供了一种简单快捷的方法来定位游戏会话并发送终止信号。另一种终止方法则要求您找到运行游戏会话的实例集实例，远程访问该实例，然后手动关闭游戏会话。

您可以出于任何原因关闭游戏会话。最常见的原因是为了解决无法自然关闭的游戏会话问题。此类问题会导致无法腾出游戏会话的托管资源来托管新的游戏会话，而且实例集的托管容量也随之降低。

**注意**  
此功能依赖于您的托管解决方案的某些配置设置，并且具有以下限制：  
游戏会话必须托管在运行游戏服务器生成包（使用适用于 Amazon GameLift Servers v5 或更高版本的服务器 SDK）的实例集上。如果您的游戏服务器部署的是旧版本，则需要通过远程访问来删除游戏会话。
如果游戏会话托管在 Anywhere 实例集上，则该实例集必须使用 Amazon GameLift Servers 代理来管理游戏服务器进程。

**终止游戏会话**

1. 在 [Amazon GameLift Servers 控制台](https://console.aws.amazon.com/gamelift/)中，打开左侧导航窗格。选择托管解决方案类型，并打开**实例集**页面。例如：
   + **托管**、**Anywhere**、**实例集**
   + **托管**、**托管式 EC2**、**实例集**
   + **托管**、**托管容器**、**实例集**

1. 每个 **Fleets** 页面都会显示您当前选择的舰队列表。 AWS 区域选择托管您要终止的游戏会话的实例集。

1. 在实例集的详情页面中，打开**游戏会话**选项卡。在游戏会话列表中，选择要终止的会话，然后选择**终止**按钮。

1. 在**终止游戏会话中？**窗口中，确认您正在关闭正确的游戏会话并选择终止方法。
   + 正常关闭游戏会话：此选项会向托管游戏会话的服务器进程发送关闭信号。如果您的游戏服务器生成包已正确集成 Amazon GameLift Servers，则服务器进程会启动其游戏会话关闭序列，通知 Amazon GameLift Servers 该会话即将结束，然后停止。根据您的游戏设计，关闭序列可能包括正常完成游戏会话的步骤，例如保存数据和通知活跃玩家。此方法可能需要短暂延迟来完成游戏会话关闭序列。
   + 立即关闭游戏会话：此选项会向进程管理器发送信号，要求其关闭托管游戏会话的服务器进程。此选项会绕过正常的游戏会话关闭流程。即使服务器进程无法响应，它也可以终止游戏会话。

1. 确认游戏会话终止。您可以在**游戏会话**控制台页面上跟踪关闭进度。游戏会话状态将更改为“正在终止”，然后在关闭完成后更改为“已终止”。

**相关主题**
+ 您也可以使用 AWS SDK 和. 关闭游戏会话 AWS CLI。有关更多详细信息和示例，请参阅 Amazon GameLift Servers API 参考主题[TerminateGameSession](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_TerminateGameSession.html)。
+ 有关游戏服务器集成以及服务器进程如何响应来自 Amazon GameLift Servers 服务的信号的更多信息，请参阅[借助服务器 SDK 将 Amazon GameLift Servers 添加到游戏服务器](gamelift-sdk-server-api.md)。