connect to microsoft flight simulator 2020 using golang

msfs2020-go

simconnect package msfs2020-go/simconnect connects to microsoft flight simulator 2020 using golang.

cross-compiles from macos/linux, no other dependencies required. produces a single binary with no other files or configuration required.

status

msfs2020-go/simconnect package currently only implements enough of the simconnect api for examples and vfrmap.

releases and download

program zips releases are uploaded here

tools

  • vfrmap local web-server that will allow you to view your location, and some information about your trajectory including airspeed and altitude.

examples

Why does my virus-scanning software think this program is infected?

From official golang website https://golang.org/doc/faq#virus

"This is a common occurrence, especially on Windows machines, and is almost always a false positive. Commercial virus scanning programs are often confused by the structure of Go binaries, which they don't see as often as those compiled from other languages."

Comments
  • Cannot open on iPad

    Cannot open on iPad

    Hi! Tried several things, but couldn't open it on iPad. Can you make a more clear readme on how to make it happen!?

    Thanks a lot for such a great plugin!

  • Tip: Make it more iPad friendly

    Tip: Make it more iPad friendly

    With some easy code in top of index.html header you can make it more user friendly on the iPad as webapp. When you open the app inside the browser, you can than choose "Add to homescreen". When opened directly from the homescreen, all the controls like favorites and address bar are hidden and you will get a more native experience.

    Following code inside header.

    <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-title" content="VFRMap">

  • Implement some design suggestions from #11

    Implement some design suggestions from #11

    This PR adds two things:

    New vfrmap design

    Based on suggestions from #21, this PR adds a different design with a small settings menu to toggle a dark mode and instrument displays. I imported two external sources for this, Tailwind and Alpine.JS. They are currently not part of the bindata. If you want me to change that, I'm happy to provide another PR.

    You can find a screenshot of it in #21.

    go-bindata generation helpers

    There was not really a hint on how to generate all the bindata, so I added a Makefile to the vfrmap project and the html subdirectory, so when running make generate, the dependencies (leafletjs, the rotatedMarker plugin) will be downloaded and prepared. Afterwards, go generate will be run. The download of the vendor files can be triggered on its own from the html/Makefile using make vendor.

  • flight sim goes crazy

    flight sim goes crazy

    Hello I am using Flight Sim to fly the plane externally. I am using the Autopilot with heading control using the keyboard. Sometimes the FlightSim goes crazy and the heading starts rotating and cannot stop it. Seems to be related to this map program. Thanks Matt

  • Can't find SimConnect.dll

    Can't find SimConnect.dll

    I have to following error when trying to launch vfrmap.exe

    `panic: Failed to load D:\SimConnect.dll: The specified module could not be found.

    goroutine 1 [running]: main.main() /users/lian/prj/go/lian/msfs2020-go/vfrmap/main.go:76 +0x88b`

  • Strange behavior when multiple users open the map

    Strange behavior when multiple users open the map

    I don't know if this is known yet, but I had something very strange moments with the VFR map yesterday. I have used the mod a few times now, it worked fine, but yesterday I wanted to test how it is when I share the mapserver so that external people can open the map as well. (port forward) This works so far, but as soon as a second or third person opens the card, Flight Simulator goes crazy. The following is happens:

    Sim is running active flight:

    Second person opens the card : Plane is teleported randomly or SIM crashes completely.

    New flight is started and the map is opened by 2 or 3 persons:

    Plane starts somewhere in the world or SIM crashes.

    Is this known? This has not happened every time, but quite regularly.


  • exe wont launch since 0.0.3 - simconnect error

    exe wont launch since 0.0.3 - simconnect error

    I am fairly sure this is something on my end, as I waited to see if anyone else reported but there has been a ton of releases and no one has complained, but since 0.0.3 which changed to openstreetmap my exe opens then closes. If I launch it from CMD I get the following:

    msfs2020-go/vfrmap
      readme: https://github.com/lian/msfs2020-go/blob/master/vfrmap/README.md
      issues: https://github.com/lian/msfs2020-go/issues
      version: v0.0.7 (2020-09-05_04:33:49)
    
    panic: SimConnect_Open error: -2147467259 The operation completed successfully.
    
    goroutine 1 [running]:
    main.main()
            /users/lian/prj/go/lian/msfs2020-go/vfrmap/main.go:115 +0x2125
    

    I know this isn't an issue with the software itself as others would be having, but can anyone advise on what I have done wrong here. I am quite new to all of this but it was working at one point :)

    Thanks,

  • Virus detected in latest release V0.0.7

    Virus detected in latest release V0.0.7

    When I try to download the zip file at https://github.com/lian/msfs2020-go/releases/download/v0.0.7/vfrmap-win64-v0.0.7.zip Edge Browser says - "Couldn't download - Virus detected"

  • Error in console

    Error in console

    Hi,

    Many times when i connect and start ingame a flight. My consoles says something going wrong look at the console. when i check the console cmd, i see some text talking about closes 1001 socket (go away) message. so the browser starts the page and i can click the button on low left and i see the map but after a few seconds its disconnecting. How can it be resolved?

  • Is it possible to turn off teleport?

    Is it possible to turn off teleport?

    Hello lian and thank you for this amazing tool.

    I was tinkering around a bit with it - works amazingly well. I own a URL at which I created a webforward pointing to my external IP address. In my router I forwarded port 9000 to the machine running MSFS - so now if i go to http://[URL]:9000 I can view the map from anywhere in the world - even my phone or tablet.

    That also means I could in theory broadcast this URL to friends or use it for streaming so people can watch my flight in a different tab if they want to - however I noticed there's also a function that allows me (or anyone accessing the map) to click anywhere on the map and then teleport the plane to that location - which of course would be terrible if someone did that during a stream - and also could be viewed as cheating ;)

    Would it be possible to include a function to disable the "teleport" function ?

    Cheers,

    RegenCoE

  • Access from other machines on the local network?

    Access from other machines on the local network?

    Thanks for this nice tool! I was wondering if there could be an option to serve the map somewhere else than localhost so that other machines on the local network could access it, possibly with some confirmation prompt on the host for security reasons, but else with just the user setting up permissions in the first place?

    I believe it would make vfrmap much more flexible, and also a nice and open alternative to those mobile applications. Trusted people could even follow flights on remote machines, provided they use something like Zerotier; note this would also be useful for people who use cloud computing to run MFS 2020.

  • Windows 11 - No Navigational Data

    Windows 11 - No Navigational Data

    vfrmap was working fine on my old computer running Windows 10. The computer died about a month ago and I have recently bought a new one that has Windows 11. The map display works on the new machine but the option to display navigational data now does nothing.

  • vfrmap is not opening openstreetmap

    vfrmap is not opening openstreetmap

    Hi, I've been using vfrmap with msfs for the last 18 months and it has always worked fine until this week. Now after I start msfs and run vfrmap, when I go to localhost:9000 in google chrome, the map is just solid grey. I get the readings across the top showing heading, alt, speed, etc but no map. The other views like Stamen Terrain, Toner, Water all work fine.

    How do I get the map back? thanks Ian [email protected]

  • vfrmap.exe doesn't work by default on Steam/Linux

    vfrmap.exe doesn't work by default on Steam/Linux

    When running it on Steam/Linux, it gives the following error:

    ~/Downloads > wine vfrmap.exe
    002c:fixme:winediag:LdrInitializeThunk wine-staging 6.22 is a testing version containing experimental patches.
    002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
    00e8:fixme:advapi:RegisterEventSourceW ((null),L"AdobeARMservice"): stub
    00e8:fixme:advapi:ReportEventW (CAFE4242,0x0004,0x0000,0x00000000,00000000,0x0001,0x00000000,0187FC6C,00000000): stub
    00e8:fixme:advapi:DeregisterEventSource (CAFE4242) stub
    011c:fixme:process:SetProcessPriorityBoost (FFFFFFFFFFFFFFFF,1): stub
    011c:fixme:powrprof:PowerRegisterSuspendResumeNotification (0x00000002,0000000000B5FD00,0000000000B5FCE8) stub!
    
    msfs2020-go/vfrmap
      readme: https://github.com/lian/msfs2020-go/blob/master/vfrmap/README.md
      issues: https://github.com/lian/msfs2020-go/issues
      version: v0.0.7 (2020-09-05_04:33:49)
    
    panic: SimConnect_Open error: -2147467259 Success.
    
    goroutine 1 [running]:
    main.main()
            /users/lian/prj/go/lian/msfs2020-go/vfrmap/main.go:115 +0x2125
    

    How to fix:

    1. Edit SimConnect.xml:

    ~/Downloads > locate SimConnect.xml /mnt/disk/home/user/.local/share/Steam/steamapps/compatdata/1250410/pfx/drive_c/users/steamuser/AppData/Roaming/Microsoft Flight Simulator/SimConnect.xml

    Set port from default of 500 to 2222:

    <?xml version="1.0" encoding="Windows-1252"?>
      
    <SimBase.Document Type="SimConnect" version="1,0">
        <Descr>SimConnect Server Configuration</Descr>
        <Filename>SimConnect.xml</Filename>
        <SimConnect.Comm>
            <Descr>Static IP4 port</Descr>
            <Protocol>IPv4</Protocol>
            <Scope>local</Scope>
            <Port>2222</Port>
            <MaxClients>64</MaxClients>
            <MaxRecvSize>41088</MaxRecvSize>
        </SimConnect.Comm>
        <SimConnect.Comm>
            <Descr>Static IP6 port</Descr>
            <Protocol>IPv6</Protocol>
            <Scope>local</Scope>
            <Port>501</Port>
            <MaxClients>64</MaxClients>
            <MaxRecvSize>41088</MaxRecvSize>
        </SimConnect.Comm>
        <SimConnect.Comm>
            <Descr>Custom Pipe</Descr>
            <Protocol>Pipe</Protocol>
            <Scope>local</Scope>
            <Port>Custom\SimConnect</Port>
            <MaxClients>64</MaxClients>
            <MaxRecvSize>41088</MaxRecvSize>
        </SimConnect.Comm>
        <SimConnect.Comm>
            <Descr>Dynamic IP4 port</Descr>
            <Protocol>IPv4</Protocol>
            <Scope>local</Scope>
            <Port>0</Port>
            <MaxClients>64</MaxClients>
            <MaxRecvSize>41088</MaxRecvSize>
        </SimConnect.Comm>
        <SimConnect.Comm>
            <Descr>Dynamic IP6 port</Descr>
            <Protocol>IPv6</Protocol>
            <Scope>local</Scope>
            <Port>0</Port>
            <MaxClients>64</MaxClients>
            <MaxRecvSize>41088</MaxRecvSize>
        </SimConnect.Comm>
        <SimConnect.Comm>
            <Descr>Default FSX Pipe</Descr>
            <Protocol>Pipe</Protocol>
            <Scope>local</Scope>
            <Port>0</Port>
            <MaxClients>64</MaxClients>
            <MaxRecvSize>41088</MaxRecvSize>
        </SimConnect.Comm>
    </SimBase.Document>
    
    
    1. Use the following SimConnect.cfg and placed it in the same directory as vfrmap.exe
    ~/Downloads > cat SimConnect.cfg 
    ; Example SimConnect client configurations
    
    ; new FS pipe
    [SimConnect]
    Protocol=IPv4
    Address=127.0.0.1
    Port=2222
    ;Protocol=Pipe
    ;Port=2222
    ;Address=.
    
    ; Automatic detection, backward compatible with FSX
    [SimConnect.1]
    Protocol=IPv4
    Address=127.0.0.1
    Port=2222
    
    [SimConnect.2]
    Protocol=Ipv6
    Port=2222
    Address=127.0.0.1
    
    [SimConnect.3]
    Protocol=Ipv4
    Address=127.0.0.1
    Port=2222
    
    ; default FSX pipe
    [SimConnect.4]
    Protocol=Pipe
    Address=.
    Port=2222
    
    ; global pipe, use the configuration of the remote server
    [SimConnect.4]
    Protocol=Pipe
    Address=.
    Port=2222
    
    ; global IPv6, use the configuration of the remote server
    [SimConnect.5]
    Protocol=IPv6
    Address=127.0.0.1
    Port=2222
    
    
    ; global IPv4, use the configuration of the remote server
    [SimConnect.6]
    Protocol=IPv4
    Address=127.0.0.1
    Port=2222
    
    1. Optionally, enable developer mode in MSFS 2020, install MSFS SDK, and copy SimConnect.dll to the same directory as vfrmap.exe:

    ~/Downloads > cp ~/.wine/drive_c/MSFS\ SDK/SimConnect\ SDK/lib/SimConnect.dll ~/Downloads

  • update VFRMap CSS so the HUD is proportional to page width

    update VFRMap CSS so the HUD is proportional to page width

    The VFRMap CSS for the HUD icons and text is currently fixed size, which means if you just want a small map window in the corner, it turns into this:

    image

    Making the HUD div use text-size: 1.75vw; would solve that problem:

    image

  • Openflightmap

    Openflightmap

    Hello,

    first thank you for your excellent work đź‘Ť The navigational data of oipenaip.net are very lagging. Is it possible to integrate also openflightmap as additional map like openstreetmap. In this map the airspaces are included and so the map is not lagging. Also the pattern circuits are included, for example in germany.

    []https://github.com/openflightmaps [](https://www.openflightmaps.org/wp-content/plugins/ofmTileMap/ofmTileMap_full.php?airac=2103&language=local&coverage&controls

Related tags
inlets-connect is a proxy that supports HTTPS and the CONNECT method

inlets-connect inlets-connect is a proxy that supports HTTPS and the CONNECT method. It can be deployed as a side-car or stand-alone to proxy to a sin

Nov 7, 2022
Minekube Connect allows you to connect any Minecraft server

Minekube Connect allows you to connect any Minecraft server, whether online mode, public, behind your protected home network or anywhere else in the world, with our highly available, performant and low latency edge proxies network nearest to you.

Dec 27, 2022
Proxtor - A simple tool to connect to the network using Tor

Proxtor A simple tool to connect to the network using Tor. Installing Go to rele

Jan 1, 2022
A simple low bandwidth simulator written in go

NETSNAIL 0.8 ABOUT Netsnail is a simple network proxy that simulates low bandwidth. RUNNING Usage of netsnail: -d=0: the delay on data transfe

May 19, 2021
FLoC Simulator
FLoC Simulator

FLoC Simulator Command line FLoC simulator to calculate CohortID with using host list and cluster data. Build and Run Demo $ cd $ cd demos/floc_sampl

May 5, 2022
secure scuttlebutt network simulator

Network Simulator a brief exposition on the network simulator to be built as part of SSB's NGI Pointer grant For the remainder of May—and likely parts

May 13, 2022
A LoRaWAN nodes' and network simulator that works with a real LoRaWAN environment (such as Chirpstack) and equipped with a web interface for real-time interaction.
A LoRaWAN nodes' and network simulator that works with a real LoRaWAN environment (such as Chirpstack) and equipped with a web interface for real-time interaction.

LWN Simulator A LoRaWAN nodes' simulator to simulate a LoRaWAN Network. Table of Contents General Info Requirements Installation General Info LWN Simu

Nov 20, 2022
An easy-to-use, flexible network simulator library in Go.

ns-x An easy-to-use, flexible network simulator library for Go. Feature Programmatically build customizable and scalable network topology from basic n

Dec 13, 2022
golife is a cell evolution simulator.
golife is a cell evolution simulator.

golife WORK IN PROGRESS golife is a cell evolution simulator. It presents autonomous organism with inner properties and behavior (hunter or prey) that

Dec 30, 2021
Multithreaded Airline Check-In Simulator

Multithreaded Airline Check-In Simulator This is a task scheduler which includes a single queue and 5 clerks. The queue will be sorted based on priori

Mar 15, 2022
User enumeration with Microsoft Teams API
User enumeration with Microsoft Teams API

UserEnumTeams Description Sometimes user enumeration could be sometimes useful during the reconnaissance of an assessment. This tool will determine if

Jan 2, 2023
Bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API
Bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API

bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)

Jan 4, 2023
Microsoft Graph Client Library for Go
Microsoft Graph Client Library for Go

msgraph.go v1.0 beta (The online references at pkg.go.dev above are not shown due to huge size of packages - #23) Introduction Microsoft Graph client

Dec 19, 2022
Downloads the Windows 10 wallpapers provided by Microsoft.

microsoft-wallpapers Preparation Prepare an input file that contains a list of links from the Microsoft website that lead to wallpapers. This list is

Nov 29, 2021
Microsoft Authentication Library (MSAL) plugin

Microsoft Authentication Library (MSAL) plugin This plugin is a wrapper for the Microsoft Authentication Library (MSAL) for Go library. It supports fe

May 24, 2022
protoc-gen-grpc-gateway-ts is a Typescript client generator for the grpc-gateway project. It generates idiomatic Typescript clients that connect the web frontend and golang backend fronted by grpc-gateway.

protoc-gen-grpc-gateway-ts protoc-gen-grpc-gateway-ts is a Typescript client generator for the grpc-gateway project. It generates idiomatic Typescript

Dec 19, 2022
A tool for connect url write by Golang
A tool for connect url write by Golang

goURL A tool for connect url write by Golang To-Do In this month (2021.11), our development plan is adding the following functions: -X, a flag to choo

Nov 8, 2021
Connect your devices into a single private WireGuard®-based mesh network.

Wiretrustee A WireGuard®-based mesh network that connects your devices into a single private network. Why using Wiretrustee? Connect multiple devices

Dec 31, 2022
Connect to SagerNet in the LAN

SagerConnect Connect to SagerNet in the LAN (no configuration required) Usage Upgrade SagerNet to 0.4-rc02 or later Enable "Allow Connections from LAN

Jan 6, 2023