几个月前,Steam 无法登录。我以为可能是服务器故障,所以我等了几天,但仍然无法登录,于是我开始调查。我查看了 Valve 的网络故障排除步骤,发现最后一个步骤(通过命令行参数以 TCP 模式启动 steam)解决了我的问题。不幸的是,虽然我现在可以启动 Steam,但一旦进入游戏,我就无法连接到任何服务器。
我想让 UDP 连接重新工作。似乎许多其他 Steam 用户和我同时遇到了同样的问题。其中一些人报告说删除 ClientRegistry.blob修复了这个问题,但对我来说没用。和我使用相同路由器(华硕 RT-AC68U)的用户报告称禁用 NAT 加速为他们修复了这个问题,但对我来说还是没用。我相信我在问题出现的同时安装了 WireShark,但后来我卸载了它(还有 WinPcap),问题仍然存在。
我想知道有哪些诊断工具可以解决此类问题,或者是否有人对我下一步应该尝试什么提出建议。
我不确定这是否相关,但我电脑上的几乎所有程序时不时都会无响应。有一次我碰巧打开了任务管理器,我点击了 explorer.exe(无响应)上的分析等待链,它说正在等待网络。所以我相信我的电脑可能存在一些严重的网络问题。
谢谢,
耀明
编辑:做了更多测试,以下是我所发现的。
Steam 在同一网络上的 Linux 机器上运行良好
即使我在别人家,如果没有 -tcp,我电脑上的 Steam 也无法运行。(巧合的是,他们也有一台 RT-AC68U,但 Steam 在他们的电脑上运行良好)
这表明问题出在我的计算机上,而不是我的路由器上。
在安全模式(带网络)下,如果没有 -tcp,Steam 将无法运行。在安全模式下,如果使用 -tcp,Steam 可以运行。
Steam 并不是唯一有问题的程序。我无法查看或连接到任何游戏中的任何服务器,不仅仅是 Steam 游戏。此外,我无法下载任何种子。
我已经在计算机上禁用了 IPv6,但没有任何改善。
我不想格式化/重置我的电脑。
答案1
您首先应该确定您的 UDP 连接问题是否特定于 Steam 或 Windows 本身。您需要测试底层 UDP 连接并确认其正常运行,然后再尝试修复 Steam。
Netalyzr 是一个有用的工具,可以发现各种连接问题,包括进行各种 UDP 测试:
http://netalyzr.icsi.berkeley.edu/
[编辑]
您的测试表明基本 UDP 连接良好,但是结果中的以下条目突出:
通用即插即用 (UPnP) 的 NAT 支持 (?):未测试 – 测试期间发生 I/O 错误。测试结果代码为 34。
抛开 NAT 穿越/UPNP,I/O 错误表明您计算机上的某些软件阻止了到路由器的某些 UDP 流量,例如 Windows 防火墙或其他防火墙。如果完全关闭所有防火墙应用程序无法解决问题,则可能是其他驱动程序或应用程序挂接到 IP 堆栈,例如您之前提到的 Wireshark。我会从控制面板 => Windows 防火墙全局禁用防火墙,而不是 wf.msc。
我还建议您卸载并重新安装网卡驱动程序,以及使用以下命令执行完整的 IP 堆栈重置:
netsh int ip 重置
netsh winsock 重置
netsh int ipv4 重置
(请参阅此处的指南:http://www.hanselman.com/blog/TheNuclearOptionResettingTheCrapOutOfYourNetworkAdaptersInVista.aspx)
答案2
既然您提到 torrent 也无法使用,那么我认为您的计算机的所有 UDP 流量都存在问题。在这种情况下,我建议您卸载所有网络驱动程序,并在重新启动时让 Windows 重新安装驱动程序。基本上,尝试彻底清除您的网络配置。最坏的情况是您会丢失已保存的网络,但与丢失一半的互联网相比,这还不算太糟糕。
我还会尝试的另一件事是连接到使用 TCP 的 VPN,并检查 UDP 流量是否正确转发。这可能有助于找到问题所在。
答案3
尝试这个:
打开你的 Steam 文件夹(通常C:\Program Files (x86)\Steam
)并删除除了您的steamapps
文件夹和steam.exe
。下次启动时正常运行 steam,无需-tcp
让它重新安装。
只要您不删除该steamapps
文件夹,它就应该能够看到您的游戏并说它们已安装,最糟糕的是,只有当您从 Steam“安装”它们时,它才会通过游戏文件的验证。