Create random custom missions for Aerofly FS 4.
This nice little project generates custom_missions_user.tmc
to use with Aerofly FS 4.
- The main tool creates missions containing landing pattern lessons, which put your plane in a random location around an airport, sets time of day as well as weather, and let you figure out how to enter the landing pattern correctly.
- Also there now is a HEMS missions generator, which will put your helicopter on a random heliport, sets time of day as well as weather, and create flight plans to nearby MedEvac locations. See the HEMS missions generator documentation.
The main documentation centers around the landing pattern lessons:
- It downloads data for an airport selected by you,
- and places an aircraft selected by you in a random spot around this airport,
- considering an optional Minimum Safe Altitude.
- It downloads METAR weather data for the last few days,
- and determines which will be the active runway by taking a look at the wind (or using a default runway if there is almost no wind)
- considering if your aircraft is able to land on this runway.
- From this data it will create multiple random missions,
- and write these to a
custom_missions_user.tmc
which you then can use in Aerofly FS 4.
This tool requires Node.js in at least version 20 to be installed on your local computer.
The Landegerät is a Command Line Interface (CLI) tool, which means you need to open a terminal to run it. The tool itself does not need to be installed, as the Node.js tool npx
will take care of downloading as well as executing the Landegerät.
Usage: npx @fboes/aerofly-patterns@latest ICAO_AIRPORT_CODE [AEROFLY_AIRCRAFT_CODE] [...options]
Create landing pattern lessons for Aerofly FS 4.
Arguments:
ICAO_AIRPORT_CODE ICAO airport code which needs to be available in Aerofly FS 4.
AEROFLY_AIRCRAFT_CODE Internal aircraft code in Aerofly FS 4.
Options:
--right-pattern=.. Comma-separated list of runway names with right-turn pattern.
Example value: 24,33
--min-altitude=.. Minimum safe altitude of aircraft, in 100ft MSL. At least airport elevation.
Default value: 0
Example value: 145
--missions=.. Number of missions in file.
Default value: 10
--distance=.. Initial aircraft distance from airport in Nautical Miles.
Default value: 8
--pattern-altitude=.. Pattern altitude in ft AGL. For MSL see `--pattern-altitude-msl`
Default value: 1000
--pattern-distance=.. Pattern distance from airport runway in Nautical Miles.
Default value: 1
--pattern-final-distance=.. Pattern final distance from airport runway edge in Nautical Miles.
Default value: 1
--rnd-heading=.. Randomized aircraft heading deviation from direct heading to airport in degree.
Default value: 0
--prefer-rwy=.. Comma-separated list of runway names which are preferred if wind is indecisive.
Example value: 24,33
--pattern-altitude-msl, -m Pattern altitude is in MSL instead of AGL
--directory, -d Create files in a subdirectory instead of current directory.
--geojson, -g Create a GeoJSON file.
--readme, -r Create a `README.md`.
--help, -h Will output the help.
Example:
npx @fboes/aerofly-patterns@latest KMVY c172 --right-pattern 24,33
The complete list of available internal aircraft codes in Aerofly FS 4 is available in …\Aerofly FS 4 Flight Simulator\aircraft
. Improved flight planning is available for aircraft listed in dist/data/AeroflyAircraft.js
. Examples of codes:
AEROFLY_AIRCRAFT_CODE |
Type |
---|---|
a320 |
Airbus A320 |
b58 |
Beechcraft Baron 58 |
c172 |
Cessna 172 |
c90gtx |
Beechcraft King Air C90 |
dr400 |
Robin DR 400 |
ec135 |
Eurocopter EC135 |
uh60 |
Sikorsky UH-60 Black Hawk |
f15e |
McDonnell Douglas F-15E Strike Eagle |
jungmeister |
Bücker Bü 133 Jungmeister |
lj45 |
Learjet 45 |
mb339 |
Aermacchi MB-339 |
pitts |
Pitts Special S-2 |
r22 |
Robinson R22 |
There are already multiple mission files generated in /data
. They are stored in directories with the pattern data/Landing_Challenges-[ICAO_AIRPORT_CODE]-[AEROFLY_AIRCRAFT_CODE]/
. These files are in each directory:
-
custom_missions_user.tmc
: Mission file with multiple emissions -
[ICAO_AIRPORT_CODE]-[AEROFLY_AIRCRAFT_CODE].geojson
: A GeoJSON file containing the airport properties and the plane in mission #1 -
README.md
: Quick summary of all missions
See the installation instructions on how to import the missions into Aerofly FS 4.
This projects uses the public APIs of the Aviation Weather Center. The usage of these APIs may be restricted or blocked on your local computer. The data may also be incoherent with your local state of Aerofly FS 4.
Author: Frank Boës 2024
Copyright & license: See LICENSE.txt
This tool is NOT affiliated with, endorsed, or sponsored by IPACS GbR. As stated in the LICENSE.txt, this tool comes with no warranty and might damage your files.
This software complies with the General Data Protection Regulation (GDPR) as it does not collect nor transmits any personal data to third parties, but for the usage of the Aviation Weather Center API. For their data protection statement you might want to check their terms of service.