[e2e] 150ms - tolerable latency for quakeIII

vogels at cs.cornell.edu vogels at cs.cornell.edu
Thu May 24 05:37:12 PDT 2001

There is a wide range of game server implementations and among those the
Quake server is one that is remarkably tolerant and robust. Especially
when compared to newer game servers such as Diablo-II's battlenet.

The QuakeWorld server, which is frequently used with the early Quake
versions, compensates for the variable latencies of the clients through
periodic batch processing. It divide the times up into "frames", and at
the beginning of each frame all the messages are processed that have
arrived since the start of the previous frame, all actions are
calculated and the results are sent back to the clients. The earliest
versions of the server would do this processing continuously, later ones
would move in more strict periods. The most important aspect of the
server is that it is "fair" to all players, and periodic processing
removes some of the advantages lower latency players would have.

In server mode, multiplayer Quake defers all state maintenance to the
server. The Quake client becomes an intelligent "thin client". Message
loss is accounted for in the protocol not through retransmission of
packets, but by adding sufficient application state to each message that
a certain amount of loss can be compensated for. Since the introduction
of dead reckoning things have become somewhat more complicated, but
essentially all the clients follow the server's state.


More information about the end2end-interest mailing list