Note to self: MySQL max_allowed_packet is in bytes, not Megabytes
Not knowing that made me shut down one game on release day
Besides the game client itself one might need to build up a Infrastructure of other servers and online services. Many of these functions are now build into the current popular online platforms such as Steam, Xbox Live and PlayStation Network.It makes sense to use these as much as possible but if you need more you have to make your own.
The servers are divided according to their functionality. They can be combined on the same box or even the same program. What services the game needs depends on the game.
Runs the game world. The game world can be a 3d world with dragons and elfs or a a casino with many casiono tables.
Keeps a list of all servers, lets the players browse them and matchmake to join a server. Join the game friends are in.
'Rainbow Six Siege': Optimizing Servers for the Cloud - 2017
Building a Balanced Universe - 2013
An Overview of Networking Infrastructure for Massively Multiplayer Online Games - 2013
Guild Wars 2: Programming the Next Generation Online World - 2012
Inside Tibia - The Technical Infrastructure of an MMORPG - 2011
The Server Technology of EVE Online: How to Cope with 300,000 Players in One World - 2010
Infinite Space: An Argument for Single-Sharded Architecture in MMOs - 2010
The OTP Server - 2008
Building a simple yet powerful MMO game architecture - 2008