Multiplayer SDK Overview

Earlier versions of Flight Simulator (prior to Flight Simulator for Windows 95) contained a multiplayer system that allowed users to connect two machines together so they could fly in a shared airspace. When Flight Simulator 98 was initially ported to the Windows platform, multiplayer functionality wasn't included. However, a multiplayer system was added to Flight Simulator 98. The Flight Simulator 98 multiplayer system leverages DirectPlay technology to produce an environment where multiple users can share the same airspace over a modem. The multiplayer system supports multiple users via multiple protocols in a peer-to-peer gaming environment. An interface to the Internet Gaming Zone is provided so people can readily find other pilots from around the world.

Note: The multiplayer system found in Flight Simulator 98 doesn't provide external hooks for access to data relating to the remote players in a session. You can, however, write an application that will hook into the message stream of an active multiplayer session to gain access to the remote player data.

Important: This SDK includes information on the Flight Simulator Multiplayer system and assumes an understanding of Microsoft DirectPlay technology (from the DirectX 5 SDK). The DirectX 5 SDK is available on the Microsoft web site at http://www.microsoft.com/directx; download the DirectX 5.2B SDK. The information contained in the Multiplayer SDK is not supported by Microsoft Product Support.
When creating add-ons for Flight Simulator 98, it's recommended that you use only the DirectPlay interface from DirectX 5. DirectX 6 contains many new functions that may not be compatible with applications using the DirectX 5 interface.

Players are the core of the multiplayer system. In the system, players fall into three categories: unknown, players, and observers. The "unknown" player designation is a temporary designation used when a player first joins a session. A player is classified as unknown until the session host responds as to whether they can join the multiplayer session as a player or an observer. The "player" classification designates a player that has a visual presence on remote machines and can be collided with. The "observer" classification designates a player that watches other players, but has no visual presence on remote machines and can't collide with other players.

The architecture of the multiplayer system is based on information packets sent between the players in a session. Each information packet has a unique name and ID associated with it. Some packets contain extra information and have a data structure associated with them. In this SDK, when referring to packet ids, the MULTIPLAYER_PACKET_ID_ prefix isn't included; when referring to packet structures, the MULTIPLAYER_PACKET_ prefix isn't included. See the topics Packet IDs and Packet Structures for complete lists of the packet IDs and packet structures, respectively.