每次登录 Steam 都重新下载?我花了两周才找到病根

作为一个从初中就开始混迹 Steam 的老玩家,我本以为早已对它的各种小脾气免疫了。但就在上个月,我遭遇了前所未有的噩梦:每一次登录 Steam,它都会从头开始下载我早已安装好的游戏。几十个 G 的《使命召唤》、几百兆的补丁,眼睁睁看着进度条归零,然后重新爬升。那种感觉,就像有人趁你睡觉把你的硬盘格式化了。

诡异的循环

最初我以为是网络波动或者服务器抽风,毕竟 Steam 的下载服务器偶尔也会犯病。可后来发现,只要我退出账户再登录,或者电脑重启后打开 Steam,游戏就会显示“正在下载”。更离谱的是,上次明明玩了一半的存档也消失了,云端数据似乎被强制覆盖成了初始状态。

我试着验证游戏完整性,无一例外都是“文件完整”。强行开始下载后,居然能瞬间“下载”完成,然后又提示“需要更新”。点更新,进度条再次归零。如此循环,像是被困在时间的裂缝里。

每次登录 Steam 都重新下载?我花了两周才找到病根

病急乱投医

我按照网上流传的各种偏方试了个遍:禁用下载缓存、更换下载地区、关闭防火墙、重装 Steam 客户端。每一招都像在给一辆漏油的汽车换轮胎——治标不治本。重装客户端那一次是最崩溃的,因为连重装后第一次登录,它都要把刚下好的客户端完全删除然后再下一遍。

硬盘杀手?

我甚至开始怀疑是不是固态硬盘的寿命到了,读写出了问题。用 CrystalDiskInfo 扫了一遍,健康度 98%,没有任何坏道。又把游戏挪到别盘,设置新库文件夹,结果一样。这说明问题不在存储介质上。

真正的罪魁祸首

事情的转机出现在我无意间打开 Steam 安装目录下的 logs\connection_log.txt。里面赫然写着“Failed to remove file (access denied)”还有一堆重复的路径。我顺着线索查下去,发现问题出在 用户账户配置文件损坏

Windows 的用户资料夹里有一个叫 appdata\local\Steam 的目录,里面存放着 Steam 的本地用户数据和缓存。我的这个文件夹不知什么原因被系统标记成了“临时”属性,导致 Steam 每次启动都以为是从未登录过的状态,于是强制新建用户数据,同时把现有的游戏清单视为“未识别的垃圾”,然后你就看到了——重新下载。

不仅如此,我的 Steam 库文件夹权限也被篡改了,文件夹的“只读”属性一直无法解除。这导致 Steam 无法正常写入游戏列表文件,只能通过全部重下的方式来“确认”游戏存在。

自我救赎

找到原因之后,解决反而很简单。我彻底退出 Steam,删除了 %localappdata%\Steam 下面的 userdata 文件夹(注意,这会清空云端同步设置,但存档在云上丢不了),然后用管理员身份打开了命令提示符,输入 attrib -r -s %localappdata%\Steam\userdata\* /s /d 来移除文件夹的只读和系统保护属性。最后重新登录 Steam,奇迹出现了:所有游戏原地复活,进度条再也没有自己蹦出来过。

一点感慨

回想这两周,我几乎试遍了网上的所有方法,最后却被一个权限设置卡得死死的。Steam 作为全球最大的游戏平台,在 Windows 上的水土不服从未消失。也许对 Valve 来说,修复根本的权限冲突并不难,只是他们想不到会有人被一个临时文件夹折磨得怀疑人生。这次经历让我明白,游戏的 Bug 不只在游戏里,你的电脑本身也在偷偷给你挖坑。