迁移到亚马逊 GameLift 服务器 SDK 5.x - Amazon GameLift

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

迁移到亚马逊 GameLift 服务器 SDK 5.x

要将游戏项目更新为使用服务器SDK版本 5.x,请进行以下更改:

  1. 获取适用于您的开发环境的最新 Amazon GameLift Server SDK 软件包 [下载网站]。按照下载的软件包和版本Readme的文件中的安装说明进行操作。有关在游戏项目中使用服务器的信息SDKs,请参阅以下说明。

  2. 按如下方式更新您的服务器代码:

    • 将服务器代码回调函数更改onCreateGameSession()onStartGameSession()

    • 根据需要更新InitSDK()输入:

      • 如果您计划将游戏服务器版本部署到 Amazon GameLift 托管EC2队列或 Anywhere 装有 Amazon GameLift 代理的舰队:

        InitSDK()带参数调用 (C++) (C#)(虚幻)。此调用设置计算环境和与 Amazon GameLift 服务的 WebSocket 连接。

      • 如果您计划将游戏服务器版本部署到 Anywhere 没有 Amazon GameLift 代理的舰队:

        InitSDK()使用服务器参数调用 (C++) (C#)(虚幻)。游戏服务器进程使用这些参数与 Amazon GameLift 服务建立连接。

  3. 如果您的游戏服务器版本或其他托管应用程序在运行时与其他 AWS 资源通信,则需要更改应用程序访问这些资源的方式。将的AssumeRoleCredentials使用替换为新的 Amazon GameLift 服务器SDK操作GetFleetRoleCredentials()(适用于游戏服务器)或使用共享凭证(用于其他应用程序)。有关如何实现此更改的更多信息,请参阅与舰队中的其他 AWS 资源进行沟通

  4. 如果您的项目调用服务器SDK操作GetInstanceCertificate()来检索TLS证书,请修改您的代码以改用新的 GetComputeCertificate() (C ++) (C#)(Unreal)。

  5. 将游戏版本上传到亚马逊时 GameLift (例如使用 upload-buildCreateBuild()),请将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
  6. 如果您使用脚本远程连接到托管舰队,请更新脚本以使用新流程,如中所远程连接到 Amazon GameLift 舰队实例述。