场景资讯 · Clash 技术博客

Steam 下载慢、Discord 语音延迟高?Clash 游戏分流与 UDP 设置

Steam 商店、游戏内容下载、Discord 语音和真正的对战流量不能当成一条连接。拆开测试后,才能知道该使用域名规则、进程规则还是 TUN。

  • Discord
  • Steam
  • UDP
本文目录

Steam 下载慢、Discord 语音卡,先别把它们当成同一条线路

Steam 商店页面打不开、游戏下载慢、Discord 文字正常但语音无声、进入对战后延迟升高,看起来都发生在游戏场景,实际使用的协议和进程并不一样。把它们一起交给“游戏节点”,常常修好一项又拖慢另一项。

商店与登录以 HTTPS 为主,下载看持续吞吐,Discord 语音和部分游戏对战依赖 UDP。排查前先确定失败的是哪一个动作,并在 Clash 连接记录中找到对应进程、目标和策略。

游戏场景的四类请求

动作更在意什么常见误判
商店与登录网页、认证和地区可达性商店打开就认为游戏网络也正常
补丁与游戏下载CDN 路径和持续带宽只根据延迟数字选节点
Discord 语音UDP、抖动、丢包和长会话文字消息正常就排除网络
游戏对战服务器地区、RTT 与反作弊兼容让启动器和游戏本体走同一出口

TUN 负责把请求交给 Clash,不负责让线路变快

许多启动器和游戏不会读取系统 HTTP 代理,连接记录里完全看不到它们时,才需要考虑 TUN。开启后再重现同一个动作;进程与目标出现于连接页面,说明接管有效,接下来才轮到规则和节点。

TUN 不会自动提供 UDP 能力,也不会把不可用节点变成加速节点。其他 VPN、企业安全软件、虚拟机和游戏反作弊都可能同时操作网络栈。若某游戏一开 TUN 就无法启动,关闭 TUN 做一次对照,检查是否存在驱动冲突,不要继续扩大规则。

Steam 页面和 depot 下载要分别做对照

Steam 客户端的商店与社区通常由 steamwebhelper 等网页进程承载,游戏本体则有自己的可执行文件。先让商店页面进入代理策略组,再在下载页面观察实际 CDN 请求;下载很慢时,分别比较直连和同地区代理的持续速度。

在 Steam 里打开“Steam → 设置 → 下载”,记下下载地区。测试时到“库 → 下载”查看网络与磁盘两条曲线。

同时打开 Clash Verge Rev 或当前客户端的“连接”页,按 steam 或 steamwebhelper 过滤,记录进程、目标主机、规则和最终出口。界面名称会因客户端版本略有不同,但要找的是实时连接,不是节点延迟页。

下载峰值很高却经常归零,可能是 CDN、磁盘写入或解包,不一定是 Clash。Windows 任务管理器的“进程”页与 Steam 下载页的磁盘曲线能帮助区分。为了提速把所有 Steam 域名永久代理,还可能把原本更近的本地 CDN 绕远。

一次 Steam 对照测试

  1. 先打开商店

    在 Clash 连接页确认 steamwebhelper 命中预期策略,登录不会反复跳转。

  2. 下载同一个小型内容

    在 Steam 的“库 → 下载”记录 CDN 主机、平均速度以及网络曲线是否频繁归零。

  3. 只切换一次出站

    在直连与一条固定节点之间比较,不同时改 DNS。

  4. 检查磁盘曲线

    网络归零同时 Steam 的磁盘曲线很高时,先等待解包完成。

Discord 文字能发,还要单独测试语音连接

文字消息主要是普通 HTTPS 与长连接,加入语音频道后才会建立实时媒体连接。能看到频道却一直显示 RTC Connecting、听不到声音或几分钟后掉线,应查看语音期间有没有 UDP 连接、所选节点是否支持 UDP,以及丢包是否持续上升。

先到 Discord 的“用户设置 → 语音和视频”确认输入与输出设备,使用当前版本提供的麦克风测试排除设备问题。随后加入一个语音频道,再到 Clash 的“连接”页按 Discord.exe 过滤;要看到通话期间出现的 UDP 连接、命中规则和最终策略组。

用一条固定节点完成十分钟语音,不让 url-test 在通话中换出口。若节点 TCP 正常但 UDP 一直超时,换一个明确支持 UDP 的出站;若连接记录里根本没有语音流量,回到 TUN 或应用接管,而不是补 Discord 网页域名。

游戏本体通常需要和启动器分开决定

启动器需要代理才能登录,不代表游戏服务器也适合走同一节点。对本地或邻近地区服务器,DIRECT 往往有更低 RTT;确实需要另一地区出口时,也应建立独立策略组,而不是沿用下载节点。

Mihomo 支持按进程匹配,但进程名要从 Windows 任务管理器的“详细信息”页或 Clash 连接记录获取。游戏更新后可执行文件可能变化,远程规则集也可能在进程规则之前抢先命中,因此每次更新后都要看实际匹配结果。

下面的 YourGame.exe 要换成任务管理器里看到的游戏进程,YOUR_EXISTING_GROUP 要换成当前配置中真实存在的策略组。若这两个值没有替换,示例不是可用配置。

先替换组名和游戏进程名,再写进程规则
# 先替换 YOUR_EXISTING_GROUP 和 YourGame.exe
proxy-groups:
  - name: GAME-STORE
    type: select
    proxies:
      - YOUR_EXISTING_GROUP
      - DIRECT
  - name: VOICE
    type: select
    proxies:
      - YOUR_EXISTING_GROUP
      - DIRECT

rules:
  - PROCESS-NAME,steamwebhelper.exe,GAME-STORE
  - PROCESS-NAME,Discord.exe,VOICE
  - PROCESS-NAME,YourGame.exe,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,YOUR_EXISTING_GROUP

用一轮商店、下载、语音和对战分别验证

Steam 商店空白,游戏能启动

常见原因:网页进程或认证请求未进入正确策略

处理方法:只重现商店加载,查看 steamwebhelper 与失败主机。

下载速度低但延迟测试很好

常见原因:测速目标与 CDN 路径不同,或磁盘正在解包

处理方法:比较持续吞吐与磁盘曲线,不按单次延迟换节点。

Discord 文字正常,语音 RTC Connecting

常见原因:UDP 未接管、节点不支持或丢包严重

处理方法:观察语音 UDP 连接,并用固定节点做十分钟测试。

商店正常,对战延迟突然升高

常见原因:游戏本体继承了商店代理

处理方法:核对游戏进程命中,必要时单独 DIRECT 或选择近端出口。

这四项要分别验收。Steam 商店应能稳定登录;下载至少连续观察几分钟,并判断网络归零是否由磁盘写入造成。

Discord 应能加入语音频道,RTC Connecting 消失,十分钟通话没有反复断开,连接页能看到 UDP 经过 VOICE。游戏本体则应命中为它选择的 DIRECT 或独立出口。

参考资料