FlygStolt - Flight Journal & Replay
Description
FlygStolt is a standalone flight recorder for MSFS2020. The goal of this app is to have several different simple functions in one single small app.
The name is a mockery on a swedish word flygskam ("shame of flying") and means "proud to fly". Initially made of 2 different apps in 2 different languages and solely for personal use, it then transformed into an opportunity to learn a new language and into hobby project.
NEW IN 1.3.0+: Replays
Replays are still under development and there might still be some issues. More things to come later.
It is recommended to set DB saving interval to 1s in the app and also disable crash damage in the sim.
Old flights replays can be enabled via settings.
Akima spline interpolation provides smoother replay, but is in beta and might cause a freeze/crash and therefore disabled by default.
Features
- Automatic flight recording
- Flight flags and filtering (stall, extreme pitch/bank, hard landing etc.)
- Cleaning of flight log (remove old/broken flights) and protecting flights from such cleanups
- Flight replay
- Export to KML
- Web UI with dark mode support (not optimized for high DPI mobile phones, sorry)
- VFR overlays (OpenFlightMap - partial Europe only, OpenAIP - needs an account on their site)
- Landing performance toasts with porpoising detection
- Some live flight data (speed, altitude, etc.)
- Color-coded flight paths
- Flight event markers (take-off, landing, crash, upset, flaps)
- Simbrief flight plan import
- XML (.pln) flight plan import
- Auto-following plane during flight with automatic zoom
- Bing maps layer (you need to get their API key first)
- UDP data broadcaster (for e.g. ForeFlight, Garmin Pilot, etc., only X-Plane format)
- Simulation rate selector + real pause
- Automatic connection to the sim on app startup
- Automatic browser opening option
Planned features
More features are planned to be implemented. Here they are (not in any particular order):
- CSV/GPX/GeoJSON export
- Replay cutting
- Flight glueing
- Graphs for various parameters
Would-be-nice-to-implement features
Some features are put into the pessimistic part of the TODO list, because they are either too sophisticated to spend much time on them, or require much deeper Web UI and/or SimConnect knowledge (though any help will be appreciated). Here they are:
- Navigraph enroute charts layer (NOT airport)
- AI/Multiplayer traffic on map
- Plane selector
- Primary flight display
Requirements
- Windows 10+
- .NET Runtime 6 and ASP.NET Core Runtime (Get them here)
- Microsoft Flight Simulator 2020 (might work with other versions though)
Installation and usage
- Unpack the archive to any non-system folder
- Start the sim
- Run FlygStolt.exe
- Open http://localhost:8320 in your browser
- Press Connect button in the top right corner after the sim has loaded into main menu
Updating
- Close the app if it is running
- Backup flights.db file located in the application folder to prevent any flight data loss. Optionally backup settings.json
- Extract the archive into the application folder with overwriting existing files
Configuration
- Press button with a cog in top right corner of the Web UI
- Adjust settings and press Save changes button
- Alternatively you can manually edit settings.json file located near the app executable
- Note that you need to restart the app for the changes to come into force with the exception of API keys, which are saved in your browser only.
- It is recommended to disable crashes and stress damage for replay playbacks.
Troubleshooting
- Verify that you have the latest .NET framework installed
- Verify that you unpacked the app into non-system folder (if it asked for permissions during unpacking, then it wasa a system one)
- If you have a firewall running, you might need to allow the FlygStolt.exe app to listen on port 8320
- There might be another app listening on this port, you can check it in Task Manager->Performance->Open Resource Monitor->Network->Listening ports.
If that is the case, then open settings.json file in the app folder and change the property webServerPort to some other non-used value between 1000 and 65535 and save the file.
Known issues
- Some planes have more engines than they need for actual flight, which leads to flights not starting when they should. Darkstar and DG1001E are fixed, but other might exist.
- Glider support is not ideal now since they are categorized as "Airplanes" in the SDK and some of them (like DG1001E) can have an engine, which makes handling them even more difficult.
- Landing challenges restarts may produce erratic flights.
- There might be still some issues left (especially with gliders), when starting a flight right on a runway restarting or quitting to main menu.
- End of bush trip flight is not detected unless you quit to main menu or turn off the engines and set parking brakes right before stopping.
- There is a bug in MSFS SDK that causes to return points of interests together with airports.
Q&A
- There is LittleNavMap with so much great features, why do we need this app?
Yes, LittleNavMap is a great tool with so mush great features, but what if for someone having so much features is a downside? LittleNavMap's interface is a bit overwhelming and cluttered, and I wanted to create a tool that is light and small. - But there is XXX flight bag that also has a map and also radio and autopilot and light controls and...and...stuff!
Yes, you can find very functional flight bags, most of which are payware, and if you own one of them, then you are already covered with abundance of functions and don't need this app. Also see previous question and the description. - Sooo... this is just a map with some history? Meh...
Look at planned features section. Also, if you have an idea, just suggest it in the comments, and it might be added to the list. - I found an issue in the code / I would like to help with something
You are more than welcome to create a new issue or a merge request.
Replays Q&A
- Will it work with %planename%? / I tried it with %planename% and it had no electrics on/gear not retracted etc.
The app should work with any plane flight-wise. As for engines and electrics - there are some restrictions. Some planes are more complex and have additional logic built in or/and are using custom variables, so you cannot just set them to a required state. Additionally, certain parameters and states can only be set using events, which is not yet implemented in the app. It is recommended to at least turn on the electrics and open fuel valves before starting a replay. - When I started a replay, my in-game time changed. Is it intended? Can it change the weather too?
Yes, it is a feature. In-game time will be saved and restored on both replay start and replay exit. Weather, unfortunately, cannot be set from outside the sim. - The replay is stuttering!
The app syncs with the simulator frames so it fully depends on your in-game FPS. Don't expect smooth replays near London or similar CPU-hungry places or if you have highly detailed addons. - Is it possible to replay my old flights?
There is such an option in the settings. However, old flights only have positional data, so there will be no flight controls movements, no engine and so on. - I found an option saying about some `Akima splines`. What is that?
Akima splines is a method of interpolation which gives smooth and more realistic transitions between points compared to "usual" splines which tend to oscilate a lot.
Note that this method is currently in beta stage and might freeze the sim if an invalid value occurs in the calculations.
Source code
This application is open source. The source code is available at GitLab.
License
The app is using EUPL license, with the exception of .dll files, which are covered by MSFS SDK EULA, Math directory, which contains ported files from Apache Commons Math library (Apache 2.0), and wwwroot directory, which contains multiple third-party libraries with different licenses:
- Knockout.js (MIT)
- Leaflet.js (BSD 2-Clause)
- Bootstrap and Bootstrap Icons (MIT)
- Icons based on Vaadin Icons (CC BY 4.0)
3 months ago
2 months ago
kool91
saish57
3 months ago
3 months ago
kool91
renny
3 months ago
Aviator56442
9 months ago
9 months ago
kool91
Dillonshrop
Hi! I'm trying to use this fantastic tool but when I try to start the program I can't. It's open and then closes suddenly. Also, the localhost doesn't work. I don't know if I'm doing something wrong.
I uncrompressed the .zip in the desktop, then I opened the sim and finally I have tried to open the tool. Check it out.
1 years ago
Hello! Sorry for the inconvenience and thank you for the report. I've just released a new version today that also shows unhandled error info before closing so we can try tracking this error. Meanwhile there are some options: 1) Do you have the latest (v4.8.1) .NET framework installed? 2) Do you have a firewall running? If so, you need to allow the app to listen on port 8320 3) There might be another app listening on this port, you can check it in Task Manager->Performance->Open Resource Monitor->Network->Listening ports. If that is the case, then open settings.json file in the app folder and change the property webServerPort to some other non-used value between 1000 and 65535 and save the file.
1 years ago
kool91
ivansjg
Thank you so soo much for this application!! I love it!!
1 years ago
Thank you for the review! Feel free to leave feedback or report any found issues
1 years ago
kool91
krzychuu