入门:5 - 上传测试项目
要将测试项目上传到 zeuz 编排服务,您要使用:
- zeuz 控制面板 - 您先前已完成登录
- zeuz 命令行工具 (CLI) - 您已从 SDK 下载中获得该工具
下列步骤说明了如何上传测试项目,共计 6 步:
- 设置 API 密钥
- 查找项目 ID 和环境 ID
- 查找并准备 zeuz 命令行工具 CLI
- 身份验证 (
auth_login
) - 上传 (
push
) - 容器化 (
push_publish
)
- 在下列步骤中,您将需要记录一些 ID 和 API 密钥。
- 将这些信息复制粘贴至文字编辑器中,操作起来会更简便。
步骤 1: 设置 API 密钥
具体操作为:
- 在 zeuz 控制面板 中,点击页面右上角的登录名 (或者三点标识,视具体页面而定),打开下拉菜单并点击 API Keys 前往相应页面。

图像:zeuz 控制面板的 API Keys 页面
在本页面上,点击 CREATE 前往 API Keys : Create 页面。
在本页面上,使用字母数字字符输入 API 密钥名称。具体实践中您可自由命名。
- 针对本教程,请在 Title 中输入:
Test project API key 1
- 针对本教程,请在 Title 中输入:
在同一页面上,使用字母数字或特殊字符输入 API 密钥密码。 您可自由设定 API 密码,且该密码可不同于您的账号密码。
- 在 Password 和 Repeat Password 字段中输入密码,然后点击 SAVE 保存。
这会生成一个 40 个字符的 API 密钥哈希值。
- 在 Password 和 Repeat Password 字段中输入密码,然后点击 SAVE 保存。
记录 API 密钥哈希。
您先前已从 zeuz SDK 下载中获得了 zeuz 工具,接下来您需要在其中用到 API 密钥及其密码。
已有 API 密钥?为本测试项目创建新的 API 密钥
- 如果这不是您首次设置 zeuz 项目,那么本页面中已有 API 密钥。
- 您需要确保不重复使用现有项目的 API 密钥,并为本教程中的测试项目创建一个新的 API 密钥。
步骤 2:查找项目 ID 和环境 ID
具体操作为:
- 在 zeuz 控制面板左侧边栏,找到具有唯一性的 zeuz PROJECT ID 和 ENVIRONMENT ID。
- 记录下这两个 ID,接下来会在 zeuz 工具中用到。

