把其他盘的游戏给Steam:我的游戏库整合全记录

从十几年前开始折腾电脑游戏起,我的硬盘就一直是乱糟糟的。最开始一块500G机械盘,所有游戏都挤在里头,后来加了个固态给系统,又把常玩的挪到固态上,不常玩的丢机械盘。再后来有了Steam、Epic、Uplay,买游戏的冲动和磁盘空间的拮据永远在打架。最头疼的不是空间不够,而是那些散落在不同盘符、不同文件夹里的游戏,每次想玩都得愣一下神——它到底在D盘还是在E盘?甚至有些非Steam平台的游戏,我手动建了快捷方式,但总觉得和Steam库格格不入。

某个周末下午,对着满屏的文件夹图标发了五分钟呆,我终于决定把所有游戏都交给Steam管理。不光是Steam自家的,还有那些从GOG、itch.io下下来的独立玩意,甚至一些老游戏的免安装绿色版。我想让Steam成为我唯一的游戏启动器,把那些东一个西一个的.exe全部收纳进去。这个想法一旦冒出来就再也压不下去了,我立刻挽起袖子开干。

第一步:用Steam现有功能添加外部游戏

其实Steam早就内置了添加非Steam游戏的功能,位置在菜单栏的“游戏”->“将非Steam游戏添加到Steam库”。打开后会自动扫描一些常见程序,但大部分游戏都不会出现在列表里。我习惯点“浏览”,直接找到游戏的exe文件,选中添加。不过这样加进来的游戏只是有了一个快捷方式,启动时仍然走原来的程序,既不能自动更新,也没有云存档,连游戏时间统计都时灵时不灵。聊胜于无吧,至少桌面清爽了一点点,但距离“整合”还差得远。

第二步:把已经安装的Steam游戏转移到其他盘

我自己碰到最典型的场景是:某款游戏是Steam上买的,当初默认装在了C盘,后来C盘飘红,想把游戏搬到D盘去。很多人以为必须卸载重装,其实Steam自带游戏迁移功能。在Steam客户端里,对游戏点右键->属性->已安装文件->移动安装文件夹,就能选择当前已有的其他Steam库目录,或者新建一个。我靠着这个功能把《巫师3》从C盘挪到了E盘,整个过程中进度条走完,进游戏一切正常,连存档都在。这应该是官方最舒服的方案,但前提那个盘必须被添加为Steam库文件夹。

第三步:把散装的非Steam游戏“包装”成Steam游戏

真正让人头疼的是那些不属于Steam的游戏。我尝试过几种硬核操作,最终留用了符号链接。举个例子,我在D盘某个角落有个老游戏叫《Battlezone 98》,原版exe直接双击就能玩,但我希望它出现在Steam库,并且可以通过Steam启动。做法是先在Steam新建一个库文件夹,比如D:\SteamLibrary,然后在里头按Steam的命名规则建一个文件夹(比如D:\SteamLibrary\steamapps\common\Battlezone),接着在那个文件夹里创建一个指向真实游戏目录的junction点。用命令行的mklink /J命令就能搞定。之后在Steam里执行“添加非Steam游戏”,把这个junction点里的exe加进来。Steam会误以为它真的在库文件夹里,软件盘里甚至能读取我随便放进去的一张饼图。这方法完美解决了路径欺骗的问题,但记得Steam更新时可能会扫掉链接文件,得留个心眼。

我还用过Steam Mover这类工具,原理和符号链接类似,但更傻瓜化。不过我自己更喜欢亲手敲命令,至少知道它在干什么。

最终效果和一点感慨

现在我的Steam库里有三百多款游戏,其中一大半其实是非Steam的。为了区分,我把它们的封面改成了统一的灰白风格,起名时加上[N]前缀。启动游戏时,不管是Steam原生还是外部过来的,我都能在大屏幕上直接点开,退出时Steam也会自动记录时长。虽然很多外部游戏没法记录云存档,但至少启动这个动作统一了,我不用再跑到文件夹里扒拉。为了达到这个效果,我前后折腾了两天,中间还搞崩过一次系统(因为手误把lnk文件当成系统文件夹删了)。但看着那个干净整齐的库,心里舒坦极了。

这么多年过去,硬盘换了好几块,Steam库也迁移过好几次,当初那些“把其他盘的游戏给Steam”的奇怪想法反而成了最常被朋友问起的经验。对我而言,整合游戏不只是省了几个点击,更像是把过往零碎的记忆收集到一个屋檐下,每次打开都能看到第一人称射击的青春、RPG带来的感动,还有当年熬夜找破解的傻气。而Steam,恰好是这个屋檐最自然的入口。