前言
作为一个每天都要在Steam上折腾游戏的玩家,最怕的就是下载速度慢。前阵子我碰上了这糟心事,一个不到50G的游戏,愣是下了一天一夜,看着那蜗牛爬的进度条,心里的火噌噌往上冒。
咬咬牙,试试传说中的改Hosts
在尝试了重启路由、更换下载节点、甚至花钱买了加速器还是没起色之后,我开始上网瞎逛。某个论坛里有人提了一嘴“改hosts可以加速Steam下载”,底下评论褒贬不一。当时我也没当回事,觉得大概是玄学。后来实在没办法了,索性死马当活马医,认真研究了一下这个操作背后的原理。
原来Steam的下载速度受CDN(内容分发网络)的影响很大。它默认给我们分配的下载服务器,可能恰好跟我们的网络环境不太“来电”。而hosts文件像个门牌号,我们可以手动指定某个域名指向一个速度更快的服务器IP。这样就跳过了Steam原本的分配机制,直接连到更快的节点上。
找IP的曲折历程
知道了原理,接下来就是动手。我先用命令行ping了几个已知的Steam CDN域名,比如steamcontent.com,发现得到的结果不太理想。后来我在网上找到了一些热心网友整理的Steam下载IP列表,按地区分类。我根据自己所在的城市,挑选了几个延迟在10ms以内的IP。这个过程挺费时间的,因为得一个一个试,有的甚至完全没反应。
最后我锁定了两个IP,用一些测速工具跑了一下持续下载速度,确实比原来的快很多。然后就是修改hosts文件。在Windows系统里,这个文件在C:WindowsSystem32driversetc目录下。我小心翼翼地打开记事本,用管理员权限保存,添加了如下一行:[IP steampipe.akamaized.net] 和 [IP steamcontent.com]。保存后我清除了DNS缓存,重启了Steam。
效果惊人,差点以为电脑坏了
重新打开Steam后,我选了一个之前下载缓慢的游戏点击“下载”。几秒后,速度直接冲上了80MB/s(我的宽带极限),此时我瞪大了眼睛,生怕这是缓存导致的数据错误。但几分钟后速度依然稳定在50-80MB/s之间波动,原来那个几十兆需要半小时的游戏,现在几分钟就搞定。
当时我激动得差点喊出来。这感觉就像原来挤公交,突然换上了高铁。很多游戏我都删了重新下,就是想体验这种速度的快感。那段时间我甚至沉迷于测速,反复测试不同IP带来的变化。
不是一劳永逸,后续有些小麻烦
但新鲜劲过去后,问题也来了。某些IP可能隔几天就变慢,甚至无法连接。我得时不时重新测试,更新hosts文件里的内容。而且我注意到,修改hosts虽然加快了下崽速度,但偶尔会导致Steam商店、社区页面打开慢或者打不开,因为有些商店域名也被指向了下载IP。后来我只保留了特定下载域名的条目,把没用或者可能冲突的删掉了。
另外,每次Steam更新或者游戏补丁发布,可能也需要重新调整。没有一套方案能永远奏效,但掌握这个方法后,起码我能随时应付。
