Distributed Interactive Simulation
Jump to navigation
Jump to search
This article is a stub. You can help the wiki by expanding it. |
Requirements
This section describes requirements to the FlightGear multiplayer protocol.
Architecture
- Architecture to strive to support DIS/HLA (#1859058)
- generic, data/purpose-agnostic server architecture that allows for arbitrary hash/value pairs to be published/subscribed to, so that a server's purpose would be only determined by the sort of data (properties) it is used to maintain/propagate(#1905987)
Protocol features
- Protocol to use selective data propagation mechanism (#1904577)
- Clients to set TOS (SO_PRIORITY) in IP packets (#1904264)
- Protocol customizable using XML & Scripting (#1847251)
- allow multiplayer properties (property IDs) to become XML configurable (#1906884) Note: there's a related patch available via the fgms patch tracker
- Protocol to publish own data, and subscribe to data from others, while multiplayer server acting as a data dispatcher (#1847251, #1905987)
- Protocol to publish multiple aircrafts from one client (#1849308)
- Protocol to support multi-crew and non aircraft-class vehicles (#1883587)
- Clients to display a default model of a given category (light single engine, light twin engine, light helicopter, light twin jet, spacecraft) when missing exact aircraft model (#1866514)
- Protocol to allow datalink communication; clients (aircraft, ATC) should be queryable via network (#1849311)
- Protocol to have simple configuration (#1899371)
Global state
- Server to support separate "worlds" to ensure that certain users only get to see certain users (#1866508)
- Server to maintain a global status for each world (#1866504, #1849311)
- date/time
- weather
- positions of automatic (random, AI) objects
- runway status
Data filtering
- Support use of Kalman filters for multiplayer data (#1867389)
- Validate plausibilty of distributed flight data (#1866527)