那天晚上,我像往常一样打开Steam,打算下载期待已久的《艾尔登法环》。结果因为网络不太好,我习惯性地按了暂停,想等半夜再下载。可是……当我再次打开下载列表时,整个下载任务竟然凭空消失了!
我一开始以为是自己眼花了,刷新了几次,甚至重启了Steam客户端。但不管我怎么折腾,那个50GB的下载进度就是找不回来。游戏在库里显示“未下载”,可重新点击下载,它又开始从0%下载。这让我非常恼火——我的时间都浪费了。
我上网搜了很多方法,但大多都是泛泛之谈。有的说清缓存,有的说改下载地区,有的说在下载管理器里找……可我的下载管理器里空空如也,好像什么都没发生过。我甚至怀疑是不是Steam账户被盗了,但检查了一圈,也没发现异常。
反复尝试,差点放弃
接下来的几天,我试遍了各种偏方:用手机热点下载、关闭杀毒软件、重装Steam、在安全模式下运行……结果统统无效。每次点击下载,都是一个全新的任务,之前的暂停点彻底没了。那种感觉就像你写了一篇长文,没保存就关掉了,真想砸电脑。
而且我还发现一个诡异的现象:如果我不暂停,让下载一直跑,就没事。但只要一按暂停,任务就有几率消失。后来我猜测,可能是Steam客户端在暂停时出现数据丢失,导致下载记录被删除。
转机来自一个意外的操作
就在我准备放弃,打算重新下载的时候,我随手点开了Steam左上角的“Steam”菜单,选择了“设置”。然后进入“下载”选项卡,往下拉,看到了一个叫“清除下载缓存”的按钮。我之前见过但一直没敢点,因为提示说会移除下载记录。反正已经没了,我索性点了。
点击后,Steam提示需要重新登录。我照做,登录回去,奇迹发生了——下载队列里重新出现了那个游戏,而且进度还保留了!我简直不敢相信自己的眼睛。后来我又试了几次,发现这个操作屡试不爽。
为什么清除缓存有用
原来,Steam在下载游戏时,会把下载状态写入一个缓存文件。如果正常暂停,缓存会保存当前进度。但有时候因为网络波动、硬盘卡顿或者客户端bug,缓存写入会出错,导致任务在界面消失,但实际进度还在缓存里。清除缓存后,Steam会重新读取,从而恢复任务。当然,这个方法不是100%有效,但大概率能救回来。此外,我后来还发现可以通过备份Steam文件夹下面的一些文件来预防,但这都是后话了。
一点感悟
经过这次折腾,我每次下载大游戏都会多留个心眼。暂停前先等几秒,确保下载稳定了再操作。而且我养成了定期备份downloads文件夹的习惯。不过话说回来,Steam这个bug确实存在了好几年,Valve一直没修复,真是让人又爱又恨。从那时起,每次遇到下载任务消失,我都会直接去清缓存,每次都管用。虽然不是什么官方解决方法,但对我而言就是救星。
