Skip to content

Model Matching MSFS2024

joeherwig edited this page Jul 28, 2026 · 2 revisions

Model Matching - MSFS2024

See Model Matching for the general algorithm, the attributes used, and the Explain Match dialog. This page covers what's specific to the MSFS2024 build.

What you report to your friends

MSFS2024's SimConnect API only gives JoinFS a plain title and livery/variation name when it enumerates your installed aircraft up front - no ICAO type designator, class code, wake turbulence category, or ICAO airline at that point. Everything more precise has to be found some other way, and the reliability of what actually gets sent to your friends depends on how it was found:

  1. Best (confirmed from the real configuration file). The moment an aircraft is actually instantiated in the sim - either your own aircraft, or any other model your own JoinFS happens to be locally rendering as a stand-in for someone else - JoinFS reads the SimConnect LIVERY FOLDER value and parses that model's real aircraft.cfg/livery.cfg for icao_type_designator, icao_WTC, icao_airline, and atc_id. This is the same real, author-provided data non-MSFS2024 builds get from scanning your whole aircraft folder up front - it's just fetched lazily, per model, the first time that model is actually flown or rendered.
    • LIVERY FOLDER is blank for many classic add-ons. SimConnect only populates it for packages that ship a separate livery.cfg; a large share of freeware/community aircraft instead put everything directly in one aircraft.cfg with no livery.cfg at all, and get nothing from this SimConnect variable. For those, JoinFS falls back to a lazily-built index (title text → installed folder) built once from every aircraft.cfg/sim.cfg across your installed packages, so the same real configuration data is still found - just via the model's title instead of LIVERY FOLDER.
    • Some liveries are thin "variation" packages that reference a separate base aircraft package via base_container for the parts they don't override. JoinFS follows that reference too - first as a plain relative folder path, then (if the base package is installed as a completely separate top-level package rather than a subfolder of the same one) via the same installed-package index, so the base package's data is found either way. This index also walks into your sim's grouping folders (Community, Official2024, etc.) to find the actual package folders nested inside them, whatever they're named.
    • This step depends entirely on the aircraft's author having filled in icao_type_designator/icao_WTC/icao_airline correctly. If they left them blank, or put the wrong value in, JoinFS reports exactly that wrong/blank value - there's no way to detect or correct it from JoinFS's side.
  2. Good, but incomplete (live simulator data). If no configuration file can be found or parsed for a model, JoinFS derives a class code and wake turbulence category from the sim's own live CATEGORY/ENGINE TYPE/NUMBER OF ENGINES values instead - reliable for those two fields specifically (it doesn't depend on any text field being filled in correctly), but it can't give an ICAO type designator, ICAO airline, or registration this way.
  3. Weakest (guessed from the title). Until a model has actually been instantiated at least once (by you or by whoever's using it), JoinFS only has its title text to go on, and falls back to matching that text against a bundled reference list of real aircraft type designators and manufacturer model names. This is inherently unreliable - see "What matching can and can't know" on the main page - and is flagged in Explain Match with a "this was guessed, not confirmed" warning whenever it's the source.

Registration: whatever SimConnect's ATC ID reports for your aircraft at the moment it's created - either the livery's own baked-in tail number, or whatever you've customized in MSFS's own aircraft/flight setup - unless you later import a flight plan via SimBrief, in which case SimBrief's reported registration overwrites it (whichever happened more recently wins; there's no fixed priority between the two, so importing SimBrief after spawning will replace your sim-configured tail number, and vice versa if you spawn after already importing).

Practical takeaway: the very first time you fly a particular aircraft/livery combination (by you, or as a stand-in for a friend using JoinFS), tier 1 above kicks in and everyone gets the accurate, confirmed data for it from then on. Before that first flight, you're relying on tiers 2/3, and how good those are depends on how well the title happens to resemble a real aircraft name.

How JoinFS resolves your friends' reports to what you see

For every remote aircraft, JoinFS takes whatever was reported for it (title, livery, ICAO type, class code, WTC, ICAO airline, registration, typerole - see above for how reliable each of those is on the sending end) and runs it through the unified scorer described on the main Model Matching page against your own installed models. Because MSFS2024 also reports a real livery/variation name (unlike the other builds), livery-name word overlap is available as a matching signal here that isn't on the others - still one of the weakest signals, but it can help distinguish between several installed liveries of the same aircraft type when nothing stronger disambiguates them.

Models that are scenery props, static display liveries, or otherwise non-flyable (a fairly common occurrence with some add-on packages that bundle mission-style scenery objects alongside the real aircraft) are filtered out of your own installed-model list before any of this happens, via the ban list described on the main page - they can never accidentally become what a friend's aircraft gets substituted to.

Clone this wiki locally