← Back to Wiki
Networking / VPN

Route a Network Through a VPN Without Killing Gaming Latency

Routing a whole network through a VPN for privacy is a router-level, one-time setup — but doing it without making every game on that network feel laggy takes a bit more care. Here's the protocol/provider choices that actually matter, a real gotcha with reused provider configs, and a test suite that goes well beyond a handful of pings.

Protocol: WireGuard, not OpenVPN

If your router supports a choice of VPN client protocol, pick WireGuard over OpenVPN for anything latency-sensitive. WireGuard's per-packet overhead is meaningfully lower, and — critically for gaming — OpenVPN running over TCP is a genuinely bad combination: TCP's own retransmission behavior stacked on top of your game's traffic causes real latency spikes the moment there's any packet loss anywhere on the path (a phenomenon sometimes called "TCP meltdown"). If a provider only gives you an OpenVPN config, check whether they also offer a WireGuard option (most major providers do) before defaulting to whatever downloads first.

Server choice: proximity beats provider reputation

Physical distance to the VPN server is the single biggest lever on added latency — more than which provider you use. A well-run WireGuard tunnel to a server in the same region typically adds only a handful of milliseconds; the same tunnel to a server on another continent adds tens to well over a hundred. Pick the physically nearest server your provider offers, then treat provider choice as a secondary optimization.

Kill switch: a real tradeoff, not a default "yes"

A kill switch blocks all internet access the instant the VPN tunnel drops, to guarantee your real IP never leaks even for a moment. That's the right call for traffic where privacy is the whole point (torrenting, for example). For a network whose priority is uptime for gaming, consider leaving it off — a brief VPN blip then just falls back to your normal connection for a few seconds instead of dropping every game session on that network simultaneously. Neither setting is objectively correct; it depends on which failure mode you'd rather have.

Gotcha: reused-provider configs can collide with each other

Some VPN providers issue the identical internal tunnel address to every config they generate, regardless of server or account settings. If you already have one tunnel from a provider active on your router and generate a second one from the same provider (a different server, different custom options), the router can reject it outright with an "IP/subnet overlap" error — both configs want the exact same internal address. The fix is to hand-edit the second config's local address field to something unused before importing it (bump the last part of the address by one, keeping everything else — including the actual server endpoint and keys — untouched). This does carry real risk: some providers' servers enforce which internal source address a given key is allowed to use, which would make this edit silently fail. Always verify the tunnel actually establishes a real handshake with live data flowing after making this change — don't just trust that the interface came up.

Testing it properly — ping is not enough

A handful of ping replies can look perfectly clean while masking real problems that only show up under sustained load or with realistic packet sizes. Run all of the following against the tunnel's actual network interface, not just from a device that happens to be routed through it:

1. Confirm a real handshake, not just a "connected" status

Most VPN client status indicators (dashboard UI, systemd status, etc.) can say "connected" based purely on the tunnel interface being up — that doesn't prove the far end is actually talking back. Check the VPN software's own live status output for a recent handshake timestamp and non-zero transfer counters.

2. Confirm actual egress through the tunnel

curl --interface <tunnel-interface> https://ifconfig.me

This should return the VPN provider's exit IP, not your real WAN IP — proving traffic genuinely routes through the tunnel rather than just having an interface that exists.

3. Sustained jitter and packet loss, not a handful of pings

ping -I <tunnel-interface> -c 100 -i 0.2 <a stable target>

Look at the jitter (mdev) figure specifically, not just the average — consistent jitter under 5ms is generally fine for gaming; wide swings are the thing that actually feels bad in-game, more so than the raw average latency number.

4. MTU and fragmentation — the failure mode plain ping never catches

VPN tunnels add overhead, which reduces the usable packet size before fragmentation kicks in. Test both ways: forcing "don't fragment" on an oversized packet should predictably fail above the tunnel's real MTU (that's expected, not a bug) — but the same oversized packet with fragmentation allowed should pass at 0% loss. If it doesn't, you have a silent MTU black-hole that will intermittently eat larger game packets (voice data, some game-state payloads) with no obvious symptom pointing back to the cause.

# Expected to fail (informative, not a problem):
ping -I <iface> -s 1400 -M do <target>

# Should succeed at 0% loss (the real test):
ping -I <iface> -s 1400 <target>

5. TCP connection consistency

Many games use TCP for lobbies, matchmaking, and voice signaling even when real-time gameplay itself is UDP. Run several connections in a row and check the connect time stays consistent with no outliers — a flaky path shows up here even when a single ping test happens to look fine.

6. Throughput sanity check

Gaming itself needs very little bandwidth, but simultaneous downloads/patches/streaming on the same network do. A quick large-file download through the tunnel rules out the VPN itself being a bandwidth bottleneck.

7. Compare against the non-VPN baseline

Run the same latency test without the VPN to know exactly how much overhead you're actually adding, rather than judging the VPN's performance in isolation. A well-chosen nearby WireGuard server typically adds under 15ms — genuinely unnoticeable for the vast majority of games, and worth knowing precisely rather than just assuming.