将 Realtime Servertime 脚本 GameLift - 亚马逊 GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

将 Realtime Servertime 脚本 GameLift

当你准备好为游戏部署实时服务器时,将完成的实时服务器脚本文件上传到 GameLift。为此,请创建 GameLift 脚本资源并指定脚本文件的位置。您还可以通过上传现有脚本资源的新文件来更新已经部署的服务器脚本文件。

创建新的脚本资源时,为其 GameLift 分配一个唯一的脚本 ID(例如,script-1111aaaa-22bb-33cc-44dd-5555eeee66ff)并上传脚本文件的副本。上载时间取决于脚本、连接速度。

创建脚本资源后,使用新的实时服务器队列 GameLift 部署脚本。 GameLift 将您的服务器脚本安装到队列中的每个实例上,并将脚本文件放入/local/game

要解决与服务器脚本相关的队列激活问题,请参阅调试 GameLift 舰队问题

Package 脚本文件

您的服务器脚本可以包含一个或多个文件,合并为一个.zip 文件以供上传。.zip 文件必须包含脚本需要运行的所有文件。

您可以将 zimple Service (Amazon S3) 存储桶中。

从本地目录上传脚本文件

如果您将脚本文件存储在本地,则可以 GameLift 从那里将它们上传到。要创建脚本资源,请使用 GameLift 控制台或 Amazon Command Line Interface(Amazon CLI)

GameLift console
创建脚本
  1. 打开亚马逊 GameLift 控制台

  2. 在导航窗格中,选择主机脚本

  3. 在 “脚本” 页面上,选择 “创建脚本”。

  4. 在 “创建脚本” 页面的 “脚本设置” 下,执行以下操作:

    1. 名称中,输入脚本名称。

    2. (可选)对于版本,输入版本信息。因为你可以更新脚本的内容,所以版本数据可以帮助跟踪更新。

    3. 对于脚本源,选择上传.zip 文件

    4. 对于脚本文件选择选择文件,浏览包含脚本的.zip 文件,然后选择该文件。

  5. (可选)在 “标签” 下,通过输入对向脚本添加标签。

  6. 选择 Create(创建)

    GameLift 为新脚本分配 ID 并上传指定的.zip 文件。您可以在 “脚本” 页面上查看新脚本,包括其状态。

Amazon CLI

使用create-scriptAmazon CLI命令定义新脚本并上传您的服务器脚本文件。

创建脚本
  1. 将.zip 文件放入可以使用的目录中Amazon CLI。

  2. 打开命令行窗口并切换到放置.zip 文件的目录。

  3. 输入以下create-script命令和参数。对于--zip-file参数,请务必将字符串fileb://添加到.zip 文件的名称中。它将文件标识为二进制,以便 GameLift 处理压缩的内容。

    aws gamelift create-script \ --name user-defined name of script \ --script-version user-defined version info \ --zip-file fileb://name of zip file \ --region region name

    示例

    aws gamelift create-script \ --name "My_Realtime_Server_Script_1" \ --script-version "1.0.0" \ --zip-file fileb://myrealtime_script_1.0.0.zip \ --region us-west-2

    为了响应您的请求, GameLift 返回新的脚本对象。

  4. 要查看新脚本,请致电describe-script

从 Amazon S3 上传脚本

您可以将 S3 存储在 Amazon S3 存储桶中。 GameLift 创建脚本时,您可以指定 S3 存储桶位置并从 Amazon S3 GameLift 检索脚本文件。

创建脚本
  1. 将 S3 存储在 S3 存储桶中。 创建一个包含您的服务器脚本文件的.zip 文件,并将其上传到您控制Amazon Web Services 账户的 S3 存储桶。记下对象 URI,创建 GameLift 脚本时需要这个。

    注意

    GameLift 不支持从包含句(..)的 S3 桶进行传。

  2. 授予对脚本文件的 GameLift 访问权限。 要创建允许 GameLift 访问包含服务器脚本的 S3 存储桶的Amazon Identity and Access Management (IAM) 角色,请按照中的说明进行操作为设置 IAM 服务角色 GameLift。创建新角色后,记下其名称,创建脚本时需要使用该名称。

  3. 创建脚本。使用 GameLift 控制台或Amazon CLI创建新的脚本记录。要提出此请求,您必须拥有 IAMPassRole 权限,如中所述I GameLift

GameLift console
  1. GameLift 控制台的导航窗格中,选择主机脚本

  2. 在 “脚本” 页面上,选择 “创建脚本”。

  3. 在 “创建脚本” 页面的 “脚本设置” 下,执行以下操作:

    1. 名称中,输入脚本名称。

    2. (可选)对于版本,输入版本信息。因为你可以更新脚本的内容,所以版本数据可以帮助跟踪更新。

    3. 对于脚本源,选择 Amazon S3 URI

    4. 输入您上传到 Amazon S3 的脚本对象的 S3 URI,然后选择对象版本。如果您不记得了 Amazon S3 URI 和对象版本,请选择 Browse S3,然后搜索脚本对象。

  4. (可选)在 “标签” 下,通过输入对向脚本添加标签。

  5. 选择 Create(创建)

    GameLift 为新脚本分配 ID 并上传指定的.zip 文件。您可以在 “脚本” 页面上查看新脚本,包括其状态。

Amazon CLI

使用create-scriptAmazon CLI命令定义新脚本并上传您的服务器脚本文件。

  1. 打开命令行窗口并切换到可以在其中使用的目录Amazon CLI。

  2. 输入以下create-script命令和参数。--storage-location参数指定脚本 Amazon S3 存储桶中的位置。

    aws gamelift create-script \ --name [user-defined name of script] \ --script-version [user-defined version info] \ --storage-location "Bucket"=S3 bucket name,"Key"=name of zip file in S3 bucket,"RoleArn"=Access role ARN \ --region region name

    示例

    aws gamelift create-script \ --name "My_Realtime_Server_Script_1" \ --script-version "1.0.0" \ --storage-location "Bucket"="gamelift-script","Key"="myrealtime_script_1.0.0.zip","RoleArn"="arn:aws:iam::123456789012:role/S3Access" \ --region us-west-2

    为了响应您的请求, GameLift 返回新的脚本对象。

  3. 要查看新脚本,请致电describe-script

更新脚本文件

您可以使用 GameLift 控制台或update-scriptAmazon CLI命令更新脚本资源的元数据。

您也可以更新脚本资源的脚本内容。 GameLift 将脚本内容部署到使用更新后的脚本资源的所有队列实例。部署更新的脚本后,实例会在启动新游戏会话时使用该脚本。更新时已经在运行的游戏会话不使用更新的脚本。

更新脚本文件

  • 对于存储在本地的脚本文件,要上传更新的脚本.zip 文件,请使用 GameLift 控制台或update-script命令。

  • 对于存储在 Amazon S3 存储桶中的脚本,请将其存储在 Amazon S3 存储桶中。 GameLift 定期检查是否有更新的脚本文件并直接从 S3 存储桶检索它们。