Navigation

  • index
  • next |
  • previous |
  • Antistasi Guide documentation »
  • Dev Guide »
  • How to build Antistasi

Logo of Antistasi Guide

Table of Contents

  • Beginners Guide for Antistasi v3.0
  • Detailed Reference Guide
  • Dev Guide
    • General
    • Development
      • Dev Tools Starter Setup
      • How to build Antistasi
        • Common setup
        • With AntistasiBuilder
        • With VS code Arma Dev Extension
        • With Arma 3 Tools
      • Antistasi Porting Instructions
      • How to Extend Antistasi?
      • Technical Standards for Core Code Contributions
      • Addon Functions & Folders Library
      • Debug Console Commands for Devs
      • Translation-Localization of Antistasi via Tolgee
    • Deprecated

GitHub

Star
Follow @official-antistasi-community

How to build Antistasi

Please note that this part is still heavily work in progress. For more dev related information please go to our Antistasi-Wiki-for-Devs.

Antistasi of course can’t simply be run as a loose collection of files slapped together in a folder - it needs to be build first.
There are different ways how that can be accomplished. Be it from within VS Code, with the Arma 3 Tools or our own AntistasiBuilder.
The guide below is only for Version 2.6.0 and onwards. If you want to build older version look here.

Common setup

Common setup

Install Arma 3 Tools in the same steam library that Arma 3 is installed.

With AntistasiBuilder

With AntistasiBuilder

First time

  • AntistasiBuilder can be found under Tools/Builder/

  • run the program once, this will generate a config file called AntistasiBuilder.cfg

  • open the config file and add the path to the arma 3 tools direcotry under -a3ToolsDir="PATH". For example: -a3ToolsDir="H:SteamLibrarysteamappscommonArma 3 Tools"

  • save the config file, close it.

Building the mod

To build the mod run antistasiBuilder. The mod will have been built under the build folder in the repository root.

With VS code Arma Dev Extension

With VS code Arma Dev Extension

  • Install extension from marketplace

  • configure the extension from the Antistasi workspace by opening the command pallet Ctrl/ ⌘ + Shift + P and running the Arma 3: configure command

  • fill in the configuration .json file something like this

{
   "title": "A3 Antistasi",
   "name": "A3A",
   "author": "Official Antistasi dev team",
   "website": "https://antistasi.de/",
   "version": "2.5.4",
   "buildPath": "build",
   "privateKey": "", //add the path to a private bikey for signing when building
   "serverDirs": [],
   "serverUse32bit": false,
   "clientDirs": [ //should list all addons the mod provides
          "A3A/addons/config_fixes",
          "A3A/addons/core",
          "A3A/addons/Events",
          "A3A/addons/Garage",
          "A3A/addons/gear",
          "A3A/addons/GUI",
          "A3A/addons/jeroen_arsenal",
          "A3A/addons/Logistics",
          "A3A/addons/maps",
          "A3A/addons/patcom"
     ],
   "clientMods": [
      // Example:
          // "!Workshop/@CBA_A3",
          // "!Workshop/@ace",
          // "!Workshop/@User Input Menus",
          // "!Workshop/@Extended Function Viewer",
          // "!Workshop/@Debug Console",
          // "!Workshop/@Zeus Enhanced",
          // "!Workshop/@Zeus Enhanced - ACE3 Compatibility",
          // "!Workshop/@Enhanced Movement",
          // "!Workshop/@DUI - Squad Radar"
   ],
   "ftpConnection": {},
   "steamPath": "H:\\SteamLibrary" //arma 3 install steam library, arma 3 tools should be in the same folder
}
  • Run the command Extensions: Open Extension Folder and navigate to ole1986.arma-dev-0.0.20 -> out -> helpers -> runArma.js -> ln 54 and add -debug to the list

let args = [
       '2', '1', '0', '-exe', 'arma3_x64.exe',
       '-mod=' + clientMods.join(';'),
       '-nosplash',
       '-world empty',
       '-skipIntro',
       '-debug'
   ];
  • now run the Arma 3: Build command, this will output into your build folder with packed addons (and signed if you have a key designated)

  • run the Arma 3: Toggle code live command this will create symlinked folders in your arma directory for filepatching, allowing “live editing” of code, by editing the source files (dosnt include anything processed by the config.cpp)

  • run the Arma 3: Run client or Arma 3: Run client (with logging) command arma should start with everything ready for you, (the logging alternate will open the rpt thats created on arma launch)

With Arma 3 Tools

With Arma 3 Tools

Packing

  • open Addon Builder from Arma 3 Tools

  • click options
    • add to List of files to copy directly this line *.p3d;*.paa;*.hpp;*.sqf

    • click the tree dots next to Path to project folder and navigate to the repository’s A3A folder

    • add the prefix in the format xA3A{folder to build}

    • optionally add a path to a .biprivatekey for signing, this allows you to leave key verification on for dedicated server testing

  • back in the main window, add a source directory, this will be in turn each addon folder in repository -> A3A -> addons -> {folder to build}

  • add a destination folder, this would be for example: repository -> build -> @A3A -> addons

  • ensure for testing that it dosnt binarize the files

  • now to simply press build and repeat for each folder in the A3A -> addons

Running

  • copy the folder in your build directory to your arma 3 directory (or symbolic link it, recommended)

  • in the arma 3 launcher, under the Mods tab, click ... More -> Add watched folder... -> Add 'Arma 3' folder. This will automatically add local mods in your arma directory to your mods list for easy loading.

Live editing

  • For live editing you need to create this folder structure in your arma 3 directory xA3Aaddons, and the create symbolic links from each folder in your repositorys A3Aaddons folder to the one in your arma directory.

  • Next you need to go in your ArmA 3 launchers Parameters tab and under All Parameters section Advanced tick of the parameter Enable File-Pathcing, then under the section Author tick of the parameter Debug Mode. I recommend favoriting these two for ease of use later on.

  • Now when you start with the build loaded under the Mods tab, it will start in Dev mode and allow for recompilation of functions on the go either by reloading the missing or by calling the function A3A_fnc_prepFunctions.

Navigation

  • index
  • next |
  • previous |
  • Antistasi Guide documentation »
  • Dev Guide »
  • How to build Antistasi
© Copyright 2024, Official Antistasi Community. Last updated 2024/October/14