三年前,我在一个游戏社区里看到有人问:“我通过‘添加非Steam游戏’把某个老游戏塞进Steam库,为什么它一直不自动更新?”底下回复五花八门,有人说“能更,跟商店买的一样”,有人说“根本不会更新”。那时我刚开始认真经营自己的游戏库,心里也犯过嘀咕:Steam一直标榜自己是玩家的统一入口,难道连最基本的更新维护都做不到吗?后来我用自己的几个游戏做了实验,也翻了大量技术讨论,才把这块石头搬开。
商店游戏 vs. 非Steam游戏:更新机制的两种命运
首先要分清“添加的游戏”到底是哪一种。通过Steam商店购买或通过激活码兑换的游戏,只要开发者在后台推送了补丁,Steam客户端就会自动检测并下载更新,哪怕你只是在库列表里看它一眼。我电脑里一半以上的大作都是这样过来的,从《巫师3》到《泰坦陨落2》,没有哪次需要我手动去找补丁包,这种省心就是Steam最大的魅力之一。
但如果是你通过“添加非Steam游戏”功能导入的可执行文件——比如从GOG下载的DRM-Free版,或者某个十年前的光盘版游戏——那情况就完全变了。我第一次尝试是把《英雄无敌3》的免安装版加进库,希望Steam能帮我管理它的升级档。结果一个月过去,它始终停留在初始版本,连个补丁提示都没弹出。我那时以为是设置问题,后来才明白:非Steam游戏本质上只是一个快捷方式,Steam根本不知道它从哪来,也没有权限扫描和替换它的文件。
为什么非Steam游戏不能自动更新?
Steam的更新依赖一套嵌入在游戏目录里的Steamworks API,这套API知道游戏当前版本号,能联系后台服务器,还能校验文件完整性。非Steam游戏根本不带这个组件,Steam客户端连它的版本号都读不到,又怎么知道该不该更新?更深层的原因在于,Steam对所有经它分发的游戏都要求统一文件管理,而第三方游戏的文件结构五花八门,强行介入轻则报错重则存档损坏。开发者设计这个功能时就只打算做“启动器”,没想做一个万能更新器。
有些人会想到一个折中:把非Steam游戏手动替换成新版本,再通过Steam启动,那算是更新吗?从结果看是,但这个过程跟Steam没半点关系,只是你自己在折腾。我后来也就释然了:既然选择了平台外的东西,就得接受它平台外的属性,Steam不可能既当裁判又当运动员。
容易被误解的“激活码游戏”
还有一种情况经常让人混淆——通过第三方网站购买的Steam激活码。这类游戏虽然在购买界面不在Steam商店内,但激活后跟你直接付款买的完全一样,属于标准的Steam游戏,自动更新毫无障碍。我买过几次折扣Key,入库后更新提示、云存档、成就一个不落,和商店版没区别。所以以后看到有人说“我买的Key不能更新”,八成是激活了另一个平台或者卖家的文件压根不是Steam版。
那个纠结的夜晚
记得那个晚上我盯着《英雄无敌3》的旧版本图标,心里不是滋味——明明Steam就在后台跑着,却没办法帮我把这个老古董刷新一下。后来我干脆不再把它放在Steam库里,单独留一个文件夹自己打理。每次手动下载中文修正补丁、替换文件时,反而多了几分掌控感。或许这就是数字世界的真实:你获得的免费权限从来不是无条件的,每一点便利背后都有一堵不能逾越的墙。现在偶尔看到新手问同样的问题,我都会想起自己当年的模样。有没有更新,其实取决于你愿不愿意接受这个简单又绝不简单的答案。
