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

If Steam downloads are slow and Discord voice stutters, do not assume they use the same route

A Steam store page that will not open, slow game downloads, working Discord text with silent voice, and higher latency after joining a match may all seem like gaming problems, but they use different protocols and processes. Sending them all to one “Gaming Node” often fixes one item while slowing another.

Store and sign-in traffic primarily uses HTTPS, downloads depend on sustained throughput, and Discord voice plus some game sessions rely on UDP. Before troubleshooting, identify the specific failing action and find its process, destination, and policy in Clash connection records.

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.

In Steam, open “Steam → Settings → Downloads” and note the download region. During the test, open “Library → Downloads” and watch both the network and disk graphs.

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.

First open “User Settings → Voice & Video” in Discord, confirm the input and output devices, and use the microphone test available in the current version to rule out device problems. Then join a voice channel and filter for Discord.exe on Clash's “Connections” page. During the call, you should see the UDP connection, matched rule, and 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.

The game itself usually needs a separate decision from its launcher

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

Verify the store, download, voice, and gameplay in separate tests

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.

Accept these four items separately. Steam should sign in to the store reliably. Observe downloads continuously for at least a few minutes and determine whether disk writes cause the network graph to drop to zero.

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