How to Fix Packet Loss in Online Games: Valorant, Dota 2, League of Legends and Rocket League
Your ping looks fine. 30 ms on the counter. But your abilities are not casting, enemies are snapping between positions, and shots are registering a beat too late. That gap between what your stats show and what your game actually feels like is packet loss, and it is one of the most misdiagnosed problems in competitive gaming.
This guide goes past the generic restart-your-router advice. Each game below uses a unique network architecture such as Riot Direct, Valve’s Steam Datagram Relay, or Psyonix’s physics-server model. A fix for one game may not apply to another. Everything below is ordered by impact.
If you have not already confirmed packet loss is actually happening, run a quick test at OpenPacketLoss.com first. It measures real-time UDP packet loss using WebRTC, the same protocol stack Rocket League and many game backends rely on. If that test comes back clean but your game is still broken, the problem is specific to your ISP's route to that game's servers, and the game-specific steps below are where to start.
Why Gaming Packet Loss Hits Harder Than High Ping
Online games transmit inputs like movement, aim, and ability casts as UDP packets. UDP has no retransmission. If a packet does not arrive, the server never saw that input. It is gone. Your character did not move. The ability did not fire. The shot did not register.
This is why 1% packet loss already feels noticeably broken in a competitive shooter or MOBA, while you can browse the web just fine with 5% loss. TCP-based applications like streaming video automatically request retransmission of missing data. Games using UDP prioritize speed over reliability and cannot afford the delay of a round trip. The game absorbs any data loss and continues, which often leaves you with a corrupted game state.
Symptoms that point specifically to packet loss rather than just high ping:
- Rubberbanding occurs when your character moves and then snaps back as the server reconciles a missing update
- Abilities cancelling mid-cast despite correct button input
- Hit registration failures where shots visually connect but deal no damage
- Desync causes enemies to appear in positions they have already left or to kill you from a position they vacated
- Intermittent disconnections that reconnect quickly
- Ping looks normal at 30-60 ms but gameplay feels broken
Step 1: Confirm It and Find Where Packets Are Dropping
OpenPacketLoss.com
Run a test before touching anything else. It sends UDP traffic from your browser to the test server and reports real-time loss as a percentage. Zero percent here means your local connection and the route to that server are clean. The problem is then specific to your ISP's route to the game server or something inside the game client. Non-zero here means fix the baseline first.
Pinpointing the Drop with pathping or WinMTR
Knowing you have packet loss is only half the diagnostic. You need to identify whether the drop occurs at your router, your ISP, an upstream transit provider, or the game server itself.
Windows pathping (built-in):
pathping -n 8.8.8.8Wait the full 90 seconds. The output shows per-hop loss percentages. Loss at hop 1 is your router or local cable. Loss appearing for the first time at a later hop and persisting through all downstream hops indicates an upstream problem with your ISP or their transit provider.
Important caveat: many routers rate-limit ICMP responses (the protocol pathping uses). A hop showing 100% loss while every hop after it shows 0% is almost certainly just deprioritizing diagnostic pings, not actually dropping your game traffic. Only flag hops where loss appears and continues.
WinMTR is better for gaming diagnosis. Download it, enter the game server's hostname or IP, and run it for at least five minutes while actively playing. It combines ping and traceroute into a continuous feed so you can correlate exactly when your in-game loss spikes with which hop degrades. This is the data to bring to your ISP.
Step 2: Rule Out Your Local Network First
If your OpenPacketLoss.com test shows non-zero loss, or WinMTR shows loss at hop 1 (your router), the problem is in your home network. Most common causes in order of frequency: Wi-Fi interference, bufferbloat under load, a damaged Ethernet cable, an overloaded router NAT table, or outdated network adapter drivers. Our complete packet loss fix guide covers each of these with specific steps.
Fix the baseline first. Game-specific fixes will not help if your connection to any server is dropping packets.
Valorant: Specific Packet Loss Fixes
How Valorant's Network Stack Works
Valorant runs on 128-tick servers and routes all traffic through Riot Direct, which is Riot’s privately-peered global backbone separate from the public internet. Your ISP's routing to Riot's nearest point of presence determines your connection quality. Two players on the same ISP in the same city can have completely different results depending on how their ISP contracts transit to Riot.
On top of that, Valorant ships with Vanguard, a kernel-level anti-cheat running as vgk.sys at ring 0. Vanguard inspects network packets before the game client processes them. There are documented cases of Vanguard introducing 100-600 ms ping spikes, particularly after Windows updates that alter driver signing behavior. If other games work fine but Valorant specifically has spikes, run Apex Legends or CS2 simultaneously as a control. If those are clean, Vanguard is worth investigating separately.
The Meaning of Instability Indicators
Valorant shows network warning icons in the top-right corner during a match. Enable them under Settings > General > Other > Instability Indicators. They have specific technical meanings:
- High RTT icon: round-trip time exceeded ideal threshold. Warning level increases peeker's advantage against you. Critical level approaches unplayable conditions.
- Packet Loss icon: incoming or outgoing packets are dropping. Even at warning threshold this causes shot registration failures.
- Server Framerate icon: the game server itself is dropping frames. This affects every player in the match equally. Nothing on your end will fix it.
- Client Framerate icon: your local FPS is degraded. Not a network issue.
The packet loss icon appearing with low ping (under 60 ms) is the clearest signal that your connection to Riot Direct specifically is degraded, not your overall internet.
Enable the Packet Loss Graph
Go to Settings > Video > Stats. Enable Network RTT, Network RTT Jitter, and Packet Loss. Set each to Graph rather than just Text. The graph shows spikes over time so you can see whether loss is constant or burst-pattern. Burst loss (spikes to 5-10% for a second then back to 0%) points to congestion. Constant low-level loss (steady 1-3%) points to a degraded link somewhere in the path.
The Network Buffering Trade-off
Settings > General > Network Buffering. This is the most misunderstood setting in Valorant.
- Minimum: 7.8 ms buffer, full 128-tick data rate. Use this if your packet loss is consistently 0%. Any loss at this setting causes visible stuttering.
- Moderate: roughly a 3-frame buffer, effectively halves the tick rate you receive. Smooths out minor loss under 2% at the cost of slightly delayed enemy position updates.
- Maximum: roughly a 5-frame buffer, 32-tick effective rate. The game feels smoother on a bad connection, but you are seeing enemy positions about 50 ms behind where they actually are. Pro players use Minimum universally. Maximum is only useful when the connection is otherwise unplayable.
Buffering does not fix packet loss. It masks the visual effect of it. Fix the underlying problem.
Port Forwarding for Valorant
An aggressive router NAT or firewall actively inspects UDP streams and can introduce loss. Forward these ports for your PC's internal IP:
- UDP 7000-8000 (game data)
- UDP 5000-5500 covers the critical range for voice and real-time game state
- UDP/TCP 2099, 5222, 5223 (Riot client)
- TCP 8393-8400 (PVP.net)
Vanguard and Windows Firewall
Windows Defender sometimes treats Valorant's UDP traffic pattern as suspicious. Add explicit allow rules for both VALORANT-Win64-Shipping.exe and vgk.sys under Windows Defender Firewall > Advanced Settings > Inbound Rules > New Rule > Program. Do this for both inbound and outbound rules.
If you use RGB software (iCUE, Armoury Crate, Synapse) or third-party overlays (GeForce Experience, Discord overlay), test with them fully closed. Vanguard at the kernel level conflicts with software that also attempts low-level hardware access. There are documented cases where this causes network instability specifically in Valorant while everything else runs fine.
Force IPv4
Some ISPs have poor IPv6 routing to Riot's points of presence. In Control Panel > Network and Sharing Center > Change adapter settings, right-click your connection, open Properties, and uncheck Internet Protocol Version 6 (TCP/IPv6). This forces Valorant over IPv4 only.
Diagnostic Logs
Valorant writes connection logs to %localappdata%\VALORANT\Saved\Logs. Open VALORANT.log and search for PacketLoss or NetworkLag. The log timestamps events precisely, which lets you correlate in-game loss spikes with specific error strings. This is useful data for a Riot support ticket or an ISP escalation call.
Dota 2: Specific Packet Loss Fixes
How Steam Datagram Relay Works
Unlike Valorant, Dota 2 does not route your traffic directly to the game server. Dota 2 utilizes Valve’s Steam Datagram Relay (SDR) network. Your traffic travels from your machine to the nearest Valve relay point of presence, then through Valve's private backbone to the actual game server. This is generally better than routing over the public internet, but it also means that if a specific relay cluster is degraded, you can switch clusters mid-game without restarting and often clear the loss immediately.
Reading Packet Loss in Real Time
Add -console to Dota 2's Steam launch options (right-click in library > Properties > Launch Options). In-game, open the console (default key is the backtick `) and run:
net_graph 1The overlay shows loss, choke, ping, and var. The loss value is packet loss percentage. Choke represents local send-rate throttling. A non-zero choke value means your machine is rate-limiting its own outbound packets, usually because your upload is saturated. Both need to be 0 for a clean connection. The var value (variance) indicates server framerate consistency. Spikes in this value point to server-side issues rather than your connection.
To reposition the overlay: net_graphpos 1 (top-left), net_graphpos 2 (top-right), net_graphpos 3 (centre).
Switching Relay Clusters
This is the most effective Dota 2-specific fix and it works during an active match. Open the console and run:
sdr SDRClient_ForceRelayCluster [code]The change applies immediately without restarting the game. Codes by location:
Dota 2 Relay Cluster Codes
| Code | Location |
|---|---|
bom | Mumbai, India |
maa | Chennai, India |
sgp | Singapore |
hkg | Hong Kong |
tyo | Tokyo |
fra | Frankfurt |
lhr | London |
iad | Sterling, VA (US East) |
lax | Los Angeles |
sea | Seattle |
eat | Moses Lake, WA |
atl | Atlanta |
ord | Chicago |
gru | Sao Paulo |
syd | Sydney |
sha | Shanghai |
dxb | Dubai |
If you are in South Asia, bom and maa are your primary options. During regional network events such as common submarine cable faults in the Indian Ocean or Arabian Sea, one cluster may be heavily degraded while the other remains clean. Switching between them in-game is the fastest fix available from South Asia. Singapore (sgp) is a viable third option if both India clusters are affected, at the cost of roughly 50-70 ms extra latency.
To clear a forced cluster and let Valve pick the best available automatically:
sdr SDRClient_ForceRelayCluster ""Additional Dota 2 Fixes
- Verify game files: Steam > right-click Dota 2 > Properties > Local Files > Verify integrity. Corrupted local files cause protocol errors that show in net_graph as loss spikes that are actually local, not network.
- Low-End Network mode: Settings > Options > Advanced Options > I Have a Low-End Network. Reduces Dota 2's bandwidth demand and can stabilize marginal connections, particularly on upload-constrained links.
- Cap matchmaking ping: In Advanced Options, set a maximum ping for matchmaking. This prevents placement on servers with high baseline latency where packet loss is statistically more likely.
League of Legends: Specific Packet Loss Fixes
How LoL Routing Works
Unlike Dota 2's relay system, League of Legends routes you directly to fixed regional game servers with no relay switching available. If your ISP has a congested or degraded path to Riot's regional server, your options are limited to routing workarounds or ISP escalation. This makes LoL packet loss harder to fix unilaterally than Dota 2, but easier to diagnose precisely because the destination IP does not change.
Checking Packet Loss In-Game
Press Ctrl+F in-game to toggle the performance overlay. It shows FPS and ping but not packet loss directly. The reliable way to catch packet loss in LoL is to correlate: stable ping combined with rubberbanding or ability failures strongly indicates loss. For actual numbers, run WinMTR to your regional server IP while playing.
Traceroute to Your Regional Server
Run a traceroute to identify where in the path loss is occurring. Hostnames by region:
LoL Regional Server Hostnames
| Region | Traceroute Target |
|---|---|
| NA | prod.na1.lol.pvp.net |
| EUW | prod.euw1.lol.pvp.net |
| EUNE | prod.eun1.lol.pvp.net |
| KR | prod.kr.lol.pvp.net |
| BR | prod.br1.lol.pvp.net |
| OCE | prod.oc1.lol.pvp.net |
| LAN | prod.la1.lol.pvp.net |
| LAS | prod.la2.lol.pvp.net |
tracert prod.euw1.lol.pvp.netBetter: run WinMTR against the resolved IP for 10 minutes during active gameplay. The first hop where loss appears and does not recover is where the problem is. Export the WinMTR output because this is the data Riot support and your ISP need to investigate.
Hextech Repair Tool
Download it from Riot's support site. Beyond file repair, it resets LoL's network configuration files, flushes game-related DNS cache, clears the client's local socket configuration, and repairs the Riot Client itself. Run this before making any manual changes. It fixes a surprising number of cases that look like network problems but are actually corrupted local configuration.
SIP ALG as a Hidden Culprit
SIP Application Layer Gateway is enabled by default on a large number of consumer routers from TP-Link, Netgear, ASUS, and D-Link. It was designed for VoIP traffic but actively rewrites UDP packet headers for any traffic it identifies as SIP-like, which can include game data. The result is intermittent packet loss and connection drops specifically for UDP-based applications, with everything else appearing fine.
Disable it in your router's firewall or advanced settings. Look for "SIP ALG," "SIP Passthrough," or "Application Layer Gateway" in the NAT or firewall section. Disabling this single setting has resolved LoL packet loss for many players whose connection tested completely clean everywhere else.
Flush DNS and Clear the Client Cache
ipconfig /flushdns
Then delete the contents of %localappdata%\Riot Games\Riot Client\Data. Stale DNS entries can route the client to outdated server IPs, and a corrupted client cache can cause connection handshake failures that show up as packet loss at the start of matches.
Rocket League: Specific Packet Loss Fixes
Why Packet Loss Hits Rocket League Differently
Rocket League calculates ball and car physics entirely server-side at 120 Hz internally, sending state updates to clients at 60 Hz. When packets drop, your client has to predict physics locally until the next server update arrives. Because the physics are deterministic on the server but your client is guessing, even a single dropped packet causes your view of the ball's position to diverge from reality. You see the ball at position A. The server has it at position B. You go for a hit and miss on what looked like an open net. The other players see you whiff. This is fundamentally different from an FPS where a missed packet simply means a missed input. In Rocket League, a dropped packet corrupts the physics simulation from your client's perspective until the server resynchronizes.
Reading the Network Graph
Enable it under Settings > Interface > Show Network Statistics (PC only). The metrics that matter for packet loss:
- Out Loss: outgoing packet loss. Packets your machine sends that the server is not receiving. Usually caused by local network issues or upload congestion.
- In Loss: incoming packet loss. Server updates your client is not receiving. Can be ISP routing or server-side.
- Latency: true round-trip time. More accurate than the scoreboard ping, which is only correct at exactly 60 FPS. At higher framerates the scoreboard shows inflated values.
- IBuf: interpolation buffer size. Tells you how the game is compensating for network variance. Relevant when choosing between STS and CSTS.
Understanding Network Settings
These are under Settings > Gameplay:
- Client Send Rate: how many packets per second your client sends to the server. Set to High on any reasonable connection. Low reduces upstream bandwidth usage but widens the window during which a packet drop leaves the server without your input.
- Server Send Rate: how many state updates per second the server sends you. Set to High. Low means fewer position updates per second, which widens the gap between server reality and your local view.
- Bandwidth Limit: caps total data rate from the server. Set to Unlimited unless you have a severely constrained connection.
- Input Buffer (STS vs CSTS): STS (Smooth Time Synchronization) is standard. CSTS (Conservative STS) adds additional buffering for connections with frequent packet loss. CSTS on a clean connection causes unnecessary speed fluctuations. Use it only when your In Loss or Out Loss values in the network graph are consistently non-zero.
Connection Quality Indicators
Enable under Settings > Interface > Connection Quality Indicators. A red flashing speedometer icon appears for high latency. A plug/disconnect icon appears for packet loss. These indicators distinguish server-side problems (everyone in the match sees them at the same time) from your local issues (only you see them). If you are the only one with the icon, it is your connection or ISP route. If everyone gets it simultaneously, it is the Psyonix server and there is nothing to fix locally.
Diagnostic Logs
Rocket League writes network logs to Documents\My Games\Rocket League\TAGame\Logs. The file Launch.log contains connection events including the server IP assigned to each match, your region, and any disconnect events with timestamps. If you have intermittent packet loss during specific matches, check the log to find the assigned server IP. This information is useful for testing whether a specific Psyonix server node is consistently degraded.
Port Forwarding for Rocket League
- UDP 7000-9000 (game data)
- UDP/TCP 80, 443
- UDP 3544 (Teredo for NAT traversal in cross-platform play)
When the Problem Is Your ISP
If packet loss shows up at hops 2-3 in WinMTR (immediately outside your modem) and persists across multiple different test targets, the problem is in your ISP's network. This happens most commonly during peak evening hours when uplinks get congested, and game traffic suffers disproportionately because games use small frequent UDP packets that get deprioritized under load.
Contact your ISP with actual data rather than a general complaint. Run WinMTR for 10+ minutes against the affected game server IP, export the output, and open a ticket with it attached. "My game is laggy" gets a script response. "Here is a WinMTR showing 8% loss at hop 3 across a 15-minute window during peak hours" gets escalated to their network team.
Cloudflare WARP (free, at 1.1.1.1) routes your traffic through Cloudflare's global network, bypassing your ISP's congested transit paths. It frequently improves routing to both Riot Direct and Valve SDR. It may add a small amount of base latency depending on your region, so you should test it before committing.
Paid gaming VPNs such as ExitLag and WTFast maintain optimized routes specifically to game server endpoints. Unlike general-purpose VPNs they are built for low-latency UDP traffic. Results vary significantly by region and ISP, so run a trial before paying.
Loss Pattern Diagnosis Table
| Pattern | Most Likely Cause |
|---|---|
| Loss at hop 1 only | Your router or local cable |
| 0% on OpenPacketLoss, loss only in one game | Game server route issue or firewall blocking that app's ports |
| Loss at all times across all targets | ISP upstream congestion or modem fault |
| Loss only during peak hours | ISP uplink congestion should be documented with WinMTR and reported. |
| Loss on Wi-Fi only, wired is clean | RF interference or wireless adapter driver issue |
| Loss clears after router restart | NAT table overflow indicates you should consider a router upgrade. |
| Loss on specific game servers but not others | Route-specific ISP problems can be improved by using Cloudflare WARP. |
| Burst spikes every few seconds, otherwise clean | Powerline adapter failure or electrical interference |
| High ping normal but burst loss when others use the network | Bufferbloat can be resolved by enabling SQM or QoS on your router. |
Packet Loss Threshold Reference
| Loss % | Impact in Competitive Play |
|---|---|
| 0% | Ideal. No impact. |
| 0.1-0.5% | Negligible in casual play. Barely perceptible in ranked. |
| 1% | Noticeable. Shot registration failures begin in Valorant. Worth investigating. |
| 2-5% | Significant. Rubberbanding, ability drops, Rocket League physics desync. |
| 5-10% | Unplayable for competitive. Frequent disconnections. |
| 10%+ | Cannot maintain a stable match session. |
Test Your Connection Now
Run a baseline test at OpenPacketLoss.com before and after each fix you try. The test runs over WebRTC UDP, which is the same underlying transport used by Rocket League and many other games. A 0% result is a meaningful signal that your local connection is clean, not just your TCP throughput.
If the test comes back clean but you still have in-game packet loss, the issue is specific to your ISP's route to that game's servers. Jump directly to the game-specific section: Dota 2 relay switching via the console, Valorant Network Buffering with the loss graph visible, or WinMTR against your LoL regional server hostname.