plane icon Welcome to Microsoft Flight Simulator’s SDK Q&A Platform!

You have questions regarding the SDK? DevMode Tools? SimConnect? You would like to submit an idea for future improvements, seek help or exchange knowledge? You’re in the right place.


Please take a moment to read the platform’s guidelines before you get started!


question

B21 avatar image
B21 asked B21 commented

SDK docs update Sept 2022 has removed all reference to multiplayer support

Updating the SDK docs is good, but as of today there seems to be no reference at all regarding which variables are communicated across multiplayer. Without those I just can't see how anyone could create a plane that 'works' in multiplayer in any meaningful way. I'm pretty sure the stock Asobo planes will still manage to synchronise their gear up/down etc but to do this they need secret knowledge of the sim and it's not fair to us 3rd-party developers.

aircraft
4 comments
10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

runshotgun avatar image runshotgun commented ·
Most of them were incorrect and came from the Legacy SDK.

Only the basic things are working like aircraft position, flight controls and lights.

The list of variables shouldn't be that hard to get from Asobo's side though...

0 Likes 0 ·
B21 avatar image B21 runshotgun commented ·

thanks but of course a vague description of what general concepts might work is exactly the problem, not the answer. Playing "guess the variable" really sucks, I've spent days on it.

How would anyone know which variable would move the gear in multiplayer? I know the answer, but it's not the one listed as All aircraft in the previous docs.


0 Likes 0 ·
N6722C avatar image N6722C B21 commented ·

REF: "How would anyone know which variable would move the gear in multiplayer? I know the answer "

By wasting a lot of frustrating time, energy & resources, trying out different variables, and see what does work, and what does not -- NOT documented in the SDK (as it was in FSX & P3D)

In the meanwhile, we get

* planes doing what should be visible in MP, and other players do not see that action

and

* Planes doing actions, and every other similar plane magically doing the same
.. ie Opening their canopy.

Eventually, each developer figures out their own way to handle this, and achieve the desired results, but often by very obscure methods, which one figures out after many days

Multiply that wasted time, by all developers, and you get the extreme waste of time, and consequence of inadequate documentation.


1 Like 1 ·
B21 avatar image B21 runshotgun commented ·
in an unexpected twist, it seems the external light vars e.g. (A:LIGHT NAV, BOOL) are not available to the model XML in multiplayer. Bit of a mystery, as the light EFFECTS are successfully synced across multiplayer on Asobo aircraft e.g. in the A320, but those effects are not controlled by the model XML.
0 Likes 0 ·
Nocturne avatar image
Nocturne answered Nocturne commented

Hello! The multiplayer comments were removed to prepare the way for correct documentation of them. As it stood, the information on multiplayer was outdated and in many places incorrect, and as such it was deemed confusing and useless to most developers. The next SimUpdate aims to improve this situation and add the information back in, updated and corrected for the current state of the simulation. Sorry it couldn't have been done all in one pass due to time and workload constraints.

2 comments
10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

B21 avatar image B21 commented ·
thanks very much Nocturne - multiplayer is very much on-trend in MSFS now (e.g. the gliding community is growing rapidly) so updating the docs on what vars can be used in multiplayer animations is definitely timely. I'd suggest adding some clarity on 'effects' (of course driven by multiplayer vars) in multiplayer would also be helpful i.e. should custom effects be visible, or just stock ones, or just smoke and contrails, or none?
1 Like 1 ·
Nocturne avatar image Nocturne B21 commented ·

"I'd suggest adding some clarity on 'effects' (of course driven by multiplayer vars) in multiplayer would also be helpful i.e. should custom effects be visible, or just stock ones, or just smoke and contrails, or none? "

Okay! I will definitely do my best to ensure that this kind of information as added. Thank you for the feedback!

0 Likes 0 ·
B21 avatar image
B21 answered

As we're still stuck in the "exploring Asobo code and guessing variables" stage, here are the vars Asobo actually uses in

fs-base-aircraft-common/ModelBehaviourDefs/Asobo/Exterior.xml

Var names are sometimes obfuscated by nested string substitution such as

<ANIM_SIMVAR>#ANIM_SIMVAR_LEFT#</ANIM_SIMVAR>
(A:#ANIM_SIMVAR#, #ANIM_SIMVAR_UNITS#)

but there are clues in the noise. So this is *not* the answer, but to save someone some time, here are the lines in Exterior.xml that reference A: vars - if you're animating an exterior animation with something NOT on this list (e.g. GEAR HANDLE POSITION), it is probably worth changing to something that is, e.g. GEAR ANIMATION POSITION, particularly if you see gear up/down works in multiplayer on an Asobo Airbus or Boeing, but appearing on this list is no guarantee. These are just clues.

10:                     <ANIM_SIMVAR>PROP ROTATION ANGLE:#ID#</ANIM_SIMVAR>
1027:                   <ANIM_SIMVAR>RECIP ENG COWL FLAP POSITION:#ID#</ANIM_SIMVAR>
1073:                   <ANIM_SIMVAR>GEAR ANIMATION POSITION:#ID#</ANIM_SIMVAR>
1119:                   <ANIM_SIMVAR>RETRACT #SIDE# FLOAT EXTENDED</ANIM_SIMVAR>
1167:                   <ANIM_SIMVAR>LEFT WHEEL ROTATION ANGLE</ANIM_SIMVAR>
1177:                   <ANIM_SIMVAR>RIGHT WHEEL ROTATION ANGLE</ANIM_SIMVAR>
1187:                   <ANIM_SIMVAR>CENTER WHEEL ROTATION ANGLE</ANIM_SIMVAR>
1197:                   <ANIM_SIMVAR>CENTER WHEEL ROTATION ANGLE</ANIM_SIMVAR>
1237:                                   <ANIM_SIMVAR>WHEEL ROTATION ANGLE:#ID#</ANIM_SIMVAR>
1317:                                   <ANIM_SIMVAR>#ANIM_SIMVAR_TRIM#</ANIM_SIMVAR>
1360:                   <ANIM_SIMVAR>#ANIM_SIMVAR_LEFT#</ANIM_SIMVAR>
1367:                   <ANIM_SIMVAR>#ANIM_SIMVAR_RIGHT#</ANIM_SIMVAR>
1415:                                   <ANIM_SIMVAR>ELEVATOR DEFLECTION PCT</ANIM_SIMVAR>
1429:                   <ANIM_SIMVAR>RUDDER DEFLECTION PCT</ANIM_SIMVAR>
1701:                   <ANIM_SIMVAR>WATER #SIDE# RUDDER STEER ANGLE PCT</ANIM_SIMVAR>
1716:                                   <ANIM_SIMVAR>WATER #SIDE# RUDDER EXTENDED</ANIM_SIMVAR>
1920:                   <ANIM_SIMVAR>INTERACTIVE POINT OPEN:#ID#</ANIM_SIMVAR>
1945:                   <ANIM_SIMVAR>FOLDING WING LEFT PERCENT</ANIM_SIMVAR>
232:                    <ANIM_SIMVAR>TURB ENG REVERSE NOZZLE PERCENT:#ID#</ANIM_SIMVAR>
246:                    <ANIM_SIMVAR>GEAR ANIMATION POSITION:#ID#</ANIM_SIMVAR>
256:                    <ANIM_SIMVAR>#ANIM_SIDE# WHEEL ROTATION ANGLE</ANIM_SIMVAR>
437:                            <ANIM_SIMVAR>SPOILERS LEFT POSITION</ANIM_SIMVAR>
444:                                            <ANIM_SIMVAR>SPOILERS RIGHT POSITION</ANIM_SIMVAR>
518:                                    <ANIM_SIMVAR>RUDDER DEFLECTION PCT</ANIM_SIMVAR>
558:                    <ANIM_SIMVAR>TRAILING EDGE FLAPS LEFT PERCENT</ANIM_SIMVAR>
564:                    <ANIM_SIMVAR>TRAILING EDGE FLAPS RIGHT PERCENT</ANIM_SIMVAR>
581:                    <ANIM_SIMVAR>LEADING EDGE FLAPS LEFT PERCENT</ANIM_SIMVAR>
587:                    <ANIM_SIMVAR>LEADING EDGE FLAPS RIGHT PERCENT</ANIM_SIMVAR>
724:                    <ANIM_SIMVAR>RECIP ENG COWL FLAP POSITION:#ID#</ANIM_SIMVAR>
852:                    <ANIM_SIMVAR>PROP ROTATION ANGLE:#ID#</ANIM_SIMVAR>
34:                     <VISIBILITY_CODE>(A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &lt;</VISIBILITY_CODE>
41:                                     (A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &gt;
42:                                     (A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &lt; and
49:                     <VISIBILITY_CODE>(A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &gt;</VISIBILITY_CODE>
157:                    <ANIM_CODE>(A:GENERAL ENG RPM:#ID#, degrees per second) (A:ANIMATION DELTA TIME, seconds) *</ANIM_CODE>
166:                    <VISIBILITY_CODE> (A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &lt; </VISIBILITY_CODE>
173:                            (A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &gt;
174:                            (A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &lt; and
181:                    <VISIBILITY_CODE>(A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &gt;</VISIBILITY_CODE>
351:                    <ANIM_CODE>(A:GEAR STEER ANGLE:#ID#, degrees) dnor </ANIM_CODE>
369:                                    <ANIM_CODE>(A:AILERON LEFT DEFLECTION PCT, Percent) 1.25 * (A:AILERON TRIM PCT, Percent) + 100 min -100 max 0.5 * 50 +</ANIM_CODE>
373:                                    <ANIM_CODE>(A:AILERON RIGHT DEFLECTION PCT, Percent) 1.25 * (A:AILERON TRIM PCT, Percent) + 100 min -100 max 0.5 * 50 +</ANIM_CODE>
497:                    <ANIM_CODE>(A:ELEVATOR DEFLECTION PCT, percent) -0.25 * (A:ELEVATOR TRIM PCT, percent) 0.75 * + 0.5 * 50 +</ANIM_CODE>
513:                                    <ANIM_CODE>(A:RUDDER TRIM PCT, Percent) 0.25 * (A:RUDDER DEFLECTION PCT, Percent) 1.25 * + 100 min -100 max 0.5 * 50 +</ANIM_CODE>
883:                    <VISIBILITY_CODE>(A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &lt;</VISIBILITY_CODE>
889:                                    (A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &gt;
890:                                    (A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &lt; and
896:                    <VISIBILITY_CODE>(A:PROP RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &gt;</VISIBILITY_CODE>
968:                    <ANIM_CODE>(A:GENERAL ENG REVERSE THRUST ENGAGED:#ID#, bool) (A:GENERAL ENG THROTTLE LEVER POSITION:#ID#, Percent) 0 &lt; or 100 *</ANIM_CODE>
976:                    <ANIM_CODE>(A:GENERAL ENG RPM:#ID#, degrees per second) (A:ANIMATION DELTA TIME, seconds) *</ANIM_CODE>
984:                    <VISIBILITY_CODE>(A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &lt;</VISIBILITY_CODE>
990:                            (A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_SLOW# &gt;
991:                            (A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &lt; and
997:                    <VISIBILITY_CODE>(A:GENERAL ENG RPM:#ID#, rpm) #MIN_RPM_FOR_BLUR# &gt;</VISIBILITY_CODE>
1085:                                   <ANIM_CODE>(A:CONTACT POINT COMPRESSION:#ID#, Percent)</ANIM_CODE>
1090:                                   <ANIM_CODE>(A:CONTACT POINT POSITION:#ID#, Percent) (A:CONTACT POINT COMPRESSION:#ID#, Percent) + 0.5 *</ANIM_CODE>
1095:                                   <ANIM_CODE>(A:CONTACT POINT POSITION:#ID#, Percent)</ANIM_CODE>
1107:                   <ANIM_CODE>(A:GEAR STEER ANGLE:#ID#, degrees) dnor</ANIM_CODE>
1130:                   <ANIM_CODE>(A:WATER #SIDE# RUDDER EXTENDED, percent)</ANIM_CODE>
1144:                   <SELECTION>(A:CONTACT POINT COMPRESSION:#SKI_ID#, percent)</SELECTION>
1401:                                           (A:ELEVATOR DEFLECTION PCT, Percent) #ANIM_SIMVAR_SCALE# * #ANIM_SIMVAR_BIAS# +
1402:                                           (A:AILERON LEFT DEFLECTION PCT, Percent) #LEFT_ELEVATOR_MULTIPLIER# #AILERON_DEFLECTION_SCALE# * + 0 max #ANIM_LENGTH# min
1408:                                           (A:ELEVATOR DEFLECTION PCT, Percent) #ANIM_SIMVAR_SCALE# * #ANIM_SIMVAR_BIAS# +
1409:                                           (A:AILERON RIGHT DEFLECTION PCT, Percent) #RIGHT_ELEVATOR_MULTIPLIER# #AILERON_DEFLECTION_SCALE# * + 0 max #ANIM_LENGTH# min
1493:                                           (A:SIM ON GROUND, Bool) if{
1494:                                                   (A:SPOILERS LEFT POSITION, Percent)
1496:                                                   (A:SPOILERONS LEFT POSITION, Percent)
1500:                                           (A:SIM ON GROUND, Bool) if{
1501:                                                   (A:SPOILERS RIGHT POSITION, Percent)
1503:                                                   (A:SPOILERONS RIGHT POSITION, Percent)
1512:                                           (A:SIM ON GROUND, Bool) if{
1513:                                                   (A:SPOILERS LEFT POSITION, Percent)
1515:                                                   (A:SPOILERS WITHOUT SPOILERONS LEFT POSITION, Percent)
1519:                                           (A:SIM ON GROUND, Bool) if{
1520:                                                   (A:SPOILERS RIGHT POSITION, Percent)
1522:                                                   (A:SPOILERS WITHOUT SPOILERONS RIGHT POSITION, Percent)
1538:                           <ANIM_CODE>(A:SPOILERS LEFT POSITION, Percent) #DEPLOYMENT_CONDITION_LEFT#</ANIM_CODE>
1545:                                           <ANIM_CODE>(A:SPOILERS RIGHT POSITION, Percent) #DEPLOYMENT_CONDITION_RIGHT#</ANIM_CODE>
1554:                                           <ANIM_CODE>(A:SPOILERS LEFT POSITION, Percent)</ANIM_CODE>
1561:                                                           <ANIM_CODE>(A:SPOILERS RIGHT POSITION, Percent)</ANIM_CODE>
1635:                           (A:GROUND VELOCITY, Knots) s0 #MIN_SPEED_DISABLE_HYDRAULICS# &gt;
1636:                           (A:GENERAL ENG THROTTLE LEVER POSITION:#ENG_ID#, Percent) 30 &gt; and
1637:                           (A:GENERAL ENG PCT MAX RPM:#ENG_ID#, Percent) 20 &gt; and
1643:                           0.5 (A:AILERON LEFT DEFLECTION PCT, Percent over 100) 0.5 * +
1644:                           (A:TRAILING EDGE FLAPS LEFT PERCENT, Percent over 100) 0.4 * +
1647:                           0.5 (A:AILERON RIGHT DEFLECTION PCT, Percent over 100) -0.5 * +
1648:                           (A:TRAILING EDGE FLAPS RIGHT PERCENT, Percent over 100) 0.4 * +
1704:                                   <FAILURE>(A:WATER #SIDE# RUDDER EXTENDED, Percent) 99.9 &gt;</FAILURE>
1745:                                                   (A:CIRCUIT ON:#CIRCUIT_ID_PARK#, Bool) if{
1747:                                                           -1 (O:_AnimSpeed) * (A:ANIMATION DELTA TIME, seconds) * (O:AnimCode) + (&gt;O:NewAnimCode)
1758:                                                   (A:CIRCUIT POWER SETTING:#CIRCUIT_ID_WIPERS#, percent over 100) 1 #MIN_SPEED_PERCENT# - * #MIN_SPEED_PERCENT# + #MAX_SPEED# * (&gt;O:_AnimSpeed)
1760:                                                   (O:_AnimDirection) (O:_AnimSpeed) * (A:ANIMATION DELTA TIME, seconds) * (O:AnimCode) + (&gt;O:NewAnimCode)
1784:                           (A:CIRCUIT POWER SETTING:#CIRCUIT_ID_WIPERS#, percent over 100) #ONE_MINUS_MIN_SPEED# * #MIN_SPEED_PERCENT# + #MAX_SPEED# * (&gt;O:_AnimSpeed)
1786:                           (O:_AnimDirection) (O:_AnimSpeed) * (A:ANIMATION DELTA TIME, seconds) * (O:AnimCode) + (&gt;O:NewAnimCode)
1801:                   <FAILURE>(A:CIRCUIT ON:#CIRCUIT_ID_WIPERS#, Bool) (A:AIRSPEED INDICATED, Knots) #AIRSPEED_DISABLED# &lt; and</FAILURE>
1935:                           <VISIBILITY_CODE>(A:INTERACTIVE POINT OPEN:#ID#,percent) 0 &gt; if{ 1 } els{ 0 }</VISIBILITY_CODE>
1974:                   <ANIM_CODE>(A:TURB ENG PRIMARY NOZZLE PERCENT:#ID#, Percent)</ANIM_CODE>
1984:                   <ANIM_CODE>(A:LAUNCHBAR POSITION, Percent)</ANIM_CODE>
2004:                           <MAX_MACH_FOR_EMISSIVE Process="Float">(A:MACH MAX OPERATE, mach)</MAX_MACH_FOR_EMISSIVE><!--Mach at which emissive maxes out-->
2029:                                                                           (A:AIRSPEED MACH, Mach) #MIN_MACH_FOR_EMISSIVE# -



10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

luco813 avatar image
luco813 answered B21 commented

VI ricordo che dopo l'aggiornamento di Settembre 2022 NON SONO SELEZIONABILI e TANTO MENO VISIBILI ALL'INTERNO DEL SIMULATORE LE PROCEDURE ILS, GPS, ECCC.. personalizzate negli scenari personali

1 comment
10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

B21 avatar image B21 commented ·

fyi in English that is:

I remind you that after the update of September 2022 THE ILS, GPS, ETC. PROCEDURES, personalized in the personal scenarios, ARE NOT SELECTABLE AND LESS VISIBLE WITHIN THE SIMULATOR

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 19.1 MiB each and 23.8 MiB total.