跳转至

User Handbook - 备份/同步 Eden 游戏存档

当你想要使用 Syncthing 配置 Eden 存档文件的自动备份/同步时,请使用本指南。

参见此处查看带插图的指南。

前提条件

  • Eden 已安装、配置并能正常运行。
  • 用于运行 Syncthing 的设备。
  • 允许程序通过设备防火墙进行通信的能力。

简介

  • 尽管这是一种去中心化模型,没有服务器/客户端、父设备/子设备等概念——但为了本指南的目的,我们将借用该模型的术语,以避免同步冲突和潜在的数据丢失。初始设置完成后,同步网络中的所有设备都是对等的,都可以向任何其他设备推送和拉取文件。
  • 为了使其正常工作,你应该将 Eden 中的所有存档文件都放到父设备(Parent)上的存档文件夹中。
    • 如果你需要帮助,请参阅你选择作为父设备(Parent)的平台的 导入存档到 Eden 指南,并删除“子设备(Child)”上的存档文件。

术语

  • 同步网络(Sync Network):所有在 Syncthing 中配置为推送/拉取文件的设备。
  • 父设备(Parent):这是你选择向其他设备推送文件的设备。为了避免同步冲突,初始阶段只能有一台父设备。
  • 子设备(Child):加入同步网络(Sync Network)的所有其他设备。这些设备将从父设备(Parent)拉取文件。

概述

这里不会对所有的平台和配置进行逐一说明,这些内容会在各平台特定的指南中介绍——本部分作为 Syncthing 的总体概述。

到底什么是 Syncthing?

Syncthing 是一个持续的文件同步程序(通俗地说,就是确保 2 个或更多系统中的相同文件始终保持最新)。这对于游戏存档来说非常理想:你可能想在一台设备上玩游戏、保存进度,然后在另一台设备上继续游玩。Epic/Steam 等平台在通过其各自服务运行游戏时,使用的正是这种技术。Syncthing 是这种技术的开源实现,由你自行控制,而不是依赖第三方。这有几个关键优势,最明显的是:更好的安全性、隐私性,以及在局域网(LAN)上时的速度。

有哪些常见问题?

幸运的是,Syncthing 相当稳健,没有太多问题,但你还是需要注意一些事项(几乎都属于用户使用问题)。

  • 同步冲突(Sync conflicts)
    • 如果出于某种原因你在两台不同的机器上更新了同一个文件,系统不知道该把哪个更新后的文件视为需要同步的文件。这会导致 同步冲突(sync conflict) ,文件可能不会按你期望的方式同步。最坏的情况下,如果不小心,你的存档进度可能会丢失。发生此类冲突时,系统会创建该文件的一个副本,并以特定名称存储,例如:Paper Mario.sync-conflict-20251102-072925-TZBBN6S.srm。要解决此问题,你需要删除其他文件,并从你想保留的文件的文件名中移除 *.sync-conflict-<TIMESTAMP>-<Syncthing Device ID>* 部分。
  • 意外删除(Accidental Deletions)
    • 如果你从其中一台设备删除了某个文件,当其他设备执行同步时,该文件也会从这些设备上被移除,所以操作时要小心。

Windows

前提条件

  • Eden 已安装、配置并能正常运行。
  • 允许程序通过 Windows 防火墙进行通信的能力。
  • 能够解压缩归档(.zip/.7z/.rar)文件。

步骤

