一直以来,我的 Steam 都是自动登录的,直到那个看似平常的夜晚。
下班到家,换上宽松的衣物,打开电脑,习惯性双击 Steam 图标。等待它的不是熟悉的界面,而是那个输入用户名和密码的弹出窗口。我当时没在意,以为网络断了一下,输入密码,点击登录,结果弹出红色的警示:“账号或密码错误”。
起初我以为自己输错了密码,但连续试了几次都一样。我有点慌了,因为我的密码用了这么多年,不可能记错。我赶紧用手机登录 Steam 网页版,想确认账号状态。网页版正常登录,还提示我是否保存密码。说明密码是对的,账号也没被盗。
网页能登录,客户端却不行?
这让我百思不得其解。我开始在 Steam 客户端上进行各种尝试。先退出 Steam,重启电脑,再开,故障依旧。我甚至重新安装了 Steam 客户端(勾选了保留游戏文件),仍不奏效。我用管理员模式运行,用兼容模式启动,都没有用。
我怀疑是不是防火墙或者杀毒软件阻拦了 Steam 的验证请求。我暂时关闭了防火墙和所有杀毒软件,可还是登录失败。我还尝试修改 DNS 为 8.8.8.8,结果依然让人失望。
情绪跌落谷底
那段时间我几乎要被气炸了。Steam 里还有好多游戏没通关,每天晚上的放松时间就指望它,结果却因为登录问题无法使用。我甚至产生了重装系统的念头,但理智告诉我这不值得。我坐在电脑前发呆,深呼一口气,决定换个思路。
从根本入手——清除缓存
我在技术论坛搜索“Steam 客户端无法登录但网页可以”,看到有人提到可能是本地缓存或登录令牌损坏。具体操作是删除 appcache 文件夹和 ClientRegistry.blob 文件。我抱着死马当作活马医的态度,先完全退出 Steam,然后打开安装目录,找到了这两个东西。在删除前,我多留了个心眼,备份了整个 Steam 文件夹(怕出现意外)。然后我删除了 appcache 名称的文件夹,以及 ClientRegistry.blob 文件(这是一个没有后缀名的文件)。重新启动 Steam,它开始生成新的文件,但登录依然失败。
这时我想起还有一个步骤没做:清空 userdata 目录下某些可能保存令牌的子文件夹。但我不确定该删哪个,于是我将 userdata 下所有文件夹都重命名(相当于暂时移除),让 Steam 重新生成。再次启动 Steam,登录界面终于变得干干净净,像是第一次安装。我输入密码,心悬着,点击登录……终于成功了!我激动地差点从椅子上跳起来。
拨云见日
就这样,我的 Steam 恢复了自动登录,那些失去的时光又回来了。事后我分析,很可能是因为之前某次 Steam 更新或者我修改账户信息时,客户端留存了旧的身份令牌,导致每次登录都基于旧凭据,和服务器验证时冲突。而清除所有本地缓存和令牌数据后,客户端被迫重新获取授权,问题就解决了。
虽然这个过程谈不上复杂,但当时的信息分散和情绪困扰让我走了不少弯路。现在每次开启 Steam,听到那声“噔噔”,我都会会心一笑,这大概就是消除问题后的小确幸吧。
