• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

FSX:SE Sim Connect Hell

Messages
40
Country
us-texas
Hi all,


I’ve been trying to build a personal-use co-pilot app for FSX: Steam Edition, but I’m completely stuck on SimConnect integration.


I’ve spent about a month working on this and have a solid UI, but I cannot get any working connection to FSX, across multiple approaches and languages.




Environment


  • FSX: Steam Edition (installed on D: drive)
  • App running locally on same machine (C: and D: drives)
  • Using Electron + Node.js for main app
  • Also tested with:
    • C#
    • C++
    • Python
  • SimConnect + FSUIPC4 both installed



Current Issue


I’m now attempting to use node-simconnect, but I’m hitting import/runtime errors immediately:



import { open, SimObjectType, Period } from 'node-simconnect';


Error:




SyntaxError: The requested module 'node-simconnect' does not provide an export named 'Period'



This happens during Electron app startup.




What I’ve Tried


  • Multiple languages (C#, C++, Python) → no successful connection
  • Using Node.js + Electron with node-simconnect
  • Running FSX before launching app
  • Verifying SimConnect is installed via FSX:SE
  • Using FSUIPC4 as alternative bridge
  • Different project setups and rebuilds



Observed Behavior


  • Either:
    • No connection at all (silent failure), or
    • Immediate module/runtime errors (Node environment)



What I Need Help With


  1. Is node-simconnect actually compatible with FSX:SE + modern Node/Electron?
  2. Has anyone successfully connected to FSX:SE using Node.js, or should I abandon this approach?
  3. Why would SimConnect fail silently across multiple languages?
  4. Is there a known working minimal example (any language) for FSX:SE specifically?
  5. Could this be a SimConnect version mismatch issue with Steam Edition?



Context


I’m not building anything commercial—just trying to create tools like a first officer assistant and weather integration for my own use.


At this point, it feels like I’m missing something fundamental with SimConnect itself, not just my code.




Any guidance, working examples, or direction would be greatly appreciated.


Thanks.
 
Looks like you found the problem. I will get back to you. Since I do frontEndDesign im going out of my comfort zone.🤞
 
Hi! node-simconnect developer here :wave:

I developed node-simconnect for the Virtual Norwegian Pilot Client which is based on Electron (64-bit) and connects fine with FSX:SE.

The key thing with Electron is that you need to put all the code that uses node-simconnect in the main process (not the renderer process), since only the main process has access to native low-level system APIs like TCP sockets and pipes, which SimConnect uses. You’ll then need to use Electron's IPC API to send data and commands back and forth between the main and renderer processes.

Make sure to check out one of the examples that you can run in the terminal, like this one.
 
Last edited:
Back
Top