Creating Game Server Build & Fleet


title: 创建游戏服务器构建和舰队 url: /flexmatch/lab24 weight: 50 pre: “2-4.


使用GameLift服务创建游戏服务器

在本页面中,我们将使用基于Serverless的FlexMatch服务器二进制文件创建GameLift服务。 我们提供游戏服务器作为已编译的二进制文件,因此我们不需要自己构建。但如果我们想要,我们可以自己编译和构建二进制文件。有关更多详细信息,我们可以参考附录中的信息。

在游戏服务器或客户端上开发FlexMatch功能时,可以使用Matchmaking而无需为Matchmaker配置单独的服务器。对于本实验,我们可以在bin/FlexMatch/GomokuServer上使用FlexMatch二进制文件。

  1. 准备已编译的二进制文件。这些应该已为本实验提供。但是,如果我们想要自定义或调试,可以参考附录中关于如何构建源代码的说明。

  2. 检查给定文件夹bin/GomokuServer中是否存在GomokuServer.exe、aws-cpp-sdk-*.dll、config.ini、install.bat、aws-cpp-sdk-gamelift-server.dll文件。

在本研讨会中,Windows服务器需要安装vc_redist.x86.exe。请从此链接 获取vc_redist.x86.exe文件。我们也可以从此链接 下载完整版本的部署文件

  1. 使用文本编辑器编辑config.ini。SQS_REGION表示创建游戏结果SQS队列的区域(例如:ap-northeast-1)。 同时,在SQS_ENDPOINT中填入SQS端点URL的值。

  2. 对于ROLE_ARN,我们应该插入我们在第1部分最后创建的GameLift Fleet的IAM角色ARN。(也可以从实例获取角色ARN。在本实验中,为了方便起见,通过config.ini传递值)

  1. 要将游戏服务器构建上传到GameLift服务,我们应该使用CLI。如果我们的环境中没有CLI,请参考HoL准备 进行安装。

  2. 在"GomokuServer"文件夹中使用GameLift CLI上传构建,如下所示。(请检查GomokuServer目录是否包含Binaries文件夹install.bat

aws gamelift upload-build --name "GomokuServer-Build-1" --build-version "1.0.0" --build-root . --region <我们的实验区域>
  1. 检查区域是否配置正确。

  2. 当我们访问GameLift控制台时,可以查看其进度。(https://console.aws.amazon.com/gamelift)

  3. 点击刚刚上传的构建。我们可以点击"从构建创建舰队"按钮。点击此按钮,创建游戏服务器舰队。

  1. 输入以下信息。其他信息可以使用默认配置。
  • 名称:GomokuGameServerFleet-1
  • 实例类型:C5.large
  • 舰队类型:Spot
  • 实例角色ARN:我们在第1部分最后一页创建的GameLift Fleet的IAM角色ARN(Gomoku-GameLiftFleetRole)

进程管理(勾选绿色按钮)

  • 启动路径:Binaries\Win64\GomokuServer.exe(如果我们自己编译,请输入我们的二进制文件路径)
  • 并发进程:50

网络配置(勾选绿色按钮)

  • EC2端口设置:49152-60000
  • 协议:TCP
  • IP地址范围:0.0.0.0/0

在此设置中,我们可以关注舰队类型"SPOT”。通过使用Spot舰队,可以更加成本效益地使用我们的游戏服务器实例。

  1. 创建服务器舰队后,其状态将变为"Active”,颜色变为绿色。这大约需要20分钟。

上图是从另一个版本构建的,用于帮助理解,可能与我们的实验环境不同。

  1. 在舰队启动期间,让我们创建别名。

  2. 在菜单中点击"创建别名”。并为别名名称和描述输入信息。

  3. 为路由选项类型选择"Simple”,并在关联舰队上点击"选择舰队”。选择刚才创建的舰队。

即使舰队尚未创建完成,也可以选择该舰队。 当调用别名时,请求将传递给关联的舰队。

  1. 在GameLift舰队的实际使用案例中,我们使用别名ID。创建别名时保存别名ID。

  • 如果没有操作,舰队数量会自动缩减至0。
  • 在本实验中,这不会是问题,但如果我们想要让服务器舰队运行更长时间,则需要将缩放参数最小值设置为1。或者我们也可以覆盖运行实例数量,使其大于1。

© 2020 Amazon Web Services, Inc. 或其子公司,保留所有权利。