3.2.1 Abstract Data Model

If there is an error with the protocol or message on the server/host, cleanup and disconnect happen with only the client/peer with the failure. (Remaining clients/peers in the session remain connected.)

A DirectPlay 8 Protocol: Core and Service Providers Protocol implementation MUST maintain the following data element:

name table: All participants MUST maintain a consistent name table, as described in section 2.2.6. In peer-to-peer mode:

  • If the host disconnects from the game session, the process of host migration is initiated in which the remaining peers examine the current state of the name table to identify the player with the next lowest version number to become the new host.

  • If a peer disconnects from the game session, the host MUST generate a DN_DESTROY_PLAYER (section 2.2.2.2) name table operation to remove the disconnecting player from the name tables of all remaining participants.

In client/server mode:

  • Each client only keeps name table entries that represent its player and the server player, and is not informed of other clients leaving.

  • When a client leaves, the server updates only its own name table.

  • If the server disconnects, the game session is terminated.