Multiplayer protocol: Difference between revisions

Jump to navigation Jump to search
MP 2017.2 changes
(MP 2017.2 changes)
Line 5: Line 5:
The multiplayer protocol uses XDR encoded messages that are sent via UDP. All messages are composed of XDR (eXternal Data Representation) encoded data as per RFC 1832.
The multiplayer protocol uses XDR encoded messages that are sent via UDP. All messages are composed of XDR (eXternal Data Representation) encoded data as per RFC 1832.


XDR basically means that all data is in network byte order and aligned to the nearest multiple of 4 bytes. Strings are encoded as a zero-terminated array of characters, aligned to the nearest multiple of 4 bytes, and floating point numbers (32 or 64 bit) must be encoded as per the IEEE standard.
XDR basically means that all data is in network byte order and aligned to the nearest multiple of 4 bytes. Strings are encoded in Pascal format (length followed by char(length)) and are not zero terminated. Floating point numbers (32 or 64 bit) must be encoded as per the IEEE standard.


For the record, strings are limited to 128 characters (512 bytes) and packets are limited to 1200 bytes; these limits are hardocded in fgfs.<ref>{{cite web
For the record, strings are limited to 128 characters and packets are limited to 1200 bytes; these limits are hardcoded in fgfs and represent the commonly accepted transmission size of a UDP packet .<ref>{{cite web
   |url    =  https://sourceforge.net/p/flightgear/mailman/message/35059961/  
   |url    =  https://sourceforge.net/p/flightgear/mailman/message/35059961/  
   |title  =  <nowiki> Re: [Flightgear-devel] dual-control-tools and the limit on packet
   |title  =  <nowiki> Re: [Flightgear-devel] dual-control-tools and the limit on packet
Line 16: Line 16:
   |script_version = 0.36  
   |script_version = 0.36  
   }}</ref>
   }}</ref>
As of mid 2016, there are plans being discussed to revamp the MP system <ref>{{cite web
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35130533/
  |title  =  <nowiki> [Flightgear-devel] RFC: Proposal for changes to the multiplayer
system. </nowiki>
  |author =  <nowiki> Richard Harrison </nowiki>
  |date  =  Jun 1st, 2016
  |added  =  Jun 1st, 2016
  |script_version = 0.40
  }}</ref>.


== Future Development ==
== Future Development ==
Line 40: Line 30:
}}
}}


* One thing I'd like to have is, in the debugging output of fgfs, the complete list of properties sent per packet. This would allow me to discover any properties that are transmitted without my knowledge or consent <ref>{{cite web
== 2017.2 Changes ==
  |url    = https://sourceforge.net/p/flightgear/mailman/message/35440851/  
The 2017.2 protocol allows for much better packing of strings, new types that are transmitted in 4bytes by transmitting
  |title  =  <nowiki> Re: [Flightgear-devel] C172 MP alert on console </nowiki>
with short int (sometimes scaled) for the values (a lot of the properties that are transmitted will pack nicely into 16bits).
  |author = <nowiki> Ludovic Brenta </nowiki>
 
  |date  = Oct 20th, 2016
The 2017.2 protocol also allows for properties to be transmitted automatically as a different type and the encode/decode will
  |added  = Oct 20th, 2016
take this into consideration.
  |script_version = 0.40
 
  }}</ref>
To allow for compatibility with older clients the pad magic is used to force older clients to call verifyProperties, which will result in an invalid result because the first property transmitted is made to ensure that this routine fails on earlier clients; causing the properties part of the packet to be discarded, the basic motion properties remain compatible, so the older client will see just the model, not chat, not animations etc.
 
The property transmission definition for 2017.2 has been reworked to take advantage of the more efficient packing options available.
 
A reduction of around 30% is achieved on a basic packet; with the new additional short int generics more properties can be transmitted in the remaining space than was previously possible.
 
The property /sim/multiplay/protocol-version (1 or 2) controls the protocol in use; 1 is compatible, 2 is 2017.2
 
