Skip to main content

Python program for quick launching various mod development configurations for Arma through a simple CLI.

Project description

ArmaQDL

CI - Test CI - Build PyPI - Version PyPI - Python Version

Python program for quick launching various mod developement configurations for Arma through a simple CLI.

Through easily-identifiable preset locations, this program can provide a fast and developer-friendly CLI with some additional optional features, such as building mods and opening the last log file. It is designed around easily modifiable location groups and build tools.

Features

  • Easy mod launching from different preset locations
  • Load mission via mission name only or specifying profile name
  • Build development mods
  • Open the last log file
  • Select the profile to start with
  • Toggle file patching, script errors, signature check and windowed mode
  • Mod location wildcards (glob pattern matching)
  • Easy dedicated server and headless client launching
  • Load mission on dedicated server (by manipulating server.cfg)
  • Join server

Installation

ArmaQDL is distributed on PyPI as well as a Standalone executable (Windows only).

  • Use Standalone if you are on Windows and don't have Python installed.
  • Use PyPI if you have Python installed or are not using Windows.

PyPI provides easier updating of ArmaQDL, while Standalone requires manual updates.

Standalone

Download armaqdl.exe from latest release and place it in a convenient location.

Open Command Prompt, PowerShell or any other terminal application, navigate to the location of armaqdl.exe and run it once to generate configuration files without launching Arma.

# Command Prompt
$ armaqdl
# PowerShell
$ .\armaqdl

Note: Add .exe if armaqdl is not enough to find the executable.

PyPI

Installation as a user is recommended to avoid permission issues with CLI script installation.

$ pip install --user ArmaQDL

Note: Add pip installation directory to PATH environmental variable to use it directly.

Run it once to generate configuration files without launching Arma.

# Directly (only works if in PATH)
$ armaqdl
# As a Python module
$ python -m armaqdl

Setup

You should modify the default settings to your needs. Launching without setup may create a new profile and result in failed launches.

Settings file can be found in your operating system's standard configuration directory, usually:

  • Windows: %AppData%\ArmaQDL\settings.toml
  • Linux: ~/.config/ArmaQDL/settings.toml

Settings are in TOML format and can be edited with any text editor.

Usage

ArmaQDL is a CLI script, view all the options with the --help flag.

$ armaqdl -h

Note: All examples use armaqdl to launch ArmaQDL, replace it appropriately depending on your install.

Example 1:

Launches Arma with CBA from P-drive, ACE3 from Workshop install and ACRE2 from local development folder. Additionally builds ACRE2 mod and opens the latest log file. Loads Arma directly into the editor using the specified mission from the "Soldier" profile.

$ armaqdl p:x\cba workshop:@ace dev:acre2:b -m Soldier:test.vr

Specific build tool can also be specified, such as HEMTT:

$ armaqdl p:x\cba workshop:@ace dev:acre2:bhemtt -m Soldier:test.vr

Example 2:

Launches Arma Server with CBA from P-drive and loads specified mission from default profile's missions folder, copying it to the server in the process.

$ armaqdl p:x\cba -m test.vr -s

Launches Arma with CBA from P-drive and connects to the given server with the given password (-j defaults to the settings file).

$ armaqdl p:x\cba -j 192.168.1.1:2302:test

Development

ArmaQDL uses Hatchling as a build backend and flake8 as a style guide.

$ pip install --user -e .

Hatch is the primary project manager of choice, but any project adhering to PEP 621 (pyproject.toml specification) can be used.

# Run development build
$ hatch run armaqdl
# Lint with flake8
$ hatch run lint
# Test with pytest
$ hatch run test
# Bundle with PyInstaller
$ hatch run static:bundle

Limited Linux support exists for testing purposes, but launching Arma or opening the last log file is not supported. Contributions are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

armaqdl-0.6.0.tar.gz (12.3 kB view hashes)

Uploaded Source

Built Distribution

armaqdl-0.6.0-py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page