Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Realtime Servers 脚本 GameLift
当你准备好为游戏部署实时服务器时,将完成的实时服务器脚本文件上传到亚马逊 GameLift。为此,请创建 Amazon GameLift 脚本资源并指定脚本文件的位置。您还可以通过上传现有脚本资源的新文件来更新已经部署的服务器脚本文件。
当您创建新的脚本资源时,亚马逊会为其 GameLift 分配一个唯一的脚本 ID(例如,script-1111aaaa-22bb-33cc-44dd-5555eeee66ff
)并上传脚本文件的副本。上传,取决于脚本文件的大小和连接速度。
创建脚本资源后,Amazon 使用新的实时服务器队列 GameLift 部署脚本。Amazon 将您的服务器脚本 GameLift 安装到队列中的每个实例上,并将脚本文件放入其中/local/game
。
要解决与服务器脚本相关的队列激活问题,请参阅调试亚马逊 GameLift 舰队问题。
Package 脚本文件
您的服务器脚本可以包含一个或多个文件,合并为一个.zip 文件以供上传。.zip 文件必须包含脚本需要运行的所有文件。
您可以将 Zims 压缩脚本文件存储在 Amazon Simple Storage Service (Amazon S3) 存储桶中。
从本地目录上传脚本文件
如果您将脚本文件存储在本地,则可以 GameLift 从那里将它们上传到亚马逊。要创建脚本资源,请使用 Amazon GameLift 控制台或 Amazon Command Line Interface(Amazon CLI)。
- Amazon GameLift console
-
创建脚本资源
-
打开亚马逊 GameLift 控制台。
-
在导航窗格中,选择主机、脚本。
-
在 “脚本” 页面上,选择 “创建脚本”。
-
在 “创建脚本” 页面的 “脚本设置” 下,执行以下操作:
-
在名称中,输入脚本名称。
-
(可选)对于版本,输入版本信息。因为你可以更新脚本的内容,所以版本数据可以帮助跟踪更新。
-
对于脚本源,选择上传.zip 文件。
-
对于脚本文件,选择选择文件,浏览包含脚本的.zip 文件,然后选择该文件。
-
(可选)在 “标签” 下,通过输入键和值对向脚本添加标签。
-
选择创建。
亚马逊 GameLift 为新脚本分配 ID 并上传指定的.zip 文件。您可以在 “脚本” 页面上查看新脚本,包括其状态。
- Amazon CLI
-
使用create-script
Amazon CLI命令定义新脚本并上传您的服务器脚本文件。
创建脚本资源
-
将.zip 文件放入可以使用的目录中Amazon CLI。
-
打开命令行窗口并切换到放置.zip 文件的目录。
-
输入以下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 返回了新的脚本对象。
-
要查看新脚本,请致电describe-script
。
从 Amazon S3 上传
您可以将 Simple 文件存储在 Amazon GameLift S3 存储桶中。创建脚本时,指定 S3 存储桶位置,Amazon 会从 Amazon S3 GameLift 检索您的脚本文件。
创建脚本资源
-
将脚本文件存储在 S3 存储桶中。创建一个包含您的服务器脚本文件的.zip 文件,并将其上传到您控制Amazon Web Services 账户的 S3 存储桶。记下对象 URI ——在创建 Amazon GameLift 脚本时需要这个。
Amazon GameLift 不支持从名称包含句(.)的 S3 存储桶进行上传。
-
授予亚马逊 GameLift 访问您的脚本文件的权限。要创建允许 Amazon GameLift 访问包含您的服务器脚本的 S3 存储桶的Amazon Identity and Access Management (IAM) 角色,请按照中的说明进行操作为亚马逊设置 IAM 服务角色 GameLift。创建新角色后,记下其名称,创建脚本时需要使用该名称。
-
创建脚本。使用 Amazon GameLift 控制台或Amazon CLI,创建新的脚本记录。要提出此请求,您必须拥有 IAMPassRole
权限,如中所述AAAAAAAAAAA GameLift。
- Amazon GameLift console
-
-
在亚马逊 GameLift 控制台的导航窗格中,选择托管、脚本。
-
在 “脚本” 页面上,选择 “创建脚本”。
-
在 “创建脚本” 页面的 “脚本设置” 下,执行以下操作:
-
在名称中,输入脚本名称。
-
(可选)对于版本,输入版本信息。因为你可以更新脚本的内容,所以版本数据可以帮助跟踪更新。
-
对于脚本源,选择 Amazon S3 URI。
-
输入您上传到 Amazon S3 的脚本对象的 S3 URI,然后选择对象版本。如果您不记得了 Amazon S3 URI 和对象版本,请选择 Browse S3,然后搜索脚本对象。
-
(可选)在 “标签” 下,通过输入键和值对向脚本添加标签。
-
选择创建。
亚马逊 GameLift 为新脚本分配 ID 并上传指定的.zip 文件。您可以在 “脚本” 页面上查看新脚本,包括其状态。
- Amazon CLI
-
使用create-script
Amazon CLI命令定义新脚本并上传您的服务器脚本文件。
-
打开命令行窗口并切换到可以在其中使用的目录Amazon CLI。
-
输入以下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 返回了新的脚本对象。
-
要查看新脚本,请致电describe-script
。
更新脚本文件
您可以使用 Amazon GameLift 控制台或update-script
Amazon CLI命令更新脚本资源的元数据。
您也可以更新脚本资源的脚本内容。Amazon 将脚本内容 GameLift 部署到使用更新后的脚本资源的所有队列实例。部署更新的脚本后,实例会在启动新游戏会话时使用该脚本。更新时已经在运行的游戏会话不使用更新的脚本。
更新脚本文件