In many online games, very good network performance is a prerequisite for satisfactory gameplay. However, there are many kinds of games, and their networking needs differ. First of all, there’s the games that run locally with no online component, such as Angry Birds. Those games may still hit the network to upload scores and download new levels—or advertisements. And many games require lengthy downloads of the game itself and updates. This type of game may need a certain minimum amount of bandwidth, but gameplay isn’t really affected by network performance.
On the other end of the spectrum there’s first person shooting or racing games such as Doom and Grand Theft Auto, respectively, when run in multiplayer mode. These games continuously send and receive updates to/from a server or the other players in order to update the status of the game in real time. As such, the game is only playable if network latency is consistently low. These games tend to use UDP as their transport protocol, and can usually survive small amounts of packet loss. There are many guides on how to optimize network performance for this type of game on the client side.
A third type of online game is the Massively Multiplayer Online Role-Playing Game (MMORPG) such as World of Warcraft. The difference between a first person shooter/racer and an MMORPG is that the former is based on quick action, while the appeal of the latter is based on having an intricate, on-going world with very many players. MMORPGs run on servers, typically operated by the game publisher. Shooters/racers may also use a server, or the player’s computers communicate directly in peer-to-peer fashion. Often, gameservers are located in different areas so players can connect to a server close by and not have to suffer high latency.
MMORPGs usually have less severe networking requirements than first person shooters and racers, with some using UDP and some using TCP to communicate with the server. Still, low latency and consistent latency benefit gameplay. Packet loss may be problematic, especially when games use TCP. In that case, a lost packet must be retransmitted before subsequent packets can be delivered. Normally, TCP’s fast retransmit algorithm makes sure retransmissions happen relatively quickly, but research has shown that fast retransmit isn’t very effective with the way MMORPGS tend to communicate: small packets (60 – 150 bytes) at regular intervals in both directions, rather than the continuous stream of large packets in one direction that most other applications generate. As such, a single lost packet may cause the game to freeze for a second or more.
So optimizing your network for first person shooters/racers would mean minimizing latency, even if that means accepting a little more packet loss. This can be achieved by reducing buffers in router and switch interfaces, so fewer packets can be queued. However, the increased packet loss may very well be problematic for TCP-based MMORPGs. The Noction IRP will select paths with the lowest latency and packet loss from those available to your network. Also see our previous article Optimizing your network for video streaming, especially the part on buffer bloat.
If the above is not sufficient, throwing bandwidth at the problem can be very effective, as gameplay uses relatively little bandwidth. The challenging part is to keep non-gameplay traffic from using up the available bandwidth and thus increasing latency and packet loss. This issue can be solved by giving gameplay traffic higher priority than other types of traffic if you are in the position to set up priority queuing on the bottleneck link. However, be sure to look at network neutrality requirements in your jurisdiction before going down this road.
Both shooters/racers and MMORPGs may have issues when BGP reconverges and selects a new path to reach a destination. Obviously, simply taking down a link and letting BGP time out leads to significant interruptions, as the BGP RFC suggests 90 seconds for the hold time, so it takes up to 90 seconds for BGP to realize that a neighbor is no longer reachable. But during those 90 seconds, traffic keeps flowing towards the dead neighbor, so that traffic never reaches the destination. Cisco even uses a default of 180 seconds. As such, RFC 6198 specifies a graceful shutdown mechanism for BGP sessions. But there have been reports that some games will be interrupted by any BGP path change. Fortunately, the Noction IRP has features to minimize the interruptions caused by downtime and maintain route stability to avoid unnecessary BGP rerouting as it tries to minimize the network’s latency and packet loss.
So don’t worry, the IRP will have your back while you’re busy fragging those monsters.
Boost BGP Preformance
Automate BGP Routing optimization with Noction IRP