图像:zeuz 控制面板中显示的 PROJECT ID 和 ENVIRONMENT ID
步骤 3:查找并准备 zeuz 工具
在您的本地开发机中,通过终端窗口 (或文件资源管理器、Finder),在解压缩后的 zeuz SDK 下载中找到 zeuz 工具。文件路径和文件名如下所示:
- Windows:
bin/windows_amd64/zeuztool.exe
- macOS:
bin/darwin_amd64/zeuztool
- Linux:
bin/linux_arm64/zeuztool
orbin/linux_amd64/zeuztool
- Windows:
注意:您必须使用终端窗口来运行 zeuz 命令行工具。
get_started_test_project
目录及其内容整体移动至相同的父目录中 (请参阅下方指南)。资讯:移动 zeuz 工具文件和 get_started_test_project 目录
为使文件路径更简单,您可以将 zeuz 工具文件 (zeuztool.exe
或 zeuztool
) 以及 get_started_test_project
目录及其内容整体移动至相同的父目录中。
如果 zeuz 工具文件和 get_started_test_project
目录位于相同的父目录中,那么您在稍后步骤中运行 zeuz 工具时,无需思考 zeuz 工具和游戏镜像的文件路径问题。
目录结构应类似于:
~/parent-directory/zeuztool.exe
or ~/my-directory/zeuztool
~/parent-directory/get_started_test_project/
~/parent-directory/get_started_test_project/favico.ico
~/parent-directory/get_started_test_project/index.html
~/parent-directory/get_started_test_project/server.sh
父目录 (本例中为 parent-directory
) 可由您自由命名。除目录外,请勿重新命名任何文件或 get_started_test_project
目录。
2. 如果您正在使用 macOS 或 Linux,确保 zeuz 工具是可执行文件。 (如果您使用的是 Windows 系统,可跳过此步。)
资讯:如何确保这是可执行文件?
Windows:zeuz 工具是可执行文件,无需其他操作。
macOS:参见 support.apple.com。
Linux:在终端窗口中,输入 sudo chmod +x /path/to/zeuztool (请将
path/to
替换为正确的文件路径)。
(仅限 macOS) 我的电脑无法确认开发者的身份
- 允许该应用程序 (文件) 运行。
- 参见指南:support.apple.com。
步骤 4:身份认证
使用 zeuz 命令行工具来验证身份,具体操作为:
打开终端窗口,从 zeuz tool 所在的目录里使用 API 密钥及其密码来运行 auth_login
命令 (如下所示)。确保您按照_身份认证登录命令使用指南_ 操作。
Windows:
zeuztool.exe auth_login login="your API key" password="your API key password" isapi=true endpoint="https://zcp.zeuz.io/api/v1"
macOS 和 Linux:
./zeuztool auth_login login="your API key" password="your API key password" isapi=true endpoint="https://zcp.zeuz.io/api/v1"
身份认证登录命令使用指南
请将 your API key
和 your API key password
替换为您自己的 API 密钥及其密码。
返回 400
错误
- 您可能使用了定向 (弯曲) 引号,请将定向引号替换为非定向 (直) 引号,即 ( " ) (ASCII 34)。
- 您的 API 密码中可能包含特殊字符 (非字母数字的字符),请在所有特殊字符前添加转义字符 ( \ ) (反斜杠)。
(仅限 macOS) 我的电脑无法确认开发者的身份
- 允许该应用程序 (文件) 运行。
- 参见指南:support.apple.com。
完成
当终端窗口中出现类似下列示例的输出时 (其中 `xxxhashxxx` 为哈希字符串),代表运行成功。示例如下:Zeuz Tool development version login: https://zcp.zeuz.io/api/x xxxhashxxx
Login Session: xxxhashxxx
Load LocalConfig: /Users/yourusername/Library/ApplicationSupport/zeuz.io/zeuzcmd.json
步骤 5:上传游戏程序集
使用 zeuz 工具运行 push
命令 (如下所示) 来上传测试项目的游戏程序集。
游戏程序集即为 get_started_test_project
目录,其中包含测试项目的 server.sh
可执行文件和两个客户端相关的文件,您将把它们一并上传到游戏服务器。具体操作为:
在终端窗口中,从 zeuz 工具所在的目录里运行下列命令,确保按照_Push 命令使用指南_ 和_Push 命令备注_ 完成操作。
Windows:
zeuztool.exe push proj="your zeuz PROJECT ID" env="your zeuz ENVIRONMENT ID" directory="path/to/get_started_test_project"
macOS 和 Linux:
./zeuztool push proj="your zeuz PROJECT ID hash" env="your zeuz ENVIRONMENT ID hash" directory="path/to/get_started_test_project"
Push 命令使用指南
- 请将
your zeuz PROJECT ID
和your zeuz ENVIRONMENT ID
替换为 zeuz 控制面板左侧的项目 ID 和环境 ID。 - 请将
path/to/get_started_test_project
替换为从 zeuz 工具所在的目录到get_started_test_project
的相对路径,并保留两侧的双引号 (")。 - 在该命令中必须使用非定向 (直) 引号 ( " ) (ASCII 34),请勿使用定向 (弯曲) 双引号。
Push 命令备注
- 上传过程需要一定时间,具体时长取决于您的网络访问速度。
- zeuz 工具可能会输出一些文本,将每个文件的哈希值与已上传文件的文件哈希数据库进行比较,然后上传数据库中尚不存在的文件。
返回错误?
- 请确保您指定的是
get_started_test_project
目录,而不是其中的可执行文件server.sh
。 - 如果您重新命名了
get_started_test_project
目录且新名称中包含空格,请用非定向 (直) 引号 ( " ) (ASCII 34) 将名称括起来。例如:"test project"
。 - 请确保命令尾部没有多余空格 (空格或回车空行)。
完成
当终端窗口中出现类似下列示例的输出时 (其中 `xxxhashxxx` 为哈希字符串),代表运行成功。示例如下:Finished uploading server.sh (xxxhashxxx)
Finished uploading index.html(xxxhashxxx)
Finished uploading favicon.ico (xxxhashxxx)
- 在终端窗口返回三条
Finished uploading <name of file>
信息且 zeuz 停止输出文本前,请勿继续执行下一步操作。 - 上传可能需要一点时间,具体取决于您的互联网连接速度。在上传过程中,zeuz 可能会输出一些文本。
步骤 6:容器化游戏程序集
使用 zeuz 工具对您在上一步上传的游戏程序集进行容器化。
运行 push_publish
命令 (如下所示)。zeuz 编排服务使用您的游戏程序集创建的容器化游戏镜像实例,即您游戏的负载。
在终端窗口中,从 zeuz 工具所在的目录里运行下列命令:
Windows:
zeuztool.exe push_publish description="zeuz test project" version="0.0.1"
macOS 和 Linux:
./zeuztool push_publish description="zeuz test project" version="0.0.1"
本教程中的项目描述为 “zeuz test project”,镜像版本为 “0.0.1”。您稍后在本教程中会用到该描述和版本,实际操作中您可以为描述输入任何字母数字字符,为版本输入任何数字。
Push_publish 命令备注
- 具体时长取决于游戏的大小。
- 当您看到终端窗口输出类似示例的字符串时,代表运行成功:
YYYY/MM/DD HH:MM:SS State: running
。
proj
和 env
ID。zeuz 命令行工具会在您的后续命令中自动添加它们。完成
当终端窗口中出现类似下列示例的输出时 (其中 `xxxhashxxx` 为哈希字符串),代表运行成功。示例如下:YYYY/MM/DD HH:MM:SS Image published: xxxhashxxx
资讯:关于负载和容器化游戏镜像的更多信息
容器化的游戏镜像包含下列内容:
- 您的游戏程序集 (游戏服务器端的可执行文件及其依赖项),其实例在 zeuz 启动裸机或云服务器时成为游戏服务器。
- 描述如何运行的命令。
当您设置 zeuz 编排时,可在“负载定义”部分指定容器化的游戏镜像。负载定义是 zeuz 用于启动游戏服务器实例的模板,所以游戏服务器实例是负载实例的一部分。
在 zeuz 中,“游戏服务器”和“负载”这两个术语在文档中经常互换使用,均意为“运行游戏的服务器软件”。
更多信息参见:
- 在本教程的下一节中,您可了解有关负载定义和 zeuz 编排设置的更多信息。
- 从游戏可执行文件到负载定义 (负载生命周期文档)
下一步:6 - 创建配载
2021年6月30日 该文档已更新并通过审校:更新 zeuz 控制面板的 URL 2021年5月19日 该文档已更新并通过审校:阐明 zeuz 术语 2021年4月16日 该文档已更新并通过审校:热更链接