League of Legends packet loss

I play LoL half the time on a wired DSL line in San Francisco and it plays just fine. The other half the time I play on a fixed wireless network link in rural California and I get enough lag it’s not much fun to play. I’m trying to figure out if the source of that lag is my ISP’s wireless network or something else.

LoL has net logs which are remarkably helpful. The LoL client reports it’s losing about 300 packets in a 30 minute game, typically 1 or 2 every 10 seconds. And occasionally one bad lag burst, 20 lost packets in a 10 second frame. That’s consistent with what I see in the game, the occasional lag hiccup and then once or twice a game really bad lag. I’ve also poked around a fair amount into the UDP packet stream for the game to measure bandwidth, burst speeds, etc. It’s hard to diagnose without anything like TCP sequence numbers. But FWIW the game never seems to get much faster than 40,000 kbits/sec or so, well below my ISP’s honest speed of 1 mbit/sec.

I was guessing the link layer of the fixed wireless link is causing the packet loss. But my ISP has been great in helping me figure this out. They tell me they measure link packet loss and there isn’t any. Also the network equipment does have various retransmits etc to work around wireless flakiness. Another possibility is my router, or maybe even something in the Internet outside my ISP. Hard to know!

Along the way I’m trying to learn more about ARP caches. This documentation of the Linux ARP cache is helpful. So is the command “ip -s neighbor list” for inspecting the state of the ARP cache, although I don’t fully understand the output.