Steam更新下载慢?我的血泪排查史

从初代HL2到现在的各种大作,我在Steam上也混了十几年了。按理说下载这事儿应该是家常便饭,可最近却让我撞上了鬼打墙——下载速度一直上不去,尤其是新游戏更新,那进度条走得比蚂蚁还慢。

症状初现:龟速更新

事情发生在入手赛博朋克2077大型DLC那天。我兴冲冲打开Steam,看到12G的更新,心想最多半小时不就完事了?结果现实给了我一记闷棍:速度始终在800KB/s晃荡,偶尔蹦到1.5MB/s然后迅速回落。我盯着那预计剩余5小时的提示,内心有一万只羊驼奔腾而过。

一开始我觉得是服务器问题,毕竟大作更新嘛,全球都在抢带宽。我试着切到韩国节点、香港节点,甚至东京节点,但速度反而更低了,只有可怜的300KB/s。看来问题不出在节点上。

Steam更新下载慢?我的血泪排查史

第一轮战斗:常规招数失灵

我开启了老玩家的必备技能。我试着:

  • 切换下载地区
  • 清空下载缓存
  • 重启路由器和光猫
  • 关闭所有后台网络应用
  • 临时禁用Windows Defender

这套组合拳在过去的岁月里屡试不爽,但这次居然完全没效果。我甚至把Steam的下载限速功能反复开关,也丝毫没有波澜。那一刻我有点绝望,总不能为了下个游戏去重装系统吧?

意外发现:问题竟在防火墙

那是个周六的清晨,我端着咖啡回想这几天的折腾。忽然灵光一闪:我前段时间为了折腾DDNS,在Windows防火墙里设置了一些入站规则,还把策略默认封禁了所有未明确允许的入站连接。会不会是那条针对Steam的规则太严了?

我赶紧打开防火墙的高级设置,果然看到一条写着 'Block all incoming connections for Steam' 的规则(废话,肯定是我之前手贱设的)。删掉它,然后让Steam完全信任网络。重新启动Steam,那一刻——下载速度骤升至12MB/s,甚至跑到了23MB/s!我差点把咖啡洒到键盘上。

事后复盘

后来我才知道,Steam下载时不仅需要出站连接,还需要入站端口来接收P2P数据(虽然很多游戏更新直接用HTTP,但某些更新仍会启用P2P协作)。如果防火墙限制了入站,就会导致握手缓慢、连接抖动。我之前以为只要出站就行,完全忽略了入站方向。

现在想想,那些换节点、改DNS就恢复的朋友,多半是路由表或CDN解析的问题;而像我这种怎么折腾都不行的,八成是系统级的拦截。那次之后,每次大更新我都会下意识瞄一眼防火墙规则,但再也没有出现过类似的状况。