1 A Fair Message Exchange Framework for Distributed Multi-Player Games Katherine Guo Sarit Mukherjee Sampath Rangarajan Sanjoy Paul Center for Networking Research Bell Laboratories, Holmdel, NJ 07733. Email: kguo, sarit, sampath, sanjoy @bell-labs.com Abstract—This paper presents a framework for message delivery in real-time multi-player distributed interactive games that use the client-server model. Based on this frame- work, we propose message delivery algorithms that remove the unfair advantage that players with smaller message de- lays from the game server receive over players with large message delays from the server. The framework is very gen- eral in the sense that it does not require assumptions of syn- chronized clocks at the players and servers; neither does it require a mechanism to compute the one-way delay from the players to the server accurately. It also avoids the need for bucket synchronization that leads to messages being de- layed by a fixed amount of time at the server. The frame- work is based on a proxy architecture that is independent of game applications. Keywords: distributed multi-player games, fairness, re- action time, message delivery. I. I NTRODUCTION Real-time, multi-user distributed applications, such as online multi-player games or distributed interactive sim- ulations (DIS), are becoming increasingly popular due to advances in game design and the availability of broadband Internet access to the end-user. Online multi-player games can be implemented either using the peer-to-peer model or the client-server model. In the peer-to-peer model [1], [2], [3] players send their actions to each other and re- act on the received action, whereas in the client-server model [4], [5], [6] all messages from players that carry their actions are ordered at a single server. In the peer- to-peer model, event consistency has been well studied using the concepts of logical clocks, causal ordering and Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial ad- vantage, and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. NetGames’03 May 22-23, Redwood City, California, USA c 2003 ACM 1-58113-734-6/03/0005...$5.00 total ordering in distributed systems [7], [8], [9]. In the client-server model, consistency is automatically guaran- teed because messages from all the players are only deliv- ered at the central game server, and therefore all messages follow both causal and total ordering. However, fairness in neither model has been addressed. Today most online multi-player games are implemented based on a client- server model. This is due to the complexity of a peer- to-peer model based implementation as well as security restrictions that prevent peer-to-peer communication. Our focus in this paper is on games based on the client-server model. The design and implementation of such games must include an underlying fairness property for the play- ers. This is challenging, however, in cases where play- ers, distributed over wide geographic areas, participate in a game together. In the client-server model, an authoritative game server is set up and all players or clients contact this game server to play the game against one another. The game server keeps track of the global state of the game. Players send their actions to the game server in messages we call action messages. The game server then processes the actions in sequence, changes the global state, and notifies players of the effects of their actions in messages we call state update messages or simply update messages. The state change that is communicated to the players may lead to more action messages being sent to the game server. The only communication in the system is between the game server and players. Players themselves do not send mes- sages to one another, neither do they play any active role in deciding the ordering of actions in the game. Because of the real-time nature of online multi-player games, the majority of action and state update messages are sent over UDP; only a few messages are sent over TCP and only at game start-up [3]. Because of this, applications have built-in mechanisms to handle message loss. For exam- ple, messages contain absolute location of objects instead of relative ones, therefore, there is no dependency on pre-