下载并安装 Syncthing

  1. 下载 Syncthing Tray。
    1. 虽然它也有命令行界面,但对于大多数人,我会推荐在 Windows 上使用 Syncthing Tray。对大多数人来说,你需要下载 64-bit (Intel/AMD) 版本。
  2. 打开下载的归档文件,将 syncthingtray.exe 解压到你想要存放该可执行文件的位置。
  3. 双击运行该应用程序,在出现的启动画面上选择 Start guided setup,然后点击 Next。

    4. 随后它会寻找现有的 Syncthing 实例以从中获取设置,但如果你走到这一步,很可能会找不到。无论如何,请选择 Yes, continue configuration 选项。 5. 选择 Start Syncthing application that is built into Syncthing Tray,这意味着它将使用 Syncthing Tray 内置的 Syncthing 可执行文件,而不是依赖外部提供的可执行文件。点击 Next 继续。 6. 勾选登录时启动 Syncthing Tray 的选项——顾名思义,这意味着每当你登录计算机时,该程序都会自动运行。点击 Next 继续。 7. 现在会出现一个确认窗口,列出你所做的选择;确认无误后,点击 Apply 继续。 8. 接下来会弹出一个确认窗口,并显示一条允许它通过防火墙的消息。允许访问通过防火墙以关闭该弹出窗口。确认屏幕上有一个二维码和该设备的标识符——你需要其中一项来将其他设备添加到同步系统中。 9. Syncthing/Syncthing Tray 现已安装完成。

将此机器配置为父设备(Parent)

当你希望将此机器设置为初始的权威数据源(即向所有其他设备推送文件)时,可使用此方法。之后所有设备都将成为对等的合作伙伴,而不再是父/子关系;这只是为了帮助完成初始设置。

  1. 右键点击任务栏中的 Syncthing 托盘图标,然后选择 Open Syncthing。
  2. 现在会有一个浏览器窗口打开到用于配置 Syncthing 的 Web GUI。 你会看到一个关于允许匿名使用和设置密码的弹窗,做出你的选择以关闭它们。
  3. 我们首先点击 + Add Folder 来添加包含我们要同步的存档文件的文件夹。
  4. 将出现一个弹窗,在 Folder label 字段中填入你想要的任何名称,例如 Switch Saves。
  5. 输入此机器上存档文件存储位置的完整文件夹路径。

  6. 暂时忽略其他选项卡,点击 Save。

  7. 该文件夹现在已准备好与其他设备共享。

将此机器配置为子设备

当你希望将此机器设置为子设备(从其他设备拉取文件)时,请使用此步骤。 之后它们都将成为平等的伙伴,而不是父子关系,这只是有助于初始设置。

  1. 按照上面的部分在客户端设备上安装 Syncthing Tray。 复制子设备的 ID 并保存好,以便父设备可以访问。
  2. 在父设备上: 右键点击任务栏中的 Syncthing 托盘图标,如果尚未打开,请选择 Open Syncthing。
  3. 现在会有一个浏览器窗口打开到用于配置 Syncthing 的 Web GUI。 你会看到一个关于允许匿名使用和设置密码的弹窗,做出你的选择以关闭它们。
  4. 向下找到 + Add Remote Device,我们将添加我们的子设备,所以我希望你手边有它的 ID。 如果没有,请回去获取。
  5. 添加 ID 并为设备命名,该设备可能会显示为 nearby device,在这种情况下,你只需点击它即可自动填入 Device ID。
  6. 点击 Sharing 选项卡,然后勾选你在父设备上设置的文件夹旁边的复选框(在我的例子中是 Switch Saves)。 点击 Save。
  7. 父设备部分已完成,现在 切换到子设备。
  8. 在子设备上: 右键点击任务栏中的 Syncthing 托盘图标,如果尚未打开,请选择 Open Syncthing。
  9. 你现在应该会看到来自父设备的连接请求。 点击 + Add Device 来添加该设备。
  10. 点击 Save 完成添加设备。
  11. 该弹窗将关闭,然后你会收到设备现在想要共享文件夹的通知。 点击 Add。
  12. 输入 Eden 中存档文件夹的路径,然后点击 Save。

  13. Syncthing 现在将从父设备拉取所有文件,并将它们存储在你的本地存档目录中。 此时文件已同步,对一台设备的修改会影响另一台设备,并且这两台设备都可以被视为你想要添加的其他设备的"父设备"。 对任意多台你想要的设备重复这些步骤。

Linux

前置要求

  • Eden 已安装、配置并正常运行。

第 1 步:下载并安装 Syncthing

  1. 从 Flatpak 商店下载 Syncthing Tray。
  2. 启动 Syncthing Tray 来运行它,在出现的启动屏幕上选择 Start guided setup,然后点击 Next。
  3. 然后它会查找现有的 Syncthing 实例以获取设置,但如果你来到这里,它很可能会找不到。 无论如何,选择 Yes, continue configuration 选项。
  4. 选择 Start installed Syncthing application via Syncthing Tray,这意味着它将使用内置的 Syncthing 可执行文件,而不是依赖外部提供的可执行文件。 点击 Next 继续。
  5. 现在将出现一个带有你所选选项的确认窗口,确认它们是你想要的,然后点击 Apply 继续。
  6. 接下来会提示你一个带有二维码和设备标识符的确认窗口 - 你需要其中之一才能将其他设备添加到同步系统中。
  7. Syncthing/Syncthing Tray 现已安装完成。 点击 Finish 关闭弹窗。

第 2 步:将此机器配置为父设备

当你希望将此机器设置为初始数据源(将文件推送到所有其他设备)时,请使用此步骤。 之后它们都将成为平等的伙伴,而不是父子关系,这只是有助于初始设置。

  1. 右键点击任务栏中的 Syncthing 托盘图标,然后选择 Open Syncthing。
    1. 如果你的发行版没有任务栏,你也可以直接通过打开 Web 浏览器访问:http://127.0.0.1:8384/。
  2. 现在会有一个浏览器窗口打开到用于配置 Syncthing 的 Web GUI。 你会看到一个关于允许匿名使用和设置密码的弹窗,做出你的选择以关闭它们。
  3. 我们首先点击 + Add Folder 来添加包含我们要同步的存档文件的文件夹。
  4. 将出现一个弹窗,在 Folder label 字段中填入你想要的任何名称,例如 Switch Saves。
  5. 输入此机器上存档文件存储位置的完整文件夹路径。
  1. 暂时忽略其他标签页,点击 Save。
  2. 现在这个文件夹就可以与其他设备共享了。

第 3 步:将此机器配置为子设备

当你希望将这台机器设置为子设备(从其他设备拉取文件)时,请使用此方法。之后它们都会成为对等伙伴,而非父子关系;这只是在帮助完成初始设置。

  1. 按照上面的章节在客户端设备上安装 Syncthing Tray。复制子设备的 ID 并保存好,以便父设备可以访问。
  2. 在父设备上:如果 Syncthing Tray 尚未打开,请右键单击任务栏中的 Syncthing Tray 图标,然后选择 Open Syncthing。
  3. 现在浏览器窗口中会打开一个 web GUI,用于配置 Syncthing。此时会弹出关于允许匿名使用和设置密码的提示,请做出你的选择以关闭这些弹窗。
  4. 向下找到 + Add Remote Device,我们要添加子设备,所以希望你已经准备好了它的 ID。如果没有,请返回去获取。
  5. 输入 ID 并为设备命名。该设备可能会显示为附近设备,此时只需点击它即可自动填入 Device ID。
  6. 点击 Sharing 标签页,勾选你在父设备上设置的文件夹旁边的复选框(我的例子中是 Switch Saves)。点击 Save。
  7. 父设备的操作已完成,现在切换到子设备。
  8. 在子设备上:如果 Syncthing Tray 尚未打开,请右键单击任务栏中的 Syncthing Tray 图标,然后选择 Open Syncthing。
  9. 你应该会看到来自父设备的连接请求弹窗。点击 + Add Device 来添加设备。
  10. 点击 Save 完成设备添加。
  11. 该弹窗会关闭,然后你会收到通知,提示该设备现在想要共享一个文件夹。点击 Add。
  12. 在 Eden 中输入存档文件夹的路径,然后点击 Save。
  1. Syncthing 现在会从父设备拉取所有文件,并存储到你的本地存档目录中。此时文件已经同步,对其中一个的修改会影响另一个;两者都可以视为你想添加的其他设备的父设备。想添加多少设备,就重复这些步骤。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 eg/Eglantine