by d-_-b » 29 Apr 2016, 20:52
Back when i had carrier pigeons for internet, i tested the network usage of FAF to find out exactly what games i could play, i noticed i could never play 6v6, and 5v5 *sometimes* was bad.
The answer is:
~3KB/s (that's 24kbit) of Upload and Download per player in the game +1 for the livereplay server, 4KB/s to be safe on huge command spikes etc.
at 5v5 that is ~33KB/s (264kbit), which on my old connection with 280kbit upload, i just BARELY scraped, and sometimes lagged in command-heavy situations like spamming reclaim, spamming air, someone builds 1000 walls... etc.
If you do not have at least this much bandwidth available you will choke, and packets will be delayed, and ping time will rise enormously to everyone, this is the most common cause of "spiking".
packet loss of course can simply be checked by the "ping" tool.
A stress tester in the lobby then should try to send and receive 3KB/s of data per person in the lobby to each and test if the data rate and ping time on the packets hold.
Choke and Loss are the primary causes of lag, of course a static ping of 400 with no packet loss and no choke will have no problems since the game schedules 500ms in advance, BUT a high ping time will compound issues from someone else spiking as a lost packet will take even longer to be acknowledged and resent.
of course, having a good connection does not save you from housemates skyping/netflix/pron/torrents etc... As upload is generally asymmetrical, upload congestion is by far the biggest factor here, sometimes the only way fix to that is to grow some balls.
Disconnecting outright is usually because the modem desynchronises, or FAF crashes, or something, that is inherently unpredictable, it sucks, but nothing can be done about that. Being able to reconnect after an IP change (modem die, but no game crash) would fix modem desyncs/resets etc and should theoretically be possible with a proxy (so the other players all see the same connection), but reconnecting after a game crash is another kettle of fish an probably impossible without the FA source code.