WTFast Multi Path Demo

WTFast Multi Path
Impairment test · CS2 · 7 min 32 s
What happens when we break our own network on purpose

One bad path stops being your problem.

We ran a live CS2 session on WTFast Multi Path and deliberately destroyed its traffic — escalating packet loss and added delay, injected right at the PC. Damage one path and it disappears completely: loss, jitter and RTT all stay at their clean baseline. Damage every path at once — including your own last mile — and it still shrinks sharply, because Multi Path races copies of each packet and only loses one when every copy dies.

50% packet loss injected on one path
0.0%
Loss reaching the game
Half of one path's packets destroyed. The client registered no loss at all.
+50 ms delay injected on one path
45ms
RTT, unchanged
Identical to baseline. The healthy path wins the race, so the penalty is never felt.
10% packet loss injected on both paths
2.0%
Loss reaching the game
Even with nowhere clean to go, a packet is only lost when both copies are.
Watch the full run

Every reading on this page comes from this recording.

Top: CS2 with the WTFast overlay. Bottom: the packet-manipulation tool doing the damage.

How it works

Multi Path races your packets. First copy to arrive wins.

Instead of picking one route and hoping, Multi Path sends your game traffic down more than one at the same time. Whichever copy lands first is the one your game uses; the straggler is thrown away. That single design choice is why a damaged path stops mattering.

Diagram showing one packet sent as two copies down two paths, with the healthy path arriving first Your PC CS2 Game Server Path A — healthy 45 ms · low jitter · no loss copy 1 — arrives first Path B — degraded +50 ms · high jitter · 10% loss copy 2 — still in transit First to arrive wins the late copy is discarded

Why one bad path vanishes. The game only ever sees the winning copy. If Path B is carrying extra delay, extra jitter, or dropping packets, Path A gets there first anyway — so none of that damage reaches CS2. That is exactly what the recording shows: 50% loss on one path registered as 0.0%, and +50 ms on one path registered as no change in RTT.

And when every path is bad, the odds multiply.

A packet is only lost when every copy of it dies. Two paths each dropping 10% of traffic means a packet has to lose two coin flips in a row to go missing — roughly 10% × 10%. This holds even when the loss is in your own last mile. Your two copies are separate packets, sent microseconds apart, addressed to different ingress servers with different round trips. They are not dropped as a pair — each one takes its own roll of the dice on the way out.

10% on each path
0.10 × 0.10
1%
measured 2.0%
25% on each path
0.25 × 0.25
6.3%
measured 9.3%
50% on each path
0.50 × 0.50
25%
measured 23–37.8%
50% on one path only
0.50 × 0
0%
measured 0.0%

Measured loss runs a little above the clean maths, which is what you would expect in the real world — drops are never perfectly independent, and the impairment tool was hitting traffic in both directions at once. The closer your loss is to random, the closer you get to the multiplied figure; sustained burst loss, where a buffer overflows for a long moment and swallows both copies together, moves you back toward the raw rate. Every measurement in this run landed between the two, and much nearer the multiplied number. The shape holds: a tenth of the loss on each path, a small fraction of that loss in the game.

Walk the test

Every phase of the run, exactly as recorded.

Impairment was applied with a packet-manipulation tool sitting directly on the PC, so the damage is real and verifiable rather than simulated somewhere upstream. Pick a phase — the readings and the packet lanes both update.

Baseline0:00
Injected
None
RTT
45ms
Loss
0.0%
Jitter
1–10ms
Packet lanes for two paths showing dropped packets, and the delivered stream

Each mark is a packet. Struck marks were destroyed in flight. The bottom lane is what survived the race — a gap appears only where the same packet died on both paths.

The delay result

A slow path is invisible until every path is slow.

Loss is only half the problem. We ran the test again with 50 ms of delay injected instead of drop — first on one path, then on both at once.

+50 ms injected on one path
45 ms

No change at all

The session held its clean baseline for the whole phase. One path was carrying a 50 ms penalty the entire time and CS2 never felt a millisecond of it, because the healthy copy kept winning the race.

+50 ms injected on both paths
99 ms

Only degrades when everything does

With no healthy path left to win, RTT rose to 94–99 ms — the injected penalty and nothing on top of it. No compounding, no added loss, and jitter stayed inside 2–14 ms.

Your connection performs like the best path available to it, not the average one. Every path you add raises the floor.

Full run

Readings, phase by phase.

TimeInjectedScopeLossRTTJitter
Beyond gaming

The same problem, in rooms where it costs more than a match.

Competitive gaming is the hardest real-time workload on the public internet: UDP, no time to re-send anything, and a player who feels a 40 ms hiccup instantly. Solve it there and the same engineering applies anywhere latency is the product.

Real-time AI

Voice agents · live inference · robotics

Conversational and embodied AI hold open continuous two-way streams. A dropped packet becomes either a stall while it is re-sent, or a hole the model has to guess its way through. Both are invisible on an average-latency dashboard and obvious to the person talking to it.

Virtual healthcare

Consults · remote diagnostics · guided procedures

Clinical video has a hard jitter budget and the freeze always lands at the worst moment. As care moves toward remote guidance and instrument control, connection quality stops being an IT ticket and becomes a patient-safety question.

Critical real-time comms

Dispatch · trading · live production · field ops

Where two seconds of freeze is measured in dollars, safety, or dead air, teams buy private circuits to escape the public internet. Path redundancy gets to the same place over connections they already pay for.

For gamers

Multi Path is live in WTFast.

The lowest ping physics will allow, and a connection that keeps working when one of your routes doesn't.

Try WTFast free
For business

Built for more than games.

Real-time AI, virtual care and critical communications run on the same unreliable internet. Talk to us about putting Multi Path underneath them.

WTFast for business

Method and limitations

  1. The workload was a live CS2 session over UDP. Impairment was generated on the PC with a packet-manipulation utility filtering traffic to the WTFast relay endpoints, applied inbound and outbound at the stated drop chance or delay.
  2. Two paths were in use. "Both paths" phases targeted both endpoints in one filter; "one path" phases targeted a single endpoint, run against each path in turn with the same result.
  3. Loss, RTT and jitter figures come from the WTFast client's own connection meter, sampled from the recording at one- and five-second intervals. The overlay truncates long values, so peak loss readings may be marginally higher than shown.
  4. Impairment was applied to each path independently. Last-mile loss behaves the same way in practice, because the two copies are distinct packets leaving at different moments for different ingress servers rather than a single packet that either survives or does not. The exception is sustained burst loss lasting long enough to swallow both copies, which reduces the benefit without removing it.
  5. This is a single recorded run on one PC against one destination. It shows behaviour under controlled impairment; it is not a multi-region benchmark or a distribution across the whole network.
Previous
Previous

WTFast Headend SD-WAN

Next
Next

The Rise of Competitive Gaming: Why Connection Quality Matters More Than Ever