The property /sim/multiplay/visibility-range-nm will be sent in the packet header - to allow the client to request larger visibility ranges from fgms. This has not been implemented in the fgms code.
 
== 2017.2 debugging aids ==
 
With 2017.2 there are some properties (for the developer) that allow debug of the multiplayer.
 
=== Loopback ===
 
set /sim/multiplay/debug-level to 1 (bit 0) and your aircraft will be locally looped back (within the protocol) - thus aiding the development of multiplayer animations and general multiplayer debug.
 
=== Multiplay debug-level ===
 
* /sim/multiplay/debug-level bit 0 : direct loopback (see above). Need to be connected to a multiplayer server, but no extra packets are sent as the loopback is within the MP code.
* /sim/multiplay/debug-level bit 1 : trace (to the console at Network, Info) the properties being sent in the outgoing packet
* /sim/multiplay/debug-level bit 2 : hexdump (to the console at Network, Info) outgoing packets
* /sim/multiplay/debug-level bit 3 : trace (to the console at Network, Info) contents of incoming packets. Can result in a lot of debug.
 
=== Outgoing packet size ===
 
Property /sim/multiplay/last-xmit-packet-len contains the size (in bytes) of the last transmitted packet.


== Data types ==
== Data types ==
Line 283: Line 300:
|}
|}


==== Second part ====
==== Properties Packet  ====
{{Note|This table is is current for FlightGear 3.2.0.  For the list in the development version, see {{flightgear file|src/MultiPlayer/multiplaymgr.cxx|l=70}}.}}
 
The fields of the second part are '''property values''' encoded in the form '''ID'''|'''Value'''.
The fields of the second part are '''property values''' encoded in the form '''ID'''|'''Value'''.


The following properties are transmitted, but not necessarily all present or in this order:
A subset of the following properties are transmitted in the order below. Properties marked as V1_2_PROP_ID will only be sent when the 2017.2 protocol (or later) is selected. Transmit As is also only relevant for 2017.2 or later.


{| class="wikitable"
{| class="wikitable"
! ID !! Property !! Type
! ID !! Property !! Type !!Transmit As !! Protocol Ident
|-
|10||sim/multiplay/protocol-version||INT||SHORTINT||V1_1_PROP_ID||
|-
|100||surface-positions/left-aileron-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|101||surface-positions/right-aileron-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|102||surface-positions/elevator-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|103||surface-positions/rudder-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|104||surface-positions/flap-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|105||surface-positions/speedbrake-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|106||gear/tailhook/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|107||gear/launchbar/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|108||gear/launchbar/state||STRING||same||V1_1_2_PROP_ID||
|-
|109||gear/launchbar/holdback-position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|110||canopy/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|111||surface-positions/wing-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|112||surface-positions/wing-fold-pos-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|200||gear/gear[0]/compression-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|201||gear/gear[0]/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|210||gear/gear[1]/compression-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|211||gear/gear[1]/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|220||gear/gear[2]/compression-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|221||gear/gear[2]/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|230||gear/gear[3]/compression-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|231||gear/gear[3]/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|240||gear/gear[4]/compression-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|241||gear/gear[4]/position-norm||FLOAT||SHORT_FLOAT_NORM||V1_1_PROP_ID||
|-
|300||engines/engine[0]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|301||engines/engine[0]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|302||engines/engine[0]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|310||engines/engine[1]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|311||engines/engine[1]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|312||engines/engine[1]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|320||engines/engine[2]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|321||engines/engine[2]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|322||engines/engine[2]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|330||engines/engine[3]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|331||engines/engine[3]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|332||engines/engine[3]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|340||engines/engine[4]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|341||engines/engine[4]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|342||engines/engine[4]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|350||engines/engine[5]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|351||engines/engine[5]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|352||engines/engine[5]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|360||engines/engine[6]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|361||engines/engine[6]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|362||engines/engine[6]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|370||engines/engine[7]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|371||engines/engine[7]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|372||engines/engine[7]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|380||engines/engine[8]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|381||engines/engine[8]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|382||engines/engine[8]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|390||engines/engine[9]/n1||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|391||engines/engine[9]/n2||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|392||engines/engine[9]/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|800||rotors/main/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|801||rotors/tail/rpm||FLOAT||SHORT_FLOAT_1||V1_1_PROP_ID||
|-
|810||rotors/main/blade[0]/position-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|811||rotors/main/blade[1]/position-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|812||rotors/main/blade[2]/position-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|813||rotors/main/blade[3]/position-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|820||rotors/main/blade[0]/flap-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|821||rotors/main/blade[1]/flap-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|822||rotors/main/blade[2]/flap-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|823||rotors/main/blade[3]/flap-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|830||rotors/tail/blade[0]/position-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|831||rotors/tail/blade[1]/position-deg||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|900||sim/hitches/aerotow/tow/length||FLOAT||same||V1_1_PROP_ID||
|-
|901||sim/hitches/aerotow/tow/elastic-constant||FLOAT||same||V1_1_PROP_ID||
|-
|902||sim/hitches/aerotow/tow/weight-per-m-kg-m||FLOAT||same||V1_1_PROP_ID||
|-
|903||sim/hitches/aerotow/tow/dist||FLOAT||same||V1_1_PROP_ID||
|-
|904||sim/hitches/aerotow/tow/connected-to-property-node||BOOL||same||V1_1_PROP_ID||
|-
|905||sim/hitches/aerotow/tow/connected-to-ai-or-mp-callsign||STRING||same||V1_1_2_PROP_ID||
|-
|906||sim/hitches/aerotow/tow/brake-force||FLOAT||same||V1_1_PROP_ID||
|-
|907||sim/hitches/aerotow/tow/end-force-x||FLOAT||same||V1_1_PROP_ID||
|-
|908||sim/hitches/aerotow/tow/end-force-y||FLOAT||same||V1_1_PROP_ID||
|-
|909||sim/hitches/aerotow/tow/end-force-z||FLOAT||same||V1_1_PROP_ID||
|-
|930||sim/hitches/aerotow/is-slave||BOOL||same||V1_1_PROP_ID||
|-
|931||sim/hitches/aerotow/speed-in-tow-direction||FLOAT||same||V1_1_PROP_ID||
|-
|932||sim/hitches/aerotow/open||BOOL||same||V1_1_PROP_ID||
|-
|933||sim/hitches/aerotow/local-pos-x||FLOAT||same||V1_1_PROP_ID||
|-
|934||sim/hitches/aerotow/local-pos-y||FLOAT||same||V1_1_PROP_ID||
|-
|935||sim/hitches/aerotow/local-pos-z||FLOAT||same||V1_1_PROP_ID||
|-
|1001||controls/flight/slats||FLOAT||SHORT_FLOAT_4||V1_1_PROP_ID||
|-
|1002||controls/flight/speedbrake||FLOAT||SHORT_FLOAT_4||V1_1_PROP_ID||
|-
|1003||controls/flight/spoilers||FLOAT||SHORT_FLOAT_4||V1_1_PROP_ID||
|-
|1004||controls/gear/gear-down||FLOAT||SHORT_FLOAT_4||V1_1_PROP_ID||
|-
|1005||controls/lighting/nav-lights||FLOAT||SHORT_FLOAT_3||V1_1_PROP_ID||
|-
|-
| 100 || surface-positions/left-aileron-pos-norm                || float
|1006||controls/armament/station[0]/jettison-all||BOOL||SHORTINT||V1_1_PROP_ID||
|-
|-
| 101 || surface-positions/right-aileron-pos-norm              || float
|1100||sim/model/variant||INT||same||V1_1_PROP_ID||
|-
|-
| 102 || surface-positions/elevator-pos-norm                    || float
|1101||sim/model/livery/file||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 103 || surface-positions/rudder-pos-norm                      || float
|1200||environment/wildfire/data||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 104 || surface-positions/flap-pos-norm                        || float
|1201||environment/contrail||INT||SHORTINT||V1_1_PROP_ID||
|-
|-
| 105 || surface-positions/speedbrake-pos-norm                  || float
|1300||tanker||INT||SHORTINT||V1_1_PROP_ID||
|-
|-
| 106 || gear/tailhook/position-norm                            || float
|1400||scenery/events||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 107 || gear/launchbar/position-norm                          || float
|1500||instrumentation/transponder/transmitted-id||INT||SHORTINT||V1_1_PROP_ID||
|-
|-
| 108 || gear/launchbar/state                                  || string
|1501||instrumentation/transponder/altitude||INT||same||V1_1_PROP_ID||
|-
|-
| 109 || gear/launchbar/holdback-position-norm                  || float
|1502||instrumentation/transponder/ident||BOOL||SHORTINT||V1_1_PROP_ID||
|-
|-
| 110 || canopy/position-norm                                  || float
|1503||instrumentation/transponder/inputs/mode||INT||SHORTINT||V1_1_PROP_ID||
|-
|-
| 111 || surface-positions/wing-pos-norm                        || float
|10001||sim/multiplay/transmission-freq-hz||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 112 || surface-positions/wing-fold-pos-norm                  || float
|10002||sim/multiplay/chat||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 200 || gear/gear[0]/compression-norm                          || float
|10100||sim/multiplay/generic/string[0]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 201 || gear/gear[0]/position-norm                            || float
|10101||sim/multiplay/generic/string[1]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 210 || gear/gear[1]/compression-norm                          || float
|10102||sim/multiplay/generic/string[2]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 211 || gear/gear[1]/position-norm                            || float
|10103||sim/multiplay/generic/string[3]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 220 || gear/gear[2]/compression-norm                          || float
|10104||sim/multiplay/generic/string[4]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 221 || gear/gear[2]/position-norm                            || float
|10105||sim/multiplay/generic/string[5]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 230 || gear/gear[3]/compression-norm                          || float
|10106||sim/multiplay/generic/string[6]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 231 || gear/gear[3]/position-norm                            || float
|10107||sim/multiplay/generic/string[7]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 240 || gear/gear[4]/compression-norm                          || float
|10108||sim/multiplay/generic/string[8]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 241 || gear/gear[4]/position-norm                            || float
|10109||sim/multiplay/generic/string[9]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 300 || engines/engine[0]/n1                                  || float
|10110||sim/multiplay/generic/string[10]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 301 || engines/engine[0]/n2                                  || float
|10111||sim/multiplay/generic/string[11]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 302 || engines/engine[0]/rpm                                  || float
|10112||sim/multiplay/generic/string[12]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 310 || engines/engine[1]/n1                                  || float
|10113||sim/multiplay/generic/string[13]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 311 || engines/engine[1]/n2                                  || float
|10114||sim/multiplay/generic/string[14]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 312 || engines/engine[1]/rpm                                  || float
|10115||sim/multiplay/generic/string[15]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 320 || engines/engine[2]/n1                                  || float
|10116||sim/multiplay/generic/string[16]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 321 || engines/engine[2]/n2                                  || float
|10117||sim/multiplay/generic/string[17]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 322 || engines/engine[2]/rpm                                  || float
|10118||sim/multiplay/generic/string[18]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 330 || engines/engine[3]/n1                                  || float
|10119||sim/multiplay/generic/string[19]||STRING||same||V1_1_2_PROP_ID||
|-
|-
| 331 || engines/engine[3]/n2                                  || float
|10200||sim/multiplay/generic/float[0]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 332 || engines/engine[3]/rpm                                  || float
|10201||sim/multiplay/generic/float[1]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 340 || engines/engine[4]/n1                                  || float
|10202||sim/multiplay/generic/float[2]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 341 || engines/engine[4]/n2                                  || float
|10203||sim/multiplay/generic/float[3]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 342 || engines/engine[4]/rpm                                  || float
|10204||sim/multiplay/generic/float[4]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 350 || engines/engine[5]/n1                                  || float
|10205||sim/multiplay/generic/float[5]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 351 || engines/engine[5]/n2                                  || float
|10206||sim/multiplay/generic/float[6]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 352 || engines/engine[5]/rpm                                  || float
|10207||sim/multiplay/generic/float[7]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 360 || engines/engine[6]/n1                                  || float
|10208||sim/multiplay/generic/float[8]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 361 || engines/engine[6]/n2                                  || float
|10209||sim/multiplay/generic/float[9]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 362 || engines/engine[6]/rpm                                  || float
|10210||sim/multiplay/generic/float[10]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 370 || engines/engine[7]/n1                                  || float
|10211||sim/multiplay/generic/float[11]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 371 || engines/engine[7]/n2                                  || float
|10212||sim/multiplay/generic/float[12]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 372 || engines/engine[7]/rpm                                  || float
|10213||sim/multiplay/generic/float[13]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 380 || engines/engine[8]/n1                                  || float
|10214||sim/multiplay/generic/float[14]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 381 || engines/engine[8]/n2                                  || float
|10215||sim/multiplay/generic/float[15]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 382 || engines/engine[8]/rpm                                  || float
|10216||sim/multiplay/generic/float[16]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 390 || engines/engine[9]/n1                                  || float
|10217||sim/multiplay/generic/float[17]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 391 || engines/engine[9]/n2                                  || float
|10218||sim/multiplay/generic/float[18]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 392 || engines/engine[9]/rpm                                  || float
|10219||sim/multiplay/generic/float[19]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 800 || rotors/main/rpm                                        || float
|10220||sim/multiplay/generic/float[20]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 801 || rotors/tail/rpm                                        || float
|10221||sim/multiplay/generic/float[21]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 810 || rotors/main/blade[0]/position-deg                      || float
|10222||sim/multiplay/generic/float[22]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 811 || rotors/main/blade[1]/position-deg                      || float
|10223||sim/multiplay/generic/float[23]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 812 || rotors/main/blade[2]/position-deg                      || float
|10224||sim/multiplay/generic/float[24]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 813 || rotors/main/blade[3]/position-deg                      || float
|10225||sim/multiplay/generic/float[25]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 820 || rotors/main/blade[0]/flap-deg                          || float
|10226||sim/multiplay/generic/float[26]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 821 || rotors/main/blade[1]/flap-deg                          || float
|10227||sim/multiplay/generic/float[27]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 822 || rotors/main/blade[2]/flap-deg                          || float
|10228||sim/multiplay/generic/float[28]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 823 || rotors/main/blade[3]/flap-deg                          || float
|10229||sim/multiplay/generic/float[29]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 830 || rotors/tail/blade[0]/position-deg                      || float
|10230||sim/multiplay/generic/float[30]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 831 || rotors/tail/blade[1]/position-deg                      || float
|10231||sim/multiplay/generic/float[31]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 900 || sim/hitches/aerotow/tow/length                        || float
|10232||sim/multiplay/generic/float[32]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 901 || sim/hitches/aerotow/tow/elastic-constant              || float
|10233||sim/multiplay/generic/float[33]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 902 || sim/hitches/aerotow/tow/weight-per-m-kg-m              || float
|10234||sim/multiplay/generic/float[34]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 903 || sim/hitches/aerotow/tow/dist                          || float
|10235||sim/multiplay/generic/float[35]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 904 || sim/hitches/aerotow/tow/connected-to-property-node    || bool
|10236||sim/multiplay/generic/float[36]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 905 || sim/hitches/aerotow/tow/connected-to-ai-or-mp-callsign || string
|10237||sim/multiplay/generic/float[37]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 906 || sim/hitches/aerotow/tow/brake-force                    || float
|10238||sim/multiplay/generic/float[38]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 907 || sim/hitches/aerotow/tow/end-force-x                    || float
|10239||sim/multiplay/generic/float[39]||FLOAT||same||V1_1_PROP_ID||
|-
|-
| 908 || sim/hitches/aerotow/tow/end-force-y                    || float
|10300||sim/multiplay/generic/int[0]||INT||same||V1_1_PROP_ID||
|-
|-
| 909 || sim/hitches/aerotow/tow/end-force-z                    || float
|10301||sim/multiplay/generic/int[1]||INT||same||V1_1_PROP_ID||
|-
|-
| 930 || sim/hitches/aerotow/is-slave                          || bool
|10302||sim/multiplay/generic/int[2]||INT||same||V1_1_PROP_ID||
|-
|-
| 931 || sim/hitches/aerotow/speed-in-tow-direction            || float
|10303||sim/multiplay/generic/int[3]||INT||same||V1_1_PROP_ID||
|-
|-
| 932 || sim/hitches/aerotow/open                              || bool
|10304||sim/multiplay/generic/int[4]||INT||same||V1_1_PROP_ID||
|-
|-
| 933 || sim/hitches/aerotow/local-pos-x                        || float
|10305||sim/multiplay/generic/int[5]||INT||same||V1_1_PROP_ID||
|-
|-
| 934 || sim/hitches/aerotow/local-pos-y                        || float
|10306||sim/multiplay/generic/int[6]||INT||same||V1_1_PROP_ID||
|-
|-
| 935 || sim/hitches/aerotow/local-pos-z                        || float
|10307||sim/multiplay/generic/int[7]||INT||same||V1_1_PROP_ID||
|-
|-
| 1001 || controls/flight/slats                                || float
|10308||sim/multiplay/generic/int[8]||INT||same||V1_1_PROP_ID||
|-
|-
| 1002 || controls/flight/speedbrake                            || float
|10309||sim/multiplay/generic/int[9]||INT||same||V1_1_PROP_ID||
|-
|-
| 1003 || controls/flight/spoilers                              || float
|10310||sim/multiplay/generic/int[10]||INT||same||V1_1_PROP_ID||
|-
|-
| 1004 || controls/gear/gear-down                              || float
|10311||sim/multiplay/generic/int[11]||INT||same||V1_1_PROP_ID||
|-
|-
| 1005 || controls/lighting/nav-lights                          || float
|10312||sim/multiplay/generic/int[12]||INT||same||V1_1_PROP_ID||
|-
|-
| 1006 || controls/armament/station[0]/jettison-all            || bool
|10313||sim/multiplay/generic/int[13]||INT||same||V1_1_PROP_ID||
|-
|-
| 1100 || sim/model/variant                                    || int
|10314||sim/multiplay/generic/int[14]||INT||same||V1_1_PROP_ID||
|-
|-
| 1101 || sim/model/livery/file                                || string
|10315||sim/multiplay/generic/int[15]||INT||same||V1_1_PROP_ID||
|-
|-
| 1200 || environment/wildfire/data                            || string
|10316||sim/multiplay/generic/int[16]||INT||same||V1_1_PROP_ID||
|-
|-
| 1201 || environment/contrail                                  || int
|10317||sim/multiplay/generic/int[17]||INT||same||V1_1_PROP_ID||
|-
|-
| 1300 || tanker                                                || int
|10318||sim/multiplay/generic/int[18]||INT||same||V1_1_PROP_ID||
|-
|-
| 1400 || scenery/events                                        || string
|10319||sim/multiplay/generic/int[19]||INT||same||V1_1_PROP_ID||
|-
|-
| 1500 || instrumentation/transponder/transmitted-id            || int
|10500||sim/multiplay/generic/short[0]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 1501 || instrumentation/transponder/altitude                  || int
|10501||sim/multiplay/generic/short[1]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 1502 || instrumentation/transponder/ident                    || bool
|10502||sim/multiplay/generic/short[2]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 1503 || instrumentation/transponder/inputs/mode              || int
|10503||sim/multiplay/generic/short[3]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10001 || sim/multiplay/transmission-freq-hz                  || string
|10504||sim/multiplay/generic/short[4]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10002 || sim/multiplay/chat                                  || string
|10505||sim/multiplay/generic/short[5]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10100 || sim/multiplay/generic/string[0]                     || string
|10506||sim/multiplay/generic/short[6]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10101 || sim/multiplay/generic/string[1]                     || string
|10507||sim/multiplay/generic/short[7]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10102 || sim/multiplay/generic/string[2]                     || string
|10508||sim/multiplay/generic/short[8]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10103 || sim/multiplay/generic/string[3]                     || string
|10509||sim/multiplay/generic/short[9]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10104 || sim/multiplay/generic/string[4]                     || string
|10510||sim/multiplay/generic/short[10]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10105 || sim/multiplay/generic/string[5]                     || string
|10511||sim/multiplay/generic/short[11]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10106 || sim/multiplay/generic/string[6]                     || string
|10512||sim/multiplay/generic/short[12]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10107 || sim/multiplay/generic/string[7]                     || string
|10513||sim/multiplay/generic/short[13]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10108 || sim/multiplay/generic/string[8]                     || string
|10514||sim/multiplay/generic/short[14]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10109 || sim/multiplay/generic/string[9]                     || string
|10515||sim/multiplay/generic/short[15]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10110 || sim/multiplay/generic/string[10]                     || string
|10516||sim/multiplay/generic/short[16]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10111 || sim/multiplay/generic/string[11]                     || string
|10517||sim/multiplay/generic/short[17]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10112 || sim/multiplay/generic/string[12]                     || string
|10518||sim/multiplay/generic/short[18]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10113 || sim/multiplay/generic/string[13]                     || string
|10519||sim/multiplay/generic/short[19]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10114 || sim/multiplay/generic/string[14]                     || string
|10520||sim/multiplay/generic/short[20]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10115 || sim/multiplay/generic/string[15]                     || string
|10521||sim/multiplay/generic/short[21]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10116 || sim/multiplay/generic/string[16]                     || string
|10522||sim/multiplay/generic/short[22]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10117 || sim/multiplay/generic/string[17]                     || string
|10523||sim/multiplay/generic/short[23]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10118 || sim/multiplay/generic/string[18]                     || string
|10524||sim/multiplay/generic/short[24]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10119 || sim/multiplay/generic/string[19]                     || string
|10525||sim/multiplay/generic/short[25]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10200 || sim/multiplay/generic/float[0]                       || float
|10526||sim/multiplay/generic/short[26]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10201 || sim/multiplay/generic/float[1]                       || float
|10527||sim/multiplay/generic/short[27]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10202 || sim/multiplay/generic/float[2]                       || float
|10528||sim/multiplay/generic/short[28]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10203 || sim/multiplay/generic/float[3]                       || float
|10529||sim/multiplay/generic/short[29]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10204 || sim/multiplay/generic/float[4]                       || float
|10530||sim/multiplay/generic/short[30]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10205 || sim/multiplay/generic/float[5]                       || float
|10531||sim/multiplay/generic/short[31]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10206 || sim/multiplay/generic/float[6]                       || float
|10532||sim/multiplay/generic/short[32]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10207 || sim/multiplay/generic/float[7]                       || float
|10533||sim/multiplay/generic/short[33]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10208 || sim/multiplay/generic/float[8]                       || float
|10534||sim/multiplay/generic/short[34]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10209 || sim/multiplay/generic/float[9]                       || float
|10535||sim/multiplay/generic/short[35]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10210 || sim/multiplay/generic/float[10]                     || float
|10536||sim/multiplay/generic/short[36]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10211 || sim/multiplay/generic/float[11]                     || float
|10537||sim/multiplay/generic/short[37]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10212 || sim/multiplay/generic/float[12]                     || float
|10538||sim/multiplay/generic/short[38]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10213 || sim/multiplay/generic/float[13]                     || float
|10539||sim/multiplay/generic/short[39]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10214 || sim/multiplay/generic/float[14]                     || float
|10540||sim/multiplay/generic/short[40]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10215 || sim/multiplay/generic/float[15]                     || float
|10541||sim/multiplay/generic/short[41]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10216 || sim/multiplay/generic/float[16]                     || float
|10542||sim/multiplay/generic/short[42]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10217 || sim/multiplay/generic/float[17]                     || float
|10543||sim/multiplay/generic/short[43]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10218 || sim/multiplay/generic/float[18]                     || float
|10544||sim/multiplay/generic/short[44]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10219 || sim/multiplay/generic/float[19]                     || float
|10545||sim/multiplay/generic/short[45]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10300 || sim/multiplay/generic/int[0]                         || int
|10546||sim/multiplay/generic/short[46]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10301 || sim/multiplay/generic/int[1]                         || int
|10547||sim/multiplay/generic/short[47]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10302 || sim/multiplay/generic/int[2]                         || int
|10548||sim/multiplay/generic/short[48]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10303 || sim/multiplay/generic/int[3]                         || int
|10549||sim/multiplay/generic/short[49]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10304 || sim/multiplay/generic/int[4]                         || int
|10550||sim/multiplay/generic/short[50]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10305 || sim/multiplay/generic/int[5]                         || int
|10551||sim/multiplay/generic/short[51]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10306 || sim/multiplay/generic/int[6]                         || int
|10552||sim/multiplay/generic/short[52]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10307 || sim/multiplay/generic/int[7]                         || int
|10553||sim/multiplay/generic/short[53]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10308 || sim/multiplay/generic/int[8]                         || int
|10554||sim/multiplay/generic/short[54]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10309 || sim/multiplay/generic/int[9]                         || int
|10555||sim/multiplay/generic/short[55]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10310 || sim/multiplay/generic/int[10]                       || int
|10556||sim/multiplay/generic/short[56]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10311 || sim/multiplay/generic/int[11]                       || int
|10557||sim/multiplay/generic/short[57]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10312 || sim/multiplay/generic/int[12]                       || int
|10558||sim/multiplay/generic/short[58]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10313 || sim/multiplay/generic/int[13]                       || int
|10559||sim/multiplay/generic/short[59]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10314 || sim/multiplay/generic/int[14]                       || int
|10560||sim/multiplay/generic/short[60]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10315 || sim/multiplay/generic/int[15]                       || int
|10561||sim/multiplay/generic/short[61]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10316 || sim/multiplay/generic/int[16]                       || int
|10562||sim/multiplay/generic/short[62]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10317 || sim/multiplay/generic/int[17]                       || int
|10563||sim/multiplay/generic/short[63]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10318 || sim/multiplay/generic/int[18]                       || int
|10564||sim/multiplay/generic/short[64]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10565||sim/multiplay/generic/short[65]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10566||sim/multiplay/generic/short[66]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10567||sim/multiplay/generic/short[67]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10568||sim/multiplay/generic/short[68]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10569||sim/multiplay/generic/short[69]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10570||sim/multiplay/generic/short[70]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10571||sim/multiplay/generic/short[71]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10572||sim/multiplay/generic/short[72]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10573||sim/multiplay/generic/short[73]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10574||sim/multiplay/generic/short[74]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10575||sim/multiplay/generic/short[75]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10576||sim/multiplay/generic/short[76]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10577||sim/multiplay/generic/short[77]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10578||sim/multiplay/generic/short[78]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|10579||sim/multiplay/generic/short[79]||INT||SHORTINT||V1_1_2_PROP_ID||
|-
|-
| 10319 || sim/multiplay/generic/int[19]                        || int
|}
|}
{{Note|This table is is current for FlightGear 2017.2; but may have been changed. Refer to see {{flightgear file|src/MultiPlayer/multiplaymgr.cxx|l=129}}.}}


== Related content ==
== Related content ==
308

edits

Navigation menu