文摘
In a server cluster providing massively multiplayer online games, it is critical that the game workload is balanced among servers. This study develops a new mechanism, named Game Connection Handoff in operating system, which is able to transparently hand off a client’s live game connection between servers. The responding server for a player can be dynamically changed and the game workload thus can be dynamically adjusted to balance the server loads. An effective request distribution mechanism is also proposed, named game server locality-aware request distribution. This takes into account the information of game maps and server loading to dynamically distribute game maps and players among game servers. The proposed mechanisms have been implemented in the Linux kernel of LVS-CAD cluster. Practical experiments using a real multiplayer online game—Stendhal—show that the proposed mechanisms not only effectively increase the service capacity, but also transform the game server architecture from the original with a single server into one with multiple servers. Keywords Server cluster Load balance Operating system Multiplayer online games Linux