I'm aware that this is an unusual question, but it seems the people here are very likely the ones who can help. I'm trying to debug with my ISP why I'm having extreme lags during gameplay.
Question: What is a good way to analyse packet-runtime and -loss that gives me more detailed information about where the bottleneck in the connection is? Is there an easy way to reproduce the traffic artificially to some degree without actually playing the game?
Here is my situation:
- My ISP provides my connection over a large wireless network with several access points over some 10km before reaching the main cable. It has always been this way and in the past, it proved to be extremely reliable. Due to changes in the hardware or other setup changes of my ISP, the gameplay quality dropped several months ago. My ISP is very helpful and tries to find and fix the source of the problems.
- I have in general a very good ping and when I play, the in-game information always shows a good ping of 20-30ms.
- A feature of Battlefield is that it shows warning symbols when the frame-rate drops, the connection turnaround time is bad or packets got lost. The situation that repeats is that I can play about 10-60seconds without any warning symbol and then I experience a severe packet loss where I have lags and BF shows me all kinds of connection warnings. After that, I can play again for some seconds before I see this behaviour again.
I'm exclusively working on Linux and I'm somewhat comfortable with
nmap, and other network tools. I know the high-ports that BF uses, I can find out the used packet-sizes and of course I can extract IP's from game-servers. What is a good way to start tracking this issue down so that I can hopefully provoke the packet-loss artificially while my ISP debugs what happens in his network?
I have installed WireShark as kindly suggested by moonpoint and captured some minutes of laggy gameplay. In a first analysis, I concentrated on the packets that are coming from the game-server. I filtered all UDP packets that are coming from the server to my IP and adjusted the time to see the relative time between those packets. After sorting there were about 20 packets that took between 650 ms and 1300 ms which I suspect are the ones where I'm jumping half over the map. Between most of the other packets have almost exactly the runtime time that I see as "Ping" inside the game of about 30 ms.
After marking all the critical packets, I cleared the filter and looked at all the traffic to see if I can find some pattern of what is on with all packets around the critical ones. What I found is that there are two situations. Note that 22.214.171.124 is the game-server and the blue highlight is the critical UDP game package:
First, about 10-15 packets before the critical one there is a mystical SSDP M-Search packet coming from a MAC address:
The second situation is that the critical packet is preceded (or sometimes surrounded) by a TCP Retransmission mostly to a Google server:
Are there any further steps I could take from my side? Can someone tell me how I can investigate in the mystical SSDP packet?