{"id":619,"date":"2025-12-24T11:59:34","date_gmt":"2025-12-24T10:59:34","guid":{"rendered":"https:\/\/demo.joinfs.net\/en\/?page_id=619"},"modified":"2026-03-29T21:18:36","modified_gmt":"2026-03-29T19:18:36","slug":"download","status":"publish","type":"page","link":"https:\/\/www.joinfs.net\/en\/download\/","title":{"rendered":"Download"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"619\" class=\"elementor elementor-619\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ad90d4c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ad90d4c\" data-element_type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;88c485b&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;50&quot;,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_bg_x&quot;:&quot;50&quot;,&quot;jet_parallax_layout_bg_y&quot;:&quot;50&quot;,&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}],&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-433c452\" data-id=\"433c452\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f85105f elementor-widget elementor-widget-shortcode\" data-id=\"f85105f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-efd1a80 elementor-align-center elementor-widget elementor-widget-raven-heading\" data-id=\"efd1a80\" data-element_type=\"widget\" data-widget_type=\"raven-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\"><h1 class=\"raven-heading raven-heading-h1\"><span class=\"raven-heading-title \">Download JoinFS: Cross-Sim Multiplayer & Shared Cockpit<\/span><\/h1><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ebbc908 elementor-align-center elementor-widget elementor-widget-raven-heading\" data-id=\"ebbc908\" data-element_type=\"widget\" data-widget_type=\"raven-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\"><h2 class=\"raven-heading raven-heading-h2\"><span class=\"raven-heading-title \">Choose the correct version of JoinFS for your simulator. All downloads are for Windows only<\/span><\/h2><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11a8525 elementor-widget elementor-widget-text-editor\" data-id=\"11a8525\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>JoinFS is built with passion (and a lot of time). If you\u2019d like to support the project, you can buy us a coffee with a PayPal donation.<br \/>Every contribution helps us improve and keep everything online. Thanks \ud83d\ude4c<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b781a65 elementor-align-center elementor-widget elementor-widget-raven-paypal-button\" data-id=\"b781a65\" data-element_type=\"widget\" data-settings=\"{&quot;merchant_account&quot;:&quot;simple&quot;}\" data-widget_type=\"raven-paypal-button.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<form action=\"https:\/\/www.paypal.com\/cgi-bin\/webscr\" method=\"post\" target=\"_blank\">\n\t\t\t<input type=\"hidden\" name=\"cmd\" value=\"_donations\" \/>\n\t\t\t<input type=\"hidden\" name=\"business\" value=\"paypal@italianivolanti.it\" \/>\n\t\t\t<input type=\"hidden\" name=\"lc\" value=\"US\" \/>\n\t\t\t<input type=\"hidden\" name=\"item_name\" value=\"Support JoinFS Project\" \/>\n\t\t\t<input type=\"hidden\" name=\"item_number\" value=\"joinfs-donation\" \/>\n\t\t\t<input type=\"hidden\" name=\"currency_code\" value=\"USD\" \/>\n\t\t\t<input type=\"hidden\" name=\"amount\" value=\"\" \/>\n\t\t\t<input type=\"hidden\" name=\"no_note\" value=\"1\">\n\n\t\t\t\t\t<button class=\"elementor-button elementor-paypal-legacy elementor-payment-button\" role=\"button\" type=\"submit\">\n\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-paypal\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Buy us a coffee<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/button>\n\t\t\t\t<\/form>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1fc02b4 elementor-widget elementor-widget-html\" data-id=\"1fc02b4\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align:center;\">\r\n  <ins class=\"adsbygoogle\"\r\n       style=\"display:inline-block;width:728px;height:90px\"\r\n       data-ad-client=\"ca-pub-9266983355823055\"\r\n       data-ad-slot=\"6321492961\"><\/ins>\r\n<\/div>\r\n\r\n<script>\r\n  (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-785776a e-con-full e-flex e-con e-parent\" data-id=\"785776a\" data-element_type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;e983a6c&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;50&quot;,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_bg_x&quot;:&quot;50&quot;,&quot;jet_parallax_layout_bg_y&quot;:&quot;50&quot;,&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t<div class=\"elementor-element elementor-element-49e9830 e-con-full e-flex e-con e-child\" data-id=\"49e9830\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation_tablet&quot;:&quot;fadeInRight&quot;,&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c7892f elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"4c7892f\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img decoding=\"async\" width=\"320\" height=\"150\" src=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fs2024-logo.webp\" class=\"elementor-animation-bob attachment-full size-full wp-image-690\" alt=\"fs2024 logo\" title=\"\" srcset=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fs2024-logo.webp 320w, https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fs2024-logo-300x141.webp 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure><div class=\"elementor-image-box-content\"><h2 class=\"elementor-image-box-title\">JoinFS for FS2024<\/h2><p class=\"elementor-image-box-description\">Dedicated JoinFS version for Microsoft Flight Simulator 2024<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4e3861 elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-raven-button\" data-id=\"e4e3861\" data-element_type=\"widget\" data-settings=\"{&quot;turn_to_popup_action_button&quot;:&quot;no&quot;}\" data-widget_type=\"raven-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\n\t\t\t<a class=\"raven-button raven-button-widget-normal-effect-none elementor-button raven-button-text-align-center raven-button-link elementor-animation-none\" href=\"https:\/\/www.joinfs.net\/files\/JoinFS-FS2024.msi\" target=\"_blank\" rel=\"nofollow\">\t\t\t\t<div class=\"raven-button-overlay\" ><\/div>\n\t\t\t\t<span class=\"raven-button-content\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"button-text-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"raven-button-texts-wrapper\">\n\t\t\t\t\t\t\t<div class=\"button-text\">\n\t\t\t\t\t\t\t\t<span class=\"raven-button-text\">\n\t\t\t\t\t\t\t\t\tDownload\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<span class=\"raven-button-icon raven-button-icon-position-right\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-download\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t<\/a>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8032307 e-con-full e-flex e-con e-child\" data-id=\"8032307\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation_tablet&quot;:&quot;fadeInRight&quot;,&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dc527e2 elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"dc527e2\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img decoding=\"async\" width=\"320\" height=\"150\" src=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fs2020-logo.webp\" class=\"elementor-animation-bob attachment-full size-full wp-image-709\" alt=\"fs2020 logo\" title=\"\" srcset=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fs2020-logo.webp 320w, https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fs2020-logo-300x141.webp 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure><div class=\"elementor-image-box-content\"><h2 class=\"elementor-image-box-title\">JoinFS for FS2020<\/h2><p class=\"elementor-image-box-description\">Dedicated JoinFS version for Microsoft Flight Simulator 2020<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d1c1c6 elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-raven-button\" data-id=\"6d1c1c6\" data-element_type=\"widget\" data-settings=\"{&quot;turn_to_popup_action_button&quot;:&quot;no&quot;}\" data-widget_type=\"raven-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\n\t\t\t<a class=\"raven-button raven-button-widget-normal-effect-none elementor-button raven-button-text-align-center raven-button-link elementor-animation-none\" href=\"https:\/\/www.joinfs.net\/files\/JoinFS-FS2020.msi\" target=\"_blank\" rel=\"nofollow\">\t\t\t\t<div class=\"raven-button-overlay\" ><\/div>\n\t\t\t\t<span class=\"raven-button-content\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"button-text-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"raven-button-texts-wrapper\">\n\t\t\t\t\t\t\t<div class=\"button-text\">\n\t\t\t\t\t\t\t\t<span class=\"raven-button-text\">\n\t\t\t\t\t\t\t\t\tDownload\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<span class=\"raven-button-icon raven-button-icon-position-right\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-download\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t<\/a>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-26893cf e-con-full e-flex e-con e-child\" data-id=\"26893cf\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation_tablet&quot;:&quot;fadeInRight&quot;,&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1da01ef elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"1da01ef\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img decoding=\"async\" width=\"320\" height=\"150\" src=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fsx-logo.webp\" class=\"elementor-animation-bob attachment-full size-full wp-image-711\" alt=\"\" title=\"\" srcset=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fsx-logo.webp 320w, https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fsx-logo-300x141.webp 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure><div class=\"elementor-image-box-content\"><h2 class=\"elementor-image-box-title\">JoinFS for FSX<\/h2><p class=\"elementor-image-box-description\">JoinFS version for Microsoft Flight Simulator X<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a82d7b2 elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-raven-button\" data-id=\"a82d7b2\" data-element_type=\"widget\" data-settings=\"{&quot;turn_to_popup_action_button&quot;:&quot;no&quot;}\" data-widget_type=\"raven-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\n\t\t\t<a class=\"raven-button raven-button-widget-normal-effect-none elementor-button raven-button-text-align-center raven-button-link elementor-animation-none\" href=\"https:\/\/www.joinfs.net\/files\/JoinFS-FSX.msi\" target=\"_blank\" rel=\"nofollow\">\t\t\t\t<div class=\"raven-button-overlay\" ><\/div>\n\t\t\t\t<span class=\"raven-button-content\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"button-text-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"raven-button-texts-wrapper\">\n\t\t\t\t\t\t\t<div class=\"button-text\">\n\t\t\t\t\t\t\t\t<span class=\"raven-button-text\">\n\t\t\t\t\t\t\t\t\tDownload\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<span class=\"raven-button-icon raven-button-icon-position-right\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-download\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t<\/a>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-82585a8 e-con-full e-flex e-con e-parent\" data-id=\"82585a8\" data-element_type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;e983a6c&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;50&quot;,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_bg_x&quot;:&quot;50&quot;,&quot;jet_parallax_layout_bg_y&quot;:&quot;50&quot;,&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t<div class=\"elementor-element elementor-element-4cd2abb e-con-full e-flex e-con e-child\" data-id=\"4cd2abb\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation_tablet&quot;:&quot;fadeInRight&quot;,&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-156ad1b elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"156ad1b\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"150\" src=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/p3d-logo.webp\" class=\"elementor-animation-bob attachment-full size-full wp-image-722\" alt=\"p3d logo\" title=\"\" srcset=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/p3d-logo.webp 320w, https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/p3d-logo-300x141.webp 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure><div class=\"elementor-image-box-content\"><h2 class=\"elementor-image-box-title\">JoinFS for Prepar3D<\/h2><p class=\"elementor-image-box-description\">Dedicated JoinFS version for Prepar3D.<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86a70db elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-raven-button\" data-id=\"86a70db\" data-element_type=\"widget\" data-settings=\"{&quot;turn_to_popup_action_button&quot;:&quot;no&quot;}\" data-widget_type=\"raven-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\n\t\t\t<a class=\"raven-button raven-button-widget-normal-effect-none elementor-button raven-button-text-align-center raven-button-link elementor-animation-none\" href=\"https:\/\/www.joinfs.net\/files\/JoinFS-P3D.msi\" target=\"_blank\" rel=\"nofollow\">\t\t\t\t<div class=\"raven-button-overlay\" ><\/div>\n\t\t\t\t<span class=\"raven-button-content\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"button-text-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"raven-button-texts-wrapper\">\n\t\t\t\t\t\t\t<div class=\"button-text\">\n\t\t\t\t\t\t\t\t<span class=\"raven-button-text\">\n\t\t\t\t\t\t\t\t\tDownload\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<span class=\"raven-button-icon raven-button-icon-position-right\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-download\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t<\/a>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2353db6 e-con-full e-flex e-con e-child\" data-id=\"2353db6\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation_tablet&quot;:&quot;fadeInRight&quot;,&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-56d8e1e elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"56d8e1e\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"150\" src=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/xplane-logo.webp\" class=\"elementor-animation-bob attachment-full size-full wp-image-729\" alt=\"xplane logo\" title=\"\" srcset=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/xplane-logo.webp 320w, https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/xplane-logo-300x141.webp 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure><div class=\"elementor-image-box-content\"><h2 class=\"elementor-image-box-title\">JoinFS for X-Plane<\/h2><p class=\"elementor-image-box-description\">Dedicated JoinFS version for X-Plane<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1839e2d elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-raven-button\" data-id=\"1839e2d\" data-element_type=\"widget\" data-settings=\"{&quot;turn_to_popup_action_button&quot;:&quot;no&quot;}\" data-widget_type=\"raven-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\n\t\t\t<a class=\"raven-button raven-button-widget-normal-effect-none elementor-button raven-button-text-align-center raven-button-link elementor-animation-none\" href=\"https:\/\/www.joinfs.net\/files\/JoinFS-XPLANE.msi\" target=\"_blank\" rel=\"nofollow\">\t\t\t\t<div class=\"raven-button-overlay\" ><\/div>\n\t\t\t\t<span class=\"raven-button-content\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"button-text-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"raven-button-texts-wrapper\">\n\t\t\t\t\t\t\t<div class=\"button-text\">\n\t\t\t\t\t\t\t\t<span class=\"raven-button-text\">\n\t\t\t\t\t\t\t\t\tDownload\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<span class=\"raven-button-icon raven-button-icon-position-right\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-download\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t<\/a>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a19eb0c e-con-full e-flex e-con e-child\" data-id=\"a19eb0c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation_tablet&quot;:&quot;fadeInRight&quot;,&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-465cf89 elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"465cf89\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"150\" src=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fsx-steam-edition-logo.webp\" class=\"elementor-animation-bob attachment-full size-full wp-image-743\" alt=\"fsx steam edition logo\" title=\"\" srcset=\"https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fsx-steam-edition-logo.webp 320w, https:\/\/www.joinfs.net\/en\/wp-content\/uploads\/2025\/12\/fsx-steam-edition-logo-300x141.webp 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure><div class=\"elementor-image-box-content\"><h2 class=\"elementor-image-box-title\">JoinFS for FSX:SE<\/h2><p class=\"elementor-image-box-description\">JoinFS version for Flight Simulator X Steam Edition<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cac49e5 elementor-align-center elementor-mobile-align-center elementor-widget elementor-widget-raven-button\" data-id=\"cac49e5\" data-element_type=\"widget\" data-settings=\"{&quot;turn_to_popup_action_button&quot;:&quot;no&quot;}\" data-widget_type=\"raven-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\n\t\t\t<a class=\"raven-button raven-button-widget-normal-effect-none elementor-button raven-button-text-align-center raven-button-link elementor-animation-none\" href=\"https:\/\/www.joinfs.net\/files\/JoinFS-FSX.msi\" target=\"_blank\" rel=\"nofollow\">\t\t\t\t<div class=\"raven-button-overlay\" ><\/div>\n\t\t\t\t<span class=\"raven-button-content\">\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"button-text-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"raven-button-texts-wrapper\">\n\t\t\t\t\t\t\t<div class=\"button-text\">\n\t\t\t\t\t\t\t\t<span class=\"raven-button-text\">\n\t\t\t\t\t\t\t\t\tDownload\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<span class=\"raven-button-icon raven-button-icon-position-right\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-download\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t<\/a>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31cad4c elementor-align-center elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-raven-heading\" data-id=\"31cad4c\" data-element_type=\"widget\" data-widget_type=\"raven-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\"><div class=\"raven-heading raven-heading-div\"><span class=\"raven-heading-title \">JoinFS Changelog<\/span><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85067e2 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-shortcode\" data-id=\"85067e2\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div class=\"jflr-history\">\n                        <style>\n                .jflr-history{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:14px;background:#fff;}\n                .jflr-history__item{border-top:1px solid rgba(0,0,0,.08);padding:10px 0;}\n                .jflr-history__item:first-of-type{border-top:0;padding-top:0;}\n                .jflr-history__summary{cursor:pointer;font-weight:700;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;}\n                .jflr-history__summary::-webkit-details-marker{display:none;}\n                .jflr-history__meta{font-weight:400;opacity:.8;font-size:.92em;margin-top:6px;}\n                .jflr-history__chev{flex:0 0 auto;transition:transform .18s ease;opacity:.7;}\n                .jflr-history__item[open] .jflr-history__chev{transform:rotate(180deg);}\n                .jflr-history__section{margin-top:10px;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:rgba(0,0,0,.02);}\n                .jflr-history__section summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;}\n                .jflr-history__section summary::-webkit-details-marker{display:none;}\n                .jflr-history__section-content{margin-top:10px;}\n                .jflr-history__section-content pre{white-space:pre-wrap;word-break:break-word;margin:0;}\n                .jflr-history a{text-decoration: underline;}\n            <\/style>\n            \n                            <details class=\"jflr-history__item\" open>\n                    <summary class=\"jflr-history__summary\">\n                        <span>JoinFS v26.5 <span style=\"opacity:.75;font-weight:600;\">(v26.5)<\/span><\/span>\n                        <span class=\"jflr-history__chev\" aria-hidden=\"true\">\u25be<\/span>\n                    <\/summary>\n\n                    <div class=\"jflr-history__meta\">\n                                                    <span>25 August 2026<\/span>\n                                            <\/div>\n\n                                                                        <details class=\"jflr-history__section\" open>\n                                <summary><span>New Features<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li><strong>Command line parameter to lower the CPU usage of the CONSOLE variant<\/strong> The command line parameter -backgrounddelay with an integer parameter TIME will introduce a TIME milliseconds wait in the main busy loop. Lowering the CPU load comes at the expense of possible induced delay. Use higher values for large distances between planes (line airliners), use small values for close formation flights. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/degroat-c\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/degroat-c\" target=\"_blank\" rel=\"noopener\">@degroat-c<\/a> for the contribution)<\/li>\n<li><strong>Auto-detect simulator folder on first install.<\/strong> JoinFS now tries to resolve your simulator's aircraft\/content folder on its own - MSFS's <code class=\"notranslate\">UserCfg.opt<\/code> (FS2020\/FS2024, both Steam and MS Store\/Xbox), the FSX\/Prepar3D registry keys, or X-Plane's <code class=\"notranslate\">x-plane_install_*.txt<\/code> - instead of requiring a manual \"Scan For Models\" folder browse. For FSX\/Prepar3D\/X-Plane, the model scan now runs immediately once a folder is known (detected or picked); for FS2020\/FS2024 the folder is pre-configured but the scan itself still runs at the next sim connect, since their model data isn't available until then. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Expanded first-run setup dialog.<\/strong> The old \"enter your nickname\" prompt now also asks for your SimBrief username (fetching your flight plan immediately once saved) and, only if the simulator folder couldn't be auto-detected, a folder picker. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Double-click to join a hub.<\/strong> In the Public Hubs window, double-clicking a hub now joins it and closes the window directly, instead of select \u2192 right-click \u2192 Join \u2192 close manually. A new hint label next to \"Right-click for options\" calls this out. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Model Matching Redesign: unified scoring-based matcher.<\/strong> Replaces the old tiered ICAO\/Category\/Auto fall-through with a single weighted scorer (ICAO type, Doc8643 class code, wake turbulence category, engine count\/type, registration, ICAO airline, typerole, livery, title-prefix). A candidate no longer needs an exact ICAO type match to win a substitution - sharing class code + WTC can now outscore a same-class-but-wrong-WTC candidate, fixing cases like a Beechcraft Baron remote preferring an installed Diamond DA62 over an installed Douglas DC-3. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Real aircraft.cfg\/livery.cfg data for FS2024, now for the whole catalog, not just what you fly.<\/strong> SimConnect's <code class=\"notranslate\">LIVERY FOLDER<\/code> is read the moment a model is actually instantiated locally, parsing its real configuration file for <code class=\"notranslate\">icao_type_designator<\/code>\/<code class=\"notranslate\">icao_WTC<\/code>\/<code class=\"notranslate\">icao_airline<\/code>\/<code class=\"notranslate\">atc_id<\/code> - the same reliability tier non-FS2024 builds already had from their upfront folder scan - ahead of the live category\/engine-derived classification and title-guessing, both kept as fallbacks. Handles both same-package and cross-package <code class=\"notranslate\">base_container<\/code> references. This same real-config-reading approach is now also applied while building the full installed-model catalog itself (SimConnect model enumeration only ever provided a title\/livery string for that, with no file access at all) - see the Bug Fixes section for the misclassifications this fixes. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Hardened title-guessing.<\/strong> The fallback guesser that infers an ICAO type from a model's title text now requires a longer, less ambiguous match, fixing false positives like a Cessna Caravan livery for an operator named \"Baron Aviation\" being mistagged as a Beechcraft Baron. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Non-flyable models filtered out.<\/strong> Scenery props, wrecked vehicles, and static display liveries (e.g. tents, cranes, parking-lot cars bundled with some add-ons) are now excluded from the installed-model list entirely via an expanded ban list, so they can no longer appear in the Substitute dialog or become an accidental default fallback. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Fine-grained matching defaults.<\/strong> The \"Model Matching\" defaults now go beyond one fallback per coarse typerole (Rotorcraft\/Airliner\/etc.) to also auto-configure defaults per class code + WTC combination, wherever more than one installed candidate exists to choose between. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Network protocol extended<\/strong> (<code class=\"notranslate\">Sim.VERSION<\/code> 21006\u219221007): peers now also broadcast their own resolved class code\/WTC directly, so receiving clients use the sender's best-available classification instead of each independently re-deriving it from ICAO type - which previously failed whenever ICAO type was a bogus\/non-standard string. Purely additive; older peers are unaffected. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Explain Match dialog implemented.<\/strong> It shows per-attribute score contributions inline, an \"other candidates considered\" panel (what almost won and why), and a ban-list exclusion count - both in the dialog and the exported markdown report. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>ICAO type designator is now validated, not trusted blindly.<\/strong> A config-confirmed <code class=\"notranslate\">icao_type_designator<\/code> is checked against the official ICAO Doc8643 reference list; if it's missing or isn't a real designator (a real, confirmed add-on authoring mistake: <code class=\"notranslate\">icao_type_designator=\"500E\"<\/code>, not a real code, with the actual designator sitting in the separate <code class=\"notranslate\">icao_model<\/code> field instead), JoinFS now tries the <code class=\"notranslate\">icao_model<\/code> field, then a title-text guess corroborated by a class code\/WTC derived from that same file's engine\/category fields, before finally falling back to the raw value. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Localization.<\/strong> All new UI text from the Model Matching redesign, plus existing untranslated text in the Explain Match\/Model Matching dialogs and the SimBrief tooltips\/status messages, is now localized into all 8 supported languages (German, Spanish, French, Italian, Korean, Dutch, Portuguese, Russian). (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Elevated platform recognition: aircraft no longer sink through helipads, ship decks, or rooftops for other pilots.<\/strong> Remote aircraft position updates already carried an on-ground flag, but it was parsed and then discarded - JoinFS always corrected a nearby remote aircraft's altitude toward the receiver's own local terrain-mesh reading, which has no knowledge of scenery objects sitting above it. When a peer reports on-ground and the mismatch between what they measured and the receiver's local mesh is large enough to indicate a real platform (not just ordinary cross-client mesh noise), JoinFS now trusts the sender's reported altitude directly. Separately, on MSFS\/SimConnect builds, on-ground is now forwarded to the sim's own AI-object placement whenever a peer reports on-ground, for any aircraft type - this is what actually fixed a jitter\/bounce previously visible mainly on fixed-wing traffic, letting the sim's own gear\/ground-contact physics own the placement instead of fighting an externally-driven altitude every tick. On by default, for every aircraft type, with no configuration needed. Controlled via command-line flags (no Settings-dialog entry, matching the existing WebSocket\/webhook flags): <code class=\"notranslate\">-elevatedplatformrecognition &lt;true|false&gt;<\/code> (master switch, default <code class=\"notranslate\">true<\/code>) and <code class=\"notranslate\">-elevatedplatformthreshold &lt;cm&gt;<\/code> (default <code class=\"notranslate\">50<\/code>). See the <a href=\"https:\/\/github.com\/tuduce\/JoinFS\/wiki\/Elevated-Platform-Landing\" target=\"_blank\" rel=\"noopener\">wiki<\/a> for details and examples. Also added an <code class=\"notranslate\">onGround<\/code> field to the WebSocket telemetry feed (<code class=\"notranslate\">-websocket<\/code>) for external tools consuming live aircraft state. To check whether elevated platform recognition engaged for a particular aircraft, enable the <strong>Network<\/strong> category in JoinFS's Monitor window - it logs the callsign, computed mismatch, configured threshold, and whether elevation\/ground trust is engaged whenever the decision changes. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>SimBrief button restyle, and auto-import is now opt-in.<\/strong> The SimBrief button on the main screen is now a text button sized and aligned to match the Join Global button, hidden entirely until a SimBrief username is configured (the Flight Plan button expands to fill the freed space). It now reflects four states instead of two: neutral\/default (matching the Flight Plan button) until a fetch has actually been triggered, orange while fetching, green on success, red if no plan could be fetched. A new <strong>Auto import<\/strong> checkbox in Settings (SimBrief group, off by default) controls whether JoinFS fetches your SimBrief plan automatically on startup - previously this always happened silently whenever a username was saved. Clearing the flight plan via the Flight Plan dialog's Clear button also resets the button back to its neutral state. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>ICAO airline designator derived from callsign as a matching fallback.<\/strong> When nothing more authoritative (SimBrief, live sim\/config data) already supplied an ICAO airline for your own aircraft, JoinFS now checks whether your callsign is shaped like a commercial flight (a 3-letter ICAO airline designator + 1-4 digit flight number + optional trailing letters, e.g. <code class=\"notranslate\">DLH1234<\/code>) and uses the designator from that shape if so - General Aviation tail-number callsigns are left alone. This is broadcast the same way a confirmed airline designator would be, helping peers match a more appropriate substitute model. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Explain Match available for your own aircraft.<\/strong> Right-click your own aircraft in the Aircraft window and choose Explain Match to see, as a diagnostic preview, what your currently-installed models would be scored against your own flight plan's values - useful for checking why a particular ICAO type\/airline\/registration is or isn't influencing matching, without affecting what's actually rendered for other pilots (which is still controlled separately). (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Callsign editing consolidated to one place.<\/strong> The old \"Edit Callsign\" aircraft-list context menu and its persistent per-installed-model override (which also silently applied to any locally-simulated AI traffic sharing that model, not just your own aircraft) have been removed. The Flight Plan dialog's callsign field is now the single, session-scoped place to set a callsign. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Unhandled exceptions are now logged before the process exits.<\/strong> JoinFS previously had no handler for unhandled exceptions on any thread (including background scans), so a crash would exit with no trace at all. This doesn't fix any specific crash, but turns future silent closes into diagnosable ones. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                        \n                                                    <details class=\"jflr-history__section\" open>\n                                <summary><span>Bug Fixes<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Fixed the first-run setup dialog's tab order jumping to the OK button before the SimBrief username field, and the nickname field not being pre-filled (which could blank an already-valid nickname if the dialog was shown for another reason). (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Fixed <code class=\"notranslate\">LIVERY FOLDER<\/code>-based config reading silently finding nothing for the many FS2024 add-ons that ship a single <code class=\"notranslate\">aircraft.cfg<\/code> with no separate <code class=\"notranslate\">livery.cfg<\/code> - these now resolve via a title-based lookup against your installed packages instead. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Fixed a <code class=\"notranslate\">base_container<\/code> resolution bug where a variation package's real config data could be discarded if that package had no <code class=\"notranslate\">livery.cfg<\/code> of its own. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Fixed the installed-package index used by the two fixes above missing every package when your configured simulator folder is the sim's base install directory rather than a <code class=\"notranslate\">Community<\/code>-style folder directly - it now looks one level deeper to find the actual package folders. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Fixed real, reproducible misclassifications of installed FS2024 community liveries.<\/strong> With no real config data available while building the installed-model catalog, JoinFS previously fell back to guessing the ICAO type purely from the title text - which could pick the wrong aircraft entirely: e.g. an Airbus A320 livery titled <code class=\"notranslate\">..._Smart_Lynx<\/code> was tagged as a Rotorcraft, because \"Lynx\" (from the airline name \"Smart Lynx\") is also a real Doc8643 helicopter designator and won a tie-break against the correct \"A320\". JoinFS now tries reading the real <code class=\"notranslate\">aircraft.cfg<\/code> from disk (following <code class=\"notranslate\">base_container<\/code> references where needed) while cataloging, before ever falling back to guessing. Also fixed the underlying folder discovery to correctly walk a modern Community\/Official package-based install instead of assuming a flat layout that doesn't exist there. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Fixed a data error in the bundled model-to-typerole reference list: a real airship (Skyship 600) was tagged as a Rotorcraft. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Manual \"Scan For Models\" no longer freezes the app while scanning - it now runs in the background like the automatic on-connect scan already did. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Fixed callsign duplication after upgrading from an older version.<\/strong> The real-callsign synthesis (ICAO airline + flight number) concatenated the two unconditionally. <code class=\"notranslate\">ATC FLIGHT NUMBER<\/code> was write-only\/unread by JoinFS before this line of releases, so many add-ons\/pilots had stored an entire pre-existing callsign there instead of a bare numeric flight number - once read, the airline code got glued onto it again (e.g. <code class=\"notranslate\">DLH1234<\/code> becoming <code class=\"notranslate\">DLHDLH1234<\/code>). Now trusted as-is whenever it already carries the airline prefix or isn't purely numeric. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Fixed the Flight Plan dialog's callsign field being read-only - it's the one place to set\/override a callsign now that the old context-menu override has been removed. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Pressing Enter in the SimBrief username field now saves the username and runs the import before closing the dialog, instead of closing immediately without saving anything. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Fixed the Flight Plan dialog's tab order (SimBrief username \u2192 Import \u2192 Clear \u2192 OK \u2192 Cancel), which had collided with the OK\/Cancel buttons' tab indices. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Fixed a SimBrief-imported callsign being overwritten by a sim\/livery-derived guess (e.g. <code class=\"notranslate\">DLH1234<\/code> reverting to <code class=\"notranslate\">Lufthansa 320<\/code>).<\/strong> Whenever the user's aircraft object was (re-)listed by the sim, its callsign was unconditionally re-derived from the aircraft's <code class=\"notranslate\">ATC AIRLINE<\/code>\/<code class=\"notranslate\">ATC FLIGHT NUMBER<\/code> (aircraft.cfg\/livery.cfg or MSFS2024 aircraft customization data), clobbering any callsign already fetched from SimBrief - regardless of fetch order. The sim-derived callsign is now only used as a fallback when no callsign is already set, matching how ICAO type\/airline are already handled in the same code path. On X-Plane\/CONSOLE builds this reset was unconditional rather than fallback-only; fixed the same way there. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Fixed the Aircraft window's callsign column going stale after editing the flight plan from the main screen.<\/strong> Committing a flight-plan change via the main-screen Flight Plan\/SimBrief buttons only bumped an internal network-broadcast counter and refreshed the main screen's own buttons - it never told the Aircraft window to redraw, so its grid could keep showing a pre-edit callsign until an unrelated event happened to refresh it, even though the underlying data (and a freshly-opened Flight Plan dialog) were already correct. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li>Fixed the \"Flight Plan\" context-menu item on a remote (network) aircraft in the Aircraft window silently opening <em>your own<\/em> flight plan instead - it's now disabled for remote aircraft, since their plans aren't locally editable. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Fixed ICAO airline tags for installed FS2024 models being silently wiped on every rescan.<\/strong> The SimConnect model-enumeration pass used by \"Scan For Models\" carries no airline data at all, but was unconditionally overwriting whatever a prior config-file read (or live instantiation) had already captured - so a correctly-tagged livery's airline could be lost the very next time you rescanned, causing it to stop scoring points for ICAO airline matches even though nothing about the installed content had changed. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>ICAO airline matching now distinguishes a config-confirmed tag from a free-text guess.<\/strong> A candidate model's airline tag inferred by matching an airline name somewhere in its title\/livery text (used only when no real ICAO code is available) previously scored identically to a tag read directly from the aircraft's own configuration file. It's now weighted down the same way an uncertain ICAO type already was, so a real, confirmed airline designator reliably outweighs a guessed one. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<li><strong>Registration lowered to a tie-breaker signal.<\/strong> A pilot can change their aircraft's registration\/tail number mid-session, so it shouldn't independently outweigh ICAO type or airline designator matches. Its score contribution was reduced so it now only ever matters when it's disambiguating between candidates that already agree on type and airline (e.g. picking the exact-tail livery over a generic one for the same airline), rather than being able to sway the outcome on its own. (Thanks <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> for the contribution)<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                                                            <\/details>\n                            <details class=\"jflr-history__item\" >\n                    <summary class=\"jflr-history__summary\">\n                        <span>JoinFS v26.4 <span style=\"opacity:.75;font-weight:600;\">(v26.4)<\/span><\/span>\n                        <span class=\"jflr-history__chev\" aria-hidden=\"true\">\u25be<\/span>\n                    <\/summary>\n\n                    <div class=\"jflr-history__meta\">\n                                                    <span>10 July 2026<\/span>\n                                            <\/div>\n\n                                                                        <details class=\"jflr-history__section\" open>\n                                <summary><span>New Features<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Added support for 8.33kHz channel separation on the COM frequencies. Frequencies are now displayed in the format <code class=\"notranslate\">XXX.XXX<\/code> (e.g., <code class=\"notranslate\">123.505<\/code>).<\/li>\n<li>Model matching takes into account the ICAO type designator and the ICAO airline code when determining the best match for an aircraft model. (contributed by <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a> - Thank you!)<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                        \n                                                    <details class=\"jflr-history__section\" open>\n                                <summary><span>Bug Fixes<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Fixed X-Plane models appearing exploded.<\/li>\n<li>Fixed error in rendering glass for some aircraft models in X-Plane.<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                                                            <\/details>\n                            <details class=\"jflr-history__item\" >\n                    <summary class=\"jflr-history__summary\">\n                        <span>JoinFS v26.3 <span style=\"opacity:.75;font-weight:600;\">(v26.3)<\/span><\/span>\n                        <span class=\"jflr-history__chev\" aria-hidden=\"true\">\u25be<\/span>\n                    <\/summary>\n\n                    <div class=\"jflr-history__meta\">\n                                                    <span>21 June 2026<\/span>\n                                            <\/div>\n\n                                                                        <details class=\"jflr-history__section\" open>\n                                <summary><span>New Features<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Upgraded the XPLANE SDK against which the XPLANE plugin is built to version 4.3.0.<\/li>\n<li>Added webhook for frequency changes and websocket-server for client updates to the CONSOLE variant (contribution by <a class=\"user-mention notranslate\" data-hovercard-type=\"user\" data-hovercard-url=\"\/users\/joeherwig\/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https:\/\/github.com\/joeherwig\" target=\"_blank\" rel=\"noopener\">@joeherwig<\/a>, thank you!).<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                        \n                                                    <details class=\"jflr-history__section\" open>\n                                <summary><span>Bug Fixes<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Fixed some models appear exploded in XPLANE.<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                                                            <\/details>\n                            <details class=\"jflr-history__item\" >\n                    <summary class=\"jflr-history__summary\">\n                        <span>JoinFS v26.2 <span style=\"opacity:.75;font-weight:600;\">(v26.2)<\/span><\/span>\n                        <span class=\"jflr-history__chev\" aria-hidden=\"true\">\u25be<\/span>\n                    <\/summary>\n\n                    <div class=\"jflr-history__meta\">\n                                                    <span>7 June 2026<\/span>\n                                            <\/div>\n\n                                                                        <details class=\"jflr-history__section\" open>\n                                <summary><span>New Features<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Increased the rate at which the position (20Hz) and the variables (5Hz) are sent over the network or recorded.<\/li>\n<li>Added logging around the recorder functionality to help with debugging issues related to recording and replaying flights.<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                        \n                                                    <details class=\"jflr-history__section\" open>\n                                <summary><span>Bug Fixes<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Fixed jittering of recorded flights when replaying them.<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                                                            <\/details>\n                            <details class=\"jflr-history__item\" >\n                    <summary class=\"jflr-history__summary\">\n                        <span>JoinFS v26.1 <span style=\"opacity:.75;font-weight:600;\">(v26.1)<\/span><\/span>\n                        <span class=\"jflr-history__chev\" aria-hidden=\"true\">\u25be<\/span>\n                    <\/summary>\n\n                    <div class=\"jflr-history__meta\">\n                                                    <span>25 March 2026<\/span>\n                                            <\/div>\n\n                                                                        <details class=\"jflr-history__section\" open>\n                                <summary><span>New Features<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <p dir=\"auto\">This release does not introduce new features.<\/p>                                <\/div>\n                            <\/details>\n                        \n                                                    <details class=\"jflr-history__section\" open>\n                                <summary><span>Bug Fixes<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Fixed an issue where deplect rapidly in shared cockpit.<\/li>\n<li>Fixed an issue where engine 2 would not shut down for network (or recorded) airplanes.<\/li>\n<li>Fixed the architecture of the CONSOLE variant. It should have been x64 since the last version.<\/li>\n<li>Increased the flight plan length to 512 characters to allow for longer flight plans.<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                                                            <\/details>\n                            <details class=\"jflr-history__item\" >\n                    <summary class=\"jflr-history__summary\">\n                        <span>JoinFS v25.9 <span style=\"opacity:.75;font-weight:600;\">(v25.9)<\/span><\/span>\n                        <span class=\"jflr-history__chev\" aria-hidden=\"true\">\u25be<\/span>\n                    <\/summary>\n\n                    <div class=\"jflr-history__meta\">\n                                                    <span>31 December 2025<\/span>\n                                            <\/div>\n\n                                                                        <details class=\"jflr-history__section\" open>\n                                <summary><span>New Features<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <p dir=\"auto\">This release does not introduce new features.<\/p>                                <\/div>\n                            <\/details>\n                        \n                                                    <details class=\"jflr-history__section\" open>\n                                <summary><span>Bug Fixes<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Fixed an issue where JoinFS would crash when an external web-service was not available.<\/li>\n<li>Fixed an issue where JoinFS would freeze when trying to open the \"Substitute...\" window from the \"Airplanes\" window<\/li>\n<li>Fixed the XPLANE installer. Thank you to all the people who contributed to the testing of and gave solutions for the XPLANE variant.<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                                                            <\/details>\n                            <details class=\"jflr-history__item\" >\n                    <summary class=\"jflr-history__summary\">\n                        <span>JoinFS v25.8 <span style=\"opacity:.75;font-weight:600;\">(v25.8)<\/span><\/span>\n                        <span class=\"jflr-history__chev\" aria-hidden=\"true\">\u25be<\/span>\n                    <\/summary>\n\n                    <div class=\"jflr-history__meta\">\n                                                    <span>20 December 2025<\/span>\n                                            <\/div>\n\n                                                                        <details class=\"jflr-history__section\" open>\n                                <summary><span>New Features<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <p dir=\"auto\">The JoinFS versioning system changes to a timeline versioning scheme. The version number is now in the format <code class=\"notranslate\">YEAR.SEQUENCE.0<\/code>. In some places the trailing .0 is ignored.<\/p>\n<p dir=\"auto\">The JoinFS project now targets .NET 8.0 for all variants.<\/p>\n<p dir=\"auto\">The solution file was reorganized.<\/p>\n<ul dir=\"auto\">\n<li>A single project builds all the variants, for their corrsponding architecture.<\/li>\n<li>The project file was simplified to use SDK-style project format.<\/li>\n<li>The build process was simplified using MSBuild properties and targets.<\/li>\n<li>The output folder structure was simplified.<\/li>\n<li>A single installer project builds all the installers.<\/li>\n<li>A CI\/CD pipeline was introduced to use the new build process.<\/li>\n<li>An automated workflow checks code quality and security features.<\/li>\n<li>A testing framework was introduced to automate unit and integration tests.<\/li>\n<\/ul>\n<p dir=\"auto\">A new model matching algorithm was introduced to improve the accuracy of model matching across different simulators. The new model matching algorithm uses a combination of model name, livery, and other metadata to identify models more accurately. This new model matching is described in more detail in its <a href=\"https:\/\/github.com\/tuduce\/JoinFS\/wiki\/Enhanced-Model-Matching-System\" target=\"_blank\" rel=\"noopener\">wiki page<\/a>.<\/p>                                <\/div>\n                            <\/details>\n                        \n                                                    <details class=\"jflr-history__section\" open>\n                                <summary><span>Bug Fixes<\/span><span aria-hidden=\"true\" style=\"opacity:.65;\">\u25be<\/span><\/summary>\n                                <div class=\"jflr-history__section-content\">\n                                    <ul dir=\"auto\">\n<li>Replaced the random number generator with a cryptographically secure random number generator.<\/li>\n<li>Fixed an issue where in MSFS2024 shared cockpit the entered aircraft would bank sharply to the right.<\/li>\n<\/ul>                                <\/div>\n                            <\/details>\n                                                            <\/details>\n                    <\/div>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-2343bcf e-flex e-con-boxed e-con e-parent\" data-id=\"2343bcf\" data-element_type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50bb8e8 elementor-widget elementor-widget-html\" data-id=\"50bb8e8\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div style=\"text-align:center;\">\r\n  <ins class=\"adsbygoogle\"\r\n       style=\"display:inline-block;width:728px;height:90px\"\r\n       data-ad-client=\"ca-pub-9266983355823055\"\r\n       data-ad-slot=\"6321492961\"><\/ins>\r\n<\/div>\r\n\r\n<script>\r\n  (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7595f1e elementor-widget elementor-widget-text-editor\" data-id=\"7595f1e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2>Fly Online Together with <strong>JoinFS<\/strong><\/h2><p><strong>JoinFS<\/strong> lets you <strong>fly online together<\/strong> in shared sessions with friends and communities. It\u2019s built for <strong>group flights<\/strong>, easy coordination, and reliable connections \u2014 so you can focus on flying, not setup.<\/p><h2>One <strong>Multiplayer<\/strong> Solution for Multiple Flight Simulators<\/h2><p>With <strong>JoinFS<\/strong>, pilots can meet in the same session and enjoy a consistent <strong>multiplayer flight simulation<\/strong> experience. It\u2019s ideal for virtual airlines, events, formation flying, and casual flights where staying together matters.<\/p><h3><strong>Cross-Simulator<\/strong> Flying<\/h3><p>A key advantage of <strong>JoinFS<\/strong> is that it can support <strong>online flying together<\/strong> even when pilots use <strong>different flight simulators<\/strong>. That means communities don\u2019t have to split up \u2014 everyone can join the same group flight and stay connected.<\/p><h2>Why Choose <strong>JoinFS<\/strong><\/h2><p><strong>JoinFS<\/strong> is designed to make <strong>online group flights<\/strong> simple and dependable. Whether you\u2019re hosting a public event or flying with a small group, it provides the tools to connect quickly and keep sessions stable.<\/p><h3><strong>Key Features<\/strong><\/h3><p>&#8211; <strong>Fly online together<\/strong> with friends and communities<br \/>&#8211; Support for <strong>cross-simulator multiplayer<\/strong> sessions<br \/>&#8211; Great for <strong>group flights<\/strong>, events, and virtual airline operations<br \/>&#8211; Lightweight design and straightforward setup<br \/>&#8211; Reliable connectivity for short hops or long-haul flights<\/p><h2>Perfect for Communities and Events<\/h2><p>From weekly club flights to large online gatherings, <strong>JoinFS<\/strong> helps organizers keep pilots in one place. Create a session, share the details, and let everyone join \u2014 even if they\u2019re on different sim platforms.<\/p><h3><strong>Use Cases<\/strong><\/h3><p>&#8211; <strong>Virtual airline<\/strong> group operations<br \/>&#8211; <strong>Community fly-ins<\/strong> and public events<br \/>&#8211; <strong>Formation flying<\/strong> and shared training sessions<br \/>&#8211; Casual <strong>multiplayer<\/strong> flights with friends<br \/>&#8211; Cross-simulator meetups for mixed groups<\/p><h2>Get Started with <strong>JoinFS<\/strong><\/h2><p>Choose your simulator on this page, download <strong>JoinFS<\/strong>, install it, and launch the app to join a session. If your firewall requests permission, allow it so <a href=\"https:\/\/www.joinfs.net\/en\/about\/\"><strong>JoinFS<\/strong><\/a> can connect properly for online multiplayer.<\/p><h2>Need Help?<\/h2><p>If you need support with setup or connectivity, <a href=\"https:\/\/www.joinfs.net\/en\/support\/\">contact us<\/a> with your simulator name, operating system version, and a short description of the issue. Adding screenshots or logs can speed up troubleshooting.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Download JoinFS: Cross-Sim Multiplayer &#038; Shared Cockpit Choose the correct version of JoinFS for your simulator. All downloads are for Windows only JoinFS is built with passion (and a lot of time). If you\u2019d like to support the project, you can buy us a coffee with a PayPal donation.Every contribution helps us improve and keep [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-619","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/pages\/619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/comments?post=619"}],"version-history":[{"count":181,"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/pages\/619\/revisions"}],"predecessor-version":[{"id":1332,"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/pages\/619\/revisions\/1332"}],"wp:attachment":[{"href":"https:\/\/www.joinfs.net\/en\/wp-json\/wp\/v2\/media?parent=619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}