迁移到 Amazon GameLift 服务器 SDK 5.x
要将游戏项目更新为使用服务器软件开发工具包版本 5.x,请进行以下更改:
-
获取适用于您的开发环境的最新 Amazon GameLift 服务器 SDK 软件包 [下载网站
]。按照 Readme
文件中针对下载的软件包和版本的安装说明进行操作。请参阅以下说明,了解如何将服务器 SDK 用于您的游戏项目。 -
按如下方式更新服务器代码:
将服务器代码回调函数
onCreateGameSession()
更改为onStartGameSession()
。-
根据需要更新
InitSDK()
输入:-
如果您计划在有 Amazon GameLift 代理的情况下将游戏服务器生成包部署到 Amazon GameLift 托管式 EC2 实例集或 Anywhere 实例集:
调用
InitSDK()
而无需使用参数(C++)(C#)(Unreal)。该调用将设置计算环境以及与 Amazon GameLift 服务的 WebSocket 连接。 -
如果您计划在没有 Amazon GameLift 代理的情况下将游戏服务器生成包部署到 Anywhere 实例集:
使用服务器参数调用
InitSDK()
(C++)(C#)(Unreal)。游戏服务器进程使用这些参数与 Amazon GameLift 服务建立连接。
-
-
如果您的游戏服务器生成包或其他托管应用程序在运行时与其他 AWS 资源通信,您需要更改应用程序访问这些资源的方式。使用新的 Amazon GameLift 服务器 SDK 操作
GetFleetRoleCredentials()
替换AssumeRoleCredentials
(对于游戏服务器),或使用共享凭证(对于其他应用程序)。有关如何实施此更改的更多信息,请参阅与您的实例集中的其他 AWS 资源进行通信。 -
如果您的项目调用了服务器 SDK 操作
GetInstanceCertificate()
来检索 TLS 证书,请将代码修改为使用新的GetComputeCertificate()
(C++)(C#)(Unreal)。 -
将游戏生成包上传到 Amazon GameLift 时(如使用 upload-build
或 CreateBuild()),请将 ServerSdkVersion
参数设置为您使用的 5.x 版本(该参数目前默认为 4.0.2)。该参数必须与游戏服务器生成包中的实际服务器 SDK 库匹配。如果为上传的游戏服务器生成包指定了错误的版本,那么使用该生成包创建的所有实例集都将失败。请参阅为 Amazon GameLift 托管部署自定义服务器生成包。以下示例说明了如何指定服务器 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 实例集实例中所述。