本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
与Amazon GameLift Servers代理合作
Amazon GameLift Servers代理负责监督Amazon GameLift Servers舰队中游戏服务器进程的运行。该代理被部署到实例集中的每个计算上,为计算提供自动化进程管理、托管管理和日志记录。要使用代理,必须将游戏服务器版本与 5.x 或更高Amazon GameLift Servers版本的服务器 SDK 集成。
A Amazon GameLift Servers gent 可在外部用于非托管Amazon GameLift Servers EC2车队的车队。(托管 EC2 舰队会自动处理代理的任务。) 无论是否使用代理,您都可以选择运行Amazon GameLift Servers队列,包括 Anywhere 舰队。如果没有该代理,您必须提供完成所需任务的替代解决方案。
部署到计算机时,应在启动任何游戏服务器进程之前启动Amazon GameLift Servers代理。启动时,该代理将完成以下任务:
使用 RegisterComputeAPI 向 Amazon GameLift Servers Anywhere 队列注册计算。
调用 GetComputeAuthTokenAPI 获取授权令牌并将其存储起来,以供在计算上运行的服务器进程使用。
-
为计算设置 WebSocket URL 环境变量,并建立 WebSocket 与Amazon GameLift Servers服务的连接。
-
向Amazon GameLift Servers服务请求最新版本的队列运行时配置。
-
根据运行时配置说明启动和停止服务器进程。
代理的源代码和编译说明可在Amazon GameLift ServersAmazon GameLift Servers代理
关于该代理
Amazon GameLift Servers代理旨在为您的舰队处理以下任务:
进程管理
启动运行时指令中定义的新服务器进程。该代理可能使用与其一起部署的自定义运行时配置。或者,您也可以提供
RuntimeConfiguration
作为实例集定义的一部分。此方法的优势在于,您可以随时修改实例集的运行时配置。代理会定期向Amazon GameLift Servers服务请求更新的运行时配置。监控服务器进程的激活情况,并在进程未及时激活时将其终止。
将心跳发送到。Amazon GameLift Servers如果该代理未发送心跳,计算可能会被标记为过时。
报告服务器进程Amazon GameLift Servers何时结束。 Amazon GameLift Servers使用此信息来监控游戏服务器的可用性,以便放置游戏会话。
为服务器进程发出实例集事件,包括:
-
SERVER_PROCESS_INVALID_PATH
:游戏服务器进程启动参数配置不正确。 -
SERVER_PROCESS_TERMINATED_UNHEALTHY
:游戏服务器进程在激活后 3 分钟内未报告有效的运行状况检查,因此被终止。 -
SERVER_PROCESS_FORCE_TERMINATED
:游戏服务器进程在发送OnProcessTerminate()
后 30 秒内未完全退出。 -
SERVER_PROCESS_CRASHED
:游戏服务器进程因某种原因而崩溃。
-
计算管理
接收来自Amazon GameLift Servers服务的消息以关闭计算。
提示由终止计算Amazon GameLift Servers。
日志记录
将日志上传到您 AWS 账户中的 Amazon S3 存储桶。