那是一个周五的晚上,我躺在椅子上,看着蒸汽平台(Steam)下载进度条一点点挪动:《荒野大镖客2》已经下载了75%,还差十多个G就完事了。我心里美滋滋,盘算着周末能驰骋西部。突然,手机一阵震动,朋友发来消息:“兄弟,我《战地1》打折买了,你来我号上试试,贼爽!”我当时脑子一热,想都没想,直接点击Steam客户端左上角的“切换用户”,输入朋友的账号密码——结果,我亲眼看着那个下载进度条直接从75%变成了“队列中”,然后消失得无影无踪。我愣了足足五秒,赶紧切回自己账号,发现《荒野大镖客2》的下载列表空了,就连那个已经下载到一半的文件夹都还挂在硬盘里,可Steam就是不认,必须从头开始。那个晚上,我盯着重新开始的0%,嘴里骂了一句,然后默默点了根烟。
为什么Steam换号下载会中断?
后来我跟几个搞开发的朋友聊了聊,也自己琢磨了不少时间,总算是弄明白了。Steam下载的游戏文件,表面上是一堆dat文件,但每个文件都跟当前登录账号的用户ID绑定了。具体来说,Steam在下载时会生成一个临时的加密密钥,这个密钥是用你的账号令牌加密的。当你切换账号进入游戏时,Steam客户端会重新读取新的用户数据,旧账号的密钥就失效了。所以,哪怕文件还躺在steamapps\common里,Steam也会认为那堆文件是“不可用的”,必须重新下载或者重新验证完整性。另外,Steam的下载缓存目录也是按账号区分的。每个账号在downloads文件夹下都有独立的子目录,切换账号后旧的下载队列和断点信息全都不见了。这就是为什么你换号之后,之前的下载进度像从来没发生过一样。
我试过哪些“土办法”
我当然不甘心。作为一个老折腾玩家,我试过把下载了一部分的游戏文件夹直接复制到新账号的目录下,再点下载,结果Steam确实开始“发现现有文件”,但校验到一半就报错,说文件损坏,最后还是得重新下载。我也试过在切换账号之前,暂停下载,然后整个备份steamapps文件夹,切换后再放回来,结果一样——Steam不认。后来我甚至试过用Steam库的“转移安装文件夹”功能,但那个只能用来移动游戏,不能跨账号。还有一次,我尝试让两个账号同时登录(通过多开工具),结果下载直接卡死。反正,在换号这件事上,我吃够了苦头。
现在的我:一步一个脚印
经过那几次惨痛教训,我算是彻底明白了:想省时间,就别手贱换号。如果你确实需要用另一个账号玩另一个游戏,那也得等当前游戏下载完。或者,你可以利用Steam的家庭库共享功能,把朋友号上的游戏共享过来,用你自己的账号下载。但注意,共享后的游戏下载时还是绑定的你主账号,不会因为切换而中断。不过,如果你要下载的游戏是两个不同账号分别购买的……那就老老实实一个账号一个账号地来吧。别想着偷懒,Steam的机制就是防这个的。现在,我在下载大型游戏之前,都会先确认接下来的几个小时不会需要换号。如果实在忍不住想玩另一个游戏,我会把当前下载取消,或者直接关机睡觉。年纪大了,经不起这种进度归零的惊喜。