ArmaQDL - Theseus-Aegis/MissionTemplate GitHub Wiki
ArmaQDL is a Python program that simplifies launching Arma in various development configurations, and for purposes of mission making, makes testing your missions in a complete multiplayer environment easily possible without interacting with any of the Theseus servers.
It supports the following features to make mission testing easier:
- Load mission via mission name only or specifying profile name
- Open the last log file
- Select the profile to start with
- Easy dedicated server and headless client launching
- Load mission on dedicated server
- Join server
You can use ArmaQDL using any terminal application: PowerShell (recommended), Command Prompt, Bash etc.
This guide expects you to use a terminal application throughout and will only use the word "terminal" to describe it. $
means it is a terminal command and you should not type it, only what follows it.
You can install ArmaQDL in 3 ways, using WinGet (recommended) or as a Standalone application.
The third way is for advanced users and is documented on the ArmaQDL page.
Open a terminal and install ArmaQDL.
$ winget install ArmaQDL
Download armaqdl.exe
from latest release and place it in a convenient location, then add that location to PATH
so it can be used from anywhere:
- Click on Start and search for "environment".
- Open "Edit the system environment variables".
- Go to the "Advanced" tab and choose "Environment Variables".
- In the top list select the line that says "Path" and click on "Edit".
- Click "New" and enter the folder where your
armaqdl.exe
is.- Example:
C:\Arma\armaqdl.exe
is your ArmaQDL, you would setC:\Arma
as the path.
- Example:
- Click "OK", close and re-open the terminal.
Open a terminal and run ArmaQDL once to generate configuration files without launching Arma (add .exe
if armaqdl
alone does not find it).
$ armaqdl
Modify the settings file which can be found at %AppData%\ArmaQDL\settings.toml
:
- Set the
profile
name you wish to use (should be same one as you are using for making missions). - Set
[locations.main] -> path
to the folder where your modpacks are stored.- Example:
<steamapps>/common/Arma 3/tac_core
is your Core modpack, you would set<steamapps>/common/Arma 3
as the path.
- Example:
- (Optional) set
[locations.workshop] -> path
to your Workshop folder.
Required only for testing with a Dedicated Server.
Download Theseus server.cfg
and place it next to arma3_x64.exe
where your Arma 3 is installed, then edit the following values inside it:
-
hostname
to whatever server name you wish. -
password
to the same value as[server] -> password
insettings.toml
. -
passwordAdmin
to whatever password you require. -
verifySignatures
to0
.
Additionally create the userconfig/tac
sub-folder next to arma3_x64.exe
, download the userconfig/tac/auth.hpp
and place it inside.
File structure at the end should look like this:
Arma 3
├── arma3_x64.exe
├── server.cfg
└── userconfig
└── tac
└── auth.hpp
Every example uses -nfp
which disables file patching. This is by default enabled but only used when developing mods.
Every example will also open the RPT log so you can follow it and search for any errors or warnings.
Example 1: (launch with Theseus modpack straight to the editor)
Launches Arma with Theseus Core modpack and loads a given mission from the default profile (set in settings.toml
).
$ armaqdl -nfp main:wss main:tac_core/* -m tac_co_MyMission.Altis
Example 2: (launch and join a Dedicated Server)
Launches Dedicated Server with Theseus Core modpack and loads a given mission from the default profile (set in settings.toml
).
$ armaqdl -nfp main:wss main:tac_core/* -m tac_co_MyMission.Altis -s
Launches Headless Client with the same configuration and makes it join the launched server.
$ armaqdl -nfp main:wss main:tac_core/* -hc
Launches regular player client with the same configuration and joins the launched server.
$ armaqdl -nfp main:wss main:tac_core/* -j
Note: Mission (with -m
) can be passed to Headless Client or player joining a server, but will not be used.
If you wish to know more about ArmaQDL and its other uses such as building and testing mods, you can read about it here.