用 Syncthing 同步游戏存档:哪些可行,哪些会坏
更新于 2026-09-01
Syncthing 是很多人最先想到的答案,理由也很充分:免费、开源、点对点,而且确实好用。但游戏存档打破了通用同步工具赖以成立的三个前提,而且失败得很安静。本文讲的是实际会出什么问题,以及什么时候值得换一个懂存档是什么的工具。
为什么大家会走到这一步
它确实是好软件。没有账号,没有订阅,你的文件从不停留在某家公司的磁盘上,而且什么都能同步:文档、照片、一个存档文件夹。如果你本来就在用它做别的事,再加一个文件夹只花三十秒。这是实打实的理由,对某些配置来说也是正确的选择。
会坏掉的三件事
它会在游戏运行时同步。 Syncthing 对"文件发生变化"作出反应,对文档而言这完全正确。但游戏是在游玩过程中写存档的,有时还分几次写,一个在写入途中被抓到的文件,会以残缺的状态传过去。另一台机器于是拿到一个游戏可能拒绝读取的存档。
冲突变成了文件,而不是决定。 当两台机器都改了同一个存档,Syncthing 会做安全的事——两个都留下,把其中一个重命名为 something.sync-conflict-20260901-143022-ABCDEFG.sav。什么都没丢,但游戏不知道那个文件是什么,于是你只能在文件管理器里比对时间戳,决定保留哪一个下午的游玩。重复几次,文件夹里就堆满了没人敢删的冲突文件。
版本是按文件算的,不是按一次游玩算的。 Syncthing 可以把旧副本留在 .stversions 里,这比没有强。但一个存档往往由多个只有凑在一起才有意义的文件组成,恢复就意味着为每一个手动找出正确的时间点。并不存在"把这个游戏恢复到周二的样子"。
还有第四点,是 Steam 独有的:如果你指的是 userdata/<UserID>/<AppID>/ 而不是里面的 remote/,那你连 remotecache.vdf 以及那些本就应该因机器而异的成就和游戏时长文件也一起同步了。于是每次启动都像冲突,尽管没有任何存档动过。这正是手工搭建的 Steam Deck 与台式机方案让人觉得"坏掉了"的最常见原因。
你最后会自己搭出什么
上面这些都不是无解的。大家用逐个游戏的排除规则、一套版本策略,以及"先关游戏、等一会儿再碰另一台 PC"的习惯来应付。这行得通,而这份维护从此归你所有:多一款游戏就是多几条路径,而你忘记等待的那一天,就是你发现问题的那一天。
一个懂存档的工具会怎么做
Hoard 在你停止游玩之后、文件夹安静下来时才抓取,所以快照永远不会是写到一半的文件。每次抓取都是整个存档的一个版本,而不是单个文件的版本,因此还原只需一次点击,并且是整体复原。它知道哪个文件夹属于哪款游戏——读取开源生态共享的同一份社区存档位置清单,覆盖两万余款游戏——所以没有路径需要你维护,而且它追踪的是 <AppID>/remote/,不是它上一层。
什么时候 Syncthing 才是更好的答案
公平地说:
- 你本来就在跑它,再加一个文件夹是白得的。
- 你想要完全没有服务器的点对点,连自己的也不要。
- 你同步的远不止存档,宁愿一个工具管所有事。
- 你从不回退。 如果最新存档一直就够用,版本历史就是你用不上的机械。
两个一起用
它们可以共存,而且这是个合理的配置:通用同步负责文档和其他一切,懂存档的工具负责存档文件夹。唯一的原则是别把两者指向同一个文件夹——两个程序写同一批文件,正是在亲手制造你想避免的冲突。
也不经过我们的服务器
如果吸引你的一部分正是"不让任何东西碰到公司的磁盘",Hoard 也可以这样用:在自己的 PC 或 NAS 上运行 hoard-server,存档就从你的机器走到你的磁盘。没有我们这边的账号,没有发往我们的遥测,也没有中转——不经过我们的任何服务器,因为这条路径上根本没有我们的东西。参见如何自托管 Hoard。
同一个二进制、同样的检测、同样的历史。唯一变化的是存储归谁所有。也可以看所有存档同步工具的完整比较。
常见问题
Syncthing 到底能不能同步游戏存档?
能,简单场景下也做得不错。麻烦出在会在游玩过程中写入的游戏、由多个文件组成的存档,以及两台机器在两次同步之间都被改动过的情况。
我存档文件夹里的 .sync-conflict 文件是什么?
那是同步工具在冲突后保留了两个版本,而不是替你选一个。什么都没丢,但游戏读不了它们,而且每次都得靠你手动决定留哪个。
为什么我的 Steam 存档每次启动都冲突?
几乎总是因为被同步的是 remote/ 的上一层文件夹。它包含 remotecache.vdf 以及本就应该因机器而异的成就和游戏时长文件,所以两端永远达不成一致。
同步前必须先关掉游戏吗?
用通用同步工具的话,是的——正是这个习惯避免了写到一半的存档。懂存档的工具会自己等到文件夹安静下来。
我可以两个继续一起用吗?
可以。只是别把两者指向同一个文件夹,否则它们会为同一批文件打架。