Multiplayer Game Server Software Architecture
Moskalev, Artem (2014)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201404305499
https://urn.fi/URN:NBN:fi:amk-201404305499
Tiivistelmä
The purpose of the project was to show how large multiplayer server software used to be implemented. The goal of the project was to create working multiplayer game server soft-ware for a role-playing game.
The project was carried out in multiple modules, each of those representing an important part of the game server software. As for the platform, upon which the implementation was built, Java was chosen. Multiple frameworks were used in this solution in order to achieve scalability, performance and maintainability required by the project goal.
As a result, the game server software was created. It allowed multiple thousand players to connect to a single point, to play the game online, and to synchronize the state of the characters. Each character was capable of performing location-based functions. The common world was shared among all the player instances. The software supported asynchronous full-duplex server-client communication, and the load of more than one thousand users. The authentication capabilities were also embedded into the game.
The project shows how large complex software systems can be implemented. The server software proves that creating network-based games is a challenging task and requires the knowledge of different fields of computer science.
The project was carried out in multiple modules, each of those representing an important part of the game server software. As for the platform, upon which the implementation was built, Java was chosen. Multiple frameworks were used in this solution in order to achieve scalability, performance and maintainability required by the project goal.
As a result, the game server software was created. It allowed multiple thousand players to connect to a single point, to play the game online, and to synchronize the state of the characters. Each character was capable of performing location-based functions. The common world was shared among all the player instances. The software supported asynchronous full-duplex server-client communication, and the load of more than one thousand users. The authentication capabilities were also embedded into the game.
The project shows how large complex software systems can be implemented. The server software proves that creating network-based games is a challenging task and requires the knowledge of different fields of computer science.