Skip to Main Content
Multiplayer, real-time games have become a huge commercial service. Because of this success, the need exists for a more efficient and reliable game server solution. Such games are a kind of soft real-time systems because a game server has to respond to requests from many clients, compute the action of a non-player character (NPC), and filter the data from each client within specified time constraints. Some client and server tasks are periodic and some are not. To meet these timing constraints, we propose a task scheduling policy. Our solution includes two approaches: (1) the STU segment queue approach to convert sporadic events from game clients into serialized periodic event groups; and (2) the spatial domain approach to reduce queuing delay caused by the network outgoing event queue. To implement our solution on the JAVA framework with the non-real-time JAVA virtual machine, we propose a new client/server architecture for a scalable game server that in addition, will reduce the frequency of garbage collection by reusing server resources.