情境資訊 · 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 或獨立出口。

參考資料