我到现在都记得那个周末的晚上,我满怀期待地打开Steam,准备下载《博德之门3》。点击下载后,进度条一直显示‘0B’,动也不动。刚开始我以为只是服务器卡顿,等了几分钟还是老样子。我开始烦躁,试着暂停再继续,还是0b;重启Steam客户端,还是0b。我甚至重启电脑,依然没用。那种感觉就像你打开水龙头却一滴水也流不出来,憋屈得很。
第一反应:网络是不是挂了
我第一件事就是去检查网络。打开网页飞快,看视频也不卡。Steam平台却卡在0b,这不对劲。我试了网上很多人的方法,比如用手机热点连接,结果居然可以下载了。所以初步判断是我家网络和Steam服务器之间的连接有问题。具体原因可能是运营商限制、DNS解析异常或者IP被Steam判定为高延迟。于是我开始琢磨怎么绕过这个问题。
换一个下载区域
我之前就知道Steam的下载区域会影响速度,但不知道还能解决卡0b的问题。我在设置里把下载区域从中国切换到韩国、新加坡甚至美国洛杉矶。切换后,我点了‘下载’按钮,神奇地看到了进度条开始动。虽然速度不算快,但至少不是0b了。我觉得这可能是因为某些区域服务器响应快,能正常建立连接。不过后来的几天,我又遇到了同样的情况,这次连换区域都失效了。
清理下载缓存
在某个凌晨,我实在没辙,走到了‘清除下载缓存’这一步。在Steam设置 -> 下载 -> 清除下载缓存 点击后,Steam重启,我再次开始下载。这次终于又能走了。我后来查了一下,Steam的下载缓存有时候会记录错误数据,导致下载任务阻塞。清除缓存等于让Steam重头开始处理,所以能修复很多古怪问题。
磁盘写入权限
有一次我排查到了磁盘。我发现我的游戏盘格式是NTFS,权限正常,但剩余空间只有几GB。虽然官方写了需要几GB,但实际卡0b可能是因为Steam在预分配空间时无法写入。我试着删了一些旧游戏释放空间,再开下载,立刻就好了。我猜是Steam在开始下载前要创建文件并分配空间,如果磁盘空间不足或写入速度极慢,就会卡在0b。特别是在大容量游戏上,这个问题更明显。
软件冲突和系统服务
后来还遇到过由于QQ电脑管家之类的软件拦截了Steam的进程通信,导致下载请求发不出去。我关了这些软件,甚至关掉Windows防火墙,有时候管用。我甚至关掉了IPV6,因为听说Steam对IPv6支持不好。这些零碎的办法我都试了,有些有用,有些没反应。但核心思路就是排除杂项。
现在呢,我遇到steam下载卡在0b,已经不会像第一次那般暴躁了。我清楚这往往是网络、缓存或磁盘临时的毛病,按照经验挨个试试,基本都能解。唯一想说的是,Steam虽然好用,但这方面的体验确实让人抓狂。好在总归能找到办法,不至于永远卡在0b。
