本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迁移到服务器 SDK 5.x Amazon GameLift Servers
要将游戏项目更新为使用服务器软件开发工具包版本 5.x,请进行以下更改:
-
获取适用于Amazon GameLift Servers您的开发环境的最新服务器 SDK [下载网站
]。按照 Readme
文件中针对下载的软件包和版本的安装说明进行操作。有关在游戏项目中使用服务器的信息 SDKs,请参阅以下说明。 -
按如下方式更新服务器代码:
将服务器代码回调函数
onCreateGameSession()
更改为onStartGameSession()
。-
根据需要更新
InitSDK()
输入:-
如果您计划使用Amazon GameLift Servers代理将游戏服务器版本部署到Amazon GameLift Servers托管 EC2 队列或 Anywhere 队列:
调用
InitSDK()
而无需使用参数(C++)(C#)(Unreal)。此调用设置计算环境和与Amazon GameLift Servers服务的 WebSocket 连接。 -
如果您计划将游戏服务器版本部署到没有Amazon GameLift Servers代理的 Anywhere 舰队中,请执行以下操作:
使用服务器参数调用
InitSDK()
(C++)(C#)(Unreal)。游戏服务器进程使用这些参数与Amazon GameLift Servers服务建立连接。
-
-
如果您的游戏服务器生成包或其他托管应用程序在运行时与其他 AWS 资源通信,您需要更改应用程序访问这些资源的方式。将的
AssumeRoleCredentials
使用替换为新的服务器 SDK 操作GetFleetRoleCredentials()
(适用于游戏服务器)或使用共享凭据(适用于其他应用程序)。有关如何实施此更改的更多信息,请参阅与舰队中的其他 AWS 资源进行沟通。 -
如果您的项目调用了服务器 SDK 操作
GetInstanceCertificate()
来检索 TLS 证书,请将代码修改为使用新的GetComputeCertificate()
(C++)(C#)(Unreal)。 -
将游戏版本上传到时Amazon GameLift Servers(例如使用 upload-build
或 CreateBuild()),请将 ServerSdkVersion
参数设置为您正在使用的 5.x 版本(此参数当前默认为 4.0.2)。该参数必须与游戏服务器生成包中的实际服务器 SDK 库匹配。如果为上传的游戏服务器生成包指定了错误的版本,那么使用该生成包创建的所有实例集都将失败。请参阅为部署自定义服务器版本 Amazon GameLift Servers 托管。以下示例说明了如何指定服务器 SDK 版本:
aws gamelift upload-build \ --operating-system AMAZON_LINUX_2023 \ --server-sdk-version "5.0.0" \ --build-root "~/mygame" \ --name "My Game Nightly Build" \ --build-version "build 255" \ --region us-west-2
-
如果您使用脚本远程连接到托管式实例集,请更新脚本以使用新流程,如远程连接到 Amazon GameLift Servers 舰队实例中所述。