Skip to main content

Docker 部署指南

Docker 部署指南

致谢

本指南得以实现,主要归功于 Shadow Panther 的云端服务器镜像

前置条件

  • 基本熟悉:
    • 命令行系统
    • 编辑配置文件,特别是 JSON 格式
    • Docker 和 Docker Compose
  • 一个拥有足够等级(Discoverer 及以上)以访问 Headless 软件的 Resonite 赞助者账号。
    • 你只需要一个拥有权限的账号来获取代码 —— 如果你想用另一个 Resonite 账号来运行你的云端服务器,该账号不需要是赞助者。
  • 一个备用的 Steam 账号,最好已禁用 Steam 令牌(Steam Guard)。

建议

在开始之前,这里有一些建议:

  • 使用非 Windows 电脑
    • 虽然此设置在 Windows 上也能工作,但与其他操作系统相比,Windows 上的 Docker 可能不太稳定。为了减少问题,尽量不要使用 Windows + Docker 来托管云端服务器。
  • 使用单独的电脑运行 Headless
    • 在你运行 Resonite 客户端的同一台电脑上运行云端服务器软件,可能会导致图形客户端和云端服务器都出现性能问题。
  • 使用单独的 Resonite 账号
    • 虽然你可以使用你的主 Resonite 账号来托管云端服务器,但使用单独的账号有一些优势:
      • 独立的登录凭据
      • 专用的云存储空间,不占用你主账号的空间
      • 独立的设置 / 封禁列表 / 允许的主机列表
      • 允许你在主账号上使用双重验证(2FA)—— 云端服务器 目前不支持 2FA (Issue #253),所以你无法在 云端服务器 上使用开启了 2FA 的账号。
  • 为 Headless 使用专用的 Steam 账号
    • 保持登录凭据与你的主账号分离,如果你在共享环境中使用或使用脚本下载更新,这一点很有好处。
    • 为了允许使用 steamcmd 或 Docker 等工具进行无人值守更新(Steam 不会保持登录状态),关闭 Steam 令牌会更安全。
    • 避免 Steam 登录冲突问题。

安装 Docker 与 Docker Compose

  1. 访问 Docker 获取页面
  2. 按照你操作系统的说明进行安装。
  3. 确保你同时也安装了 Docker Compose。根据你的安装方式,它可能已经包含在内了,如果没有,请查看 Docker 文档页面 了解详情。

测试 Docker 设置

要验证 Docker 是否已在你的机器上设置好并正常工作:

  1. 打开一个终端窗口。
  2. 输入 docker run hello-world
    • 如果一切顺利,你会看到 Docker 发出的一条令人愉快的消息,告诉你一切正常。
  3. 运行 docker compose version 来验证你是否拥有 Docker Compose,你应该能看到打印出的 Docker Compose 版本号。

Docker 复习

如果你需要关于 Docker 的一般信息,我们有一个单独的页面。

获取文件

对于本设置,我们将使用一些托管在 GitHub 仓库 上的示例文件。如果你熟悉 git,你可以直接去那里并按照那里的指引操作。

但如果你不熟悉 git,别担心。你甚至不需要安装 git,只需继续阅读本 Wiki 即可。

  1. 以 Zip 格式下载文件
    • 此 zip 包直接来自 GitHub。
  2. 解压 zip 文件。
  3. 你应该会得到一个名为 "Headless" 的文件夹。

指定凭据

接下来,我们需要收集一些凭据并将它们放入 "Headless" 文件夹内的一个文件中。

请准备好:

  • 赞助者云端服务器代码
  • 一个备用 Steam 账号的用户名和密码
    • 该 Steam 账号不需要拥有任何游戏。
    • 该 Steam 账号不需要是 Resonite 赞助者。
    • 我们建议使用与你平时玩 Resonite 不同的 Steam 账号。
    • 我们建议关闭 Steam 令牌以防止登录时出现问题。这可以在 Steam 网站 上完成。

准备好后:

  1. 在 "Headless" 文件夹内,创建一个名为 .env 的新文件。
  2. 添加一行:RES_HEADLESS_CODE=<Headless Code>,其中 <Headless Code> 替换为你的赞助者 Headless 代码。
  3. 添加一行:RES_STEAM_LOGIN=<Steam Username> <Steam Password>,其中 <Steam Username><Steam Password> 替换为你的 Steam 账号用户名和密码(中间用空格隔开)。
  4. 保存文件。

运行云端服务器

这是最后一步,一切应该都准备就绪了!

  1. 在云端服务器文件夹中打开一个终端窗口。
    • 在 Windows 上:
      1. 在 Windows 资源管理器中云端服务器文件夹内的空白处按住 Shift 并点击右键。
      2. 选择“在此处打开 PowerShell 窗口”。
    • 在 Linux 上,对于像 Ubuntu 这样的常见发行版,你可以右键点击文件夹浏览器并选择“终端”或“打开终端”。
  2. 在终端窗口中输入 docker compose up

在此之后,终端中会出现大量项目,这可能看起来很吓人,但请稍等,过了一会儿(大约 3 到 10 分钟),你应该会看到:resonite-headless | World running...

这意味着你的云端服务器正在运行。

加入你的云端服务器

在 Resonite 中使用你的常规账号:

  1. 打开世界浏览器。
  2. 选择左侧的 "云端房间"项。
  3. 在搜索栏中输入 "Testing"。
  4. 你应该能看到你的 Headless 会话。
  5. 点击它。
  6. 点击 Join(加入)。

局限性与进阶指南

由于本指南力求简单,你可能会发现有一些东西你想更改或修正,为此这里有一些链接供你参考:

  • 你的世界只是一个简单的网格世界,你想换成自定义世界:
  • 你的云端服务器名字很奇怪:
    • 这个名字是基于 Docker 运行时内部生成的 ID。
    • 要覆盖它,只需在你的 示例配置文件 中添加一个 Resonite 用户的用户名和密码。
    • 或者查看我们的 配置指南
    • 该 Resonite 账号不需要:
      • 是 Patreon 赞助者。
      • 我们建议使用与你日常使用的 Resonite 账号不同的单独账号。
  • 你想在 Headless 中拥有 Builder(建造者)权限:
  • 你的问题没有得到解答?

另请参阅