Use Cases · Clash Technical Blog

Slow Steam Downloads or High Discord Voice Latency? Clash Game Routing and UDP Settings

The Steam store, game-content downloads, Discord voice, and actual gameplay traffic are not one connection. Test them separately to determine whether you need domain rules, process rules, or TUN.

  • Discord
  • Steam
  • UDP
On this page

A game can download quickly while voice chat never connects, or the store can work while match latency suddenly rises. Different actions need sustained bandwidth, real-time communication, or a suitable outbound region. Rather than sending every request through one node, observe the game and voice connections separately while they are running.

Do Store, Download, Voice, and Match Traffic Need Different Exits?

Identify the process, target, and policy for the failing action. Store and login traffic mainly uses HTTPS; downloads need sustained throughput checks, while Discord voice and some multiplayer games need UDP checks. Determine whether the connection reaches the client and which node it uses before choosing to troubleshoot traffic handling or the node.

Four request types in gaming

ActionWhat matters mostCommon misdiagnosis
Store and sign-inWeb pages, authentication, and regional reachabilityAssuming the game network works because the store opens
Patch and game downloadsCDN path and sustained bandwidthChoosing a node from latency alone
Discord voiceUDP, jitter, packet loss, and long sessionsRuling out the network because text messages work
Online gameplayServer region, RTT, and anti-cheat compatibilityRoute the launcher and game executable through the same egress

TUN hands requests to Clash; it does not make the route faster

Many launchers and games do not read the system HTTP proxy. Consider TUN only when they are completely absent from the connection records. After enabling it, reproduce the same action. If the process and destination appear on the connections page, capture is working; only then move on to rules and nodes.

TUN does not automatically add UDP support or turn an unusable node into a gaming accelerator. Other VPN software, corporate security tools, virtual machines, and game anti-cheat systems may all modify the network stack. If a game will not start as soon as TUN is enabled, disable TUN for comparison and check for a driver conflict instead of adding more rules.

Compare Steam pages and depot downloads separately

In Steam, the store and community are typically handled by web processes such as steamwebhelper, while the game uses its own executable. First route the store page into the proxy policy group, then observe the actual CDN requests on the downloads page. When downloads are slow, compare sustained speed over direct access and a fixed proxy in the same region.

At the same time, open the “Connections” page in Clash Verge Rev or your current client. Filter for steam or steamwebhelper, and record the process, destination host, rule, and final egress. Interface labels vary slightly by client version, but you need live connections—not the node-latency page.

If download speed spikes and repeatedly drops to zero, the cause may be the CDN, disk writes, or unpacking rather than Clash. The Processes page in Windows Task Manager and the disk graph on Steam's downloads page help distinguish them. Permanently proxying every Steam domain in pursuit of speed can also detour a nearby local CDN.

One Steam comparison test

  1. Open the store first

    On the Clash connections page, confirm that steamwebhelper matches the intended policy and that sign-in does not repeatedly redirect.

  2. Download the same small item

    Under “Library → Downloads” in Steam, record the CDN host, average speed, and whether the network graph frequently drops to zero.

  3. Change outbound routing only once

    Compare direct access with one pinned node without changing DNS at the same time.

  4. Inspect the disk graph

    If network throughput drops to zero while Steam's disk graph is high, wait for unpacking to finish.

Working Discord text does not verify the voice connection

Text messages primarily use ordinary HTTPS and long-lived connections; a real-time media connection begins only after joining a voice channel. If the channel is visible but remains on RTC Connecting, has no audio, or disconnects after a few minutes, check whether UDP connections appear during the call, whether the selected node supports UDP, and whether packet loss keeps rising.

In Discord, open “User Settings → Voice & Video” and check the input and output devices. Use the microphone test available in your version to rule out a device problem.

Join a voice channel, then filter for that process on the Clash connections page: use Discord.exe on Windows, and the process name actually shown on other systems. Look for UDP connections during the call, the matched rules, and the final policy group.

Complete a ten-minute voice call on one fixed node so url-test cannot switch egress mid-call. If TCP works but UDP consistently times out on the node, choose an outbound that explicitly supports UDP. If no voice traffic appears in the connection records, return to TUN or app capture instead of adding Discord web domains.

Choose DIRECT or a Proxy Group for the Game Process

A launcher needing a proxy for sign-in does not mean the game server should use the same node. DIRECT often provides lower RTT to local or nearby servers. When another regional egress is genuinely required, create a separate policy group instead of reusing the download node.

Mihomo supports process-based matching, but obtain the process name from the Details tab in Windows Task Manager or from Clash connection records. An update may change the game's executable, and a remote rule set may match before the process rule, so inspect the actual result after every update.

Replace YourGame.exe below with the game process shown in Task Manager, and replace YOUR_EXISTING_GROUP with an actual policy group in the current configuration. Until both values are replaced, the example is not a usable configuration.

Replace the group name and game process name before adding the process rule
# 先替换 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

Common Problems with Steam, Discord, and Multiplayer Games

The Steam store is blank, but the game starts

Common cause:The web process or authentication request did not enter the correct policy

Resolution:Reproduce only the store load, then inspect steamwebhelper and the failed host.

Download speed is low despite a strong latency test

Common cause:The benchmark target and CDN path differ, or the disk is unpacking data

Resolution:Compare sustained throughput and the disk graph instead of switching nodes after one latency result.

Discord text works, but voice stays on RTC Connecting

Common cause:UDP is not captured, unsupported by the node, or suffering severe packet loss

Resolution:Observe the voice UDP connection and run a ten-minute test on a fixed node.

The store works, but latency spikes in a match

Common cause:The game executable inherited the store proxy

Resolution:Check what the game process matches; use DIRECT or a nearby egress separately if necessary.

Discord should join a voice channel, RTC Connecting should disappear, and a ten-minute call should not repeatedly disconnect. The connections page should show UDP passing through VOICE. The game executable should match its selected DIRECT or separate egress.

References