fsactl

Install and update MSFS2020 addons


Keywords
FlightSimulator, FS2020, MSFS2020, Flight, Simulator, Addon, AddonManager, flight-simulator, python, windows
License
GPL-3.0+
Install
pip install fsactl==0.1.2

Documentation

GitHub PyPI - Python Version PyPI - Wheel GitHub release (latest SemVer) GitHub Release Date PyPI - Status GitHub code size in bytes

MS FlightSimulator 2020 Addon Control

fsactl is a program to download, install, update, build and manage your FlightSimulator addons.

Development

This program is currently under development.

Installation

fsactl is written in Python. The installation is straight forward. Just run pip install fsactl. fsactl will be installd from the Python Package Index (PyPi).

You will find more information in the documentation.

Configuration File

Create a directory named fsactl in your My Documents directory and create a file called config.yaml in it with a configuration like the following:

---

# This is a comment

msfs:
  addon_dir: E:/MSFS-ADDONS  # A directory where your addons can be stored and managed
  community_dir: E:/MSFS/Community  # Your community folder
  addons:
    - github: pimarc/pms50-gns530   # A prebuild addon from github
    - github: lmk02/B787-XE  # A nother one
    - github: saltysimulations/salty-747  # This addon needs a build step
      build:
        - path: "{{ addon_path }}"  # build directory
          command: python build.py  # build command
    - github: r9r-dev/fs2020-vl3-rotax915  # This addon must be build in two steps
      build:
        - path: "{{ addon_path }}"  # first build directory
          command: update-layout.bat  # first build command
        - path: "{{ addon_path }}/community-vl3rotax915"  # second build directory
          command: "python {{ addon_path }}/build.py"  # second build command
    - github: Working-Title-MSFS-Mods/fspackages
      install:  # Don't use autodiscovery. Install one or more directories of a single source
        - "{{ addon_path }}/build/workingtitle-g3000"  # install the g3000 update
        - "{{ addon_path }}/build/workingtitle-g1000"  # install the g1000 update
        - "{{ addon_path }}/build/workingtitle-aircraft-cj4"  # install the cj4 update
      build:
        - path: "{{ addon_path }}"
          command: powershell.exe "Set-ExecutionPolicy Bypass -Scope Process -Force; .\build.ps1 workingtitle-project-g3000.xml"
        - path: "{{ addon_path }}"
          command: powershell.exe "Set-ExecutionPolicy Bypass -Scope Process -Force; .\build.ps1 workingtitle-project-g1000.xml"
        - path: "{{ addon_path }}"
          command: powershell.exe "Set-ExecutionPolicy Bypass -Scope Process -Force; .\build.ps1 workingtitle-project-cj4.xml"

Be sure to use slashs / instead of backslashs in paths.

You will get a more detailed Documentation to this in the near future.

Usage

$ fsactl
usage: fsactl [-h] [--version] [-d] {update,download,make,install} ...

positional arguments:
  {download,update,make,install}
    download            Download new addons
    update              Update and build addons
    make                Force to rebuild the addons
    install             Install addons

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -d, --debug           Enables debugging mode.

Semantic Versioning

This repository uses SemVer for its release cycle.

Branching Model

This repository uses the git-flow branching model by Vincent Driessen. It has two branches with infinite lifetime:

The master branch gets updated on every release. The develop branch is the merging branch.

License

Copyright © 2020 Michael Sasser Info@MichaelSasser.org. Released under the GPLv3 license.