When we load up any multiplayer game, be it on console or PC, we rarely think about what makes it possible for us to play with people from all over the world. We just start the game, hit Multiplayer, and off we go. And when we die because the game lagged, or the other player’s avatar was teleporting around, making them harder to target or avoid, we just blame the servers or our internet connections. But just like when we browse the internet, we don’t think or likely even won’t know about what happens underneath the surface. In this article, I’ll briefly explain how online multiplayer games work and why some of the common issues arise.
There are three main connection types used in online gaming: Server-client, P2P or peer-to-peer, and the “true” peer-to-peer that For Honor uses, where it is a cause of controversies. (more on this later). All three types have their strengths and weaknesses; I’ll examine these.
The first one, which is deemed the most reliable, is the server-client method. This has been in use for more than two decades. The premise is simple: a server machine manages the online multiplayer’s functions, and the clients (the game running on the players’ consoles or PCs) connects to this server. When the server is hosted from an appropriate location, and fairly close to the players (about 2-3 thousand km’s maximum), and there are no connection issues on the network between players and the server, all is good. But when it is hosted from a poor location, such as from someone’s home connection with limited upload bandwidth, gameplay will become laggy, choppy and poor quality; most home connections can only handle 4-5 remote players at max, this is why people should opt to rent a cheaper server instead of running the game from someone’s home.
A more recent variant of dedicated servers is when game developers use cloud-computing systems to deliver dedicated servers for their games – Rainbow Six: Siege, Titanfall 2 and Infinity Warfare are recent examples for this. Even though these games use this technology, there are still a lot of complaints from players about latency issues and disconnections – proving that dedicated servers by themselves don’t provide stable gaming experiences
The second method is incorrectly called peer-to-peer, and is often used by multiplayer games in the Xbox 360 and PS3 era games. Notable games include Uncharted, the Call of Duty series and the Souls games. In this case, the matchmaking server of the game puts players together in the game’s lobby, tests their connections and chooses one of the players to be the “host” of the game; if this player quits mid-game, “host migration” occurs, during which the matchmaking server re-selects someone else to be the host.
While issues of putting people from distant continents into lobbies, and laggy home connections causing hosts to have huge advantages do exist, this method worked just fine for many more casual console games, such as the Call of Duty series. A huge disadvantage of this is that due to the host player essentially having 0 ping to themselves, the gaming environment cannot be called competitive as they have huge advantage by default; this can be compensated by game developers using trickeries in the game’s networking code to lessen the host advantage.
Another disadvantage is when lazy developers port console games to PC; the hardware differences can also cause issues due to some players having weaker hardware inadequate to run the game properly – just another reason for bad matches on p2p PC matches. If the system picks a players with a weaker PC to be the host (because they run the game well in the lobby, and their internet connection is top-notch), then everyone in the game will suffer the consequences, resulting in stuttering, drop-outs and generally high ping, due to the host’s computer being unable to process the received information quickly.
The third, and very controversial connection method is used by For Honor, Ubisoft’s recently released brawler/fighter game. This is the true peer-to-peer method, as instead of having one single host like in the previous two methods, all players in a match connect to each other. There is no host advantage, and all of the players are supposedly synchronized together and normalized to have the illusion of same latency, so it seems all is well.
However, when a player drops from a For Honor match, or joins one in progress, the other players in the match have to re-synchronize the game, which often causes 5-10 seconds long pauses during transition. Security is also an issue – remember the attacks where Skype was used to get your IP address, then drop you from the network by flooding your router with ping requests? Same can – and will – happen in For Honor matches; everyone connects to everyone, so every player has all the others’ IP addresses, making it easy to use various networking tools to drop them off the game or outright crash the entire match.
What all three methods share is the nature of the internet – due to how data travels between the players and the hosts, or each other in the third case, connection issues are unavoidable, as there are so many things that can go wrong between any individual player and the server hosting the game. Data can get lost or it may be delayed by network congestion and traffic for any number of reasons.
As you can see from the above, no connection method is perfect – due to the inherent nature of the internet, the physical distance between players, the stability of network hosts and also to the performance of various configurations in the case of PCs, online gaming will always have disconnection and latency issues, no matter what connection types we use. As players, we can only do so much, – have proper networking equipment, a good ISP and a well-maintained gaming PC or console at home – the rest is handled by the internet, the particular game we’re playing and the servers, over which we absolutely have no control.
image licensed through Deposit Photos