muttleyxd / arma3-unix-launcher

Launcher for Linux and Mac ArmA 3
MIT License
210 stars 44 forks source link

Arma 3 + DayZ SA Unix Launcher

Codacy Badge Build Status Actions Status

A clean, intuitive Arma 3 + DayZ SA Launcher for GNU/Linux and MacOS.

Since Bohemia Interactive's developers have not ported the official Arma 3 and DayZ Launchers to GNU/Linux and MacOS, and the existing Steam Proton launch options did not satisfy the community's needs, I decided to create a new one. The Arma 3 + DayZ SA Unix Launcher is intuitive, working with all of Bohemia Interactive's launch parameters for each title and integrating neatly with mod subscriptions in the Steam Workshop.

Table of contents

Installing

From package

There are GNU/Linux and MacOS packages available in the releases tab!

The following package types are available:

For Arch-based distributions, there is also an AUR package available (for Arma 3). It is called arma3-unix-launcher-bin.

yay -S arma3-unix-launcher-bin

Building from source

Requirements:

Debian-based (Debian, Ubuntu)

apt install cmake qt5-default libqt5widgets5 libqt5svg5 libqt5svg5-dev libfmt-dev libspdlog-dev

Arch-based (Arch Linux, Manjaro)

pacman -S cmake fmt nlohmann-json pugixml qt5-base qt5-svg spdlog

Fedora

dnf install gcc gcc-c++ cmake libcurl-devel qt5-qtbase qt5-qtsvg qt5-qtbase-devel qt5-qtsvg-devel spdlog-devel

MacOS

brew install gcc cmake qt5

Build process for Arma 3

git clone https://github.com/muttleyxd/arma3-unix-launcher.git
cd arma3-unix-launcher
mkdir build
cd build
cmake ..
make

Launch with

./src/arma3-unix-launcher/arma3-unix-launcher

You may wish to add a shell alias to .bashrc or similar, such as:

alias arma="$HOME/arma3-unix-launcher/build/src/arma3-unix-launcher/arma3-unix-launcher"

Then, you simply would type arma in order to open the launcher.

Build process for DayZ

git clone https://github.com/muttleyxd/arma3-unix-launcher.git
cd arma3-unix-launcher
mkdir build
cd build
cmake .. -DBUILD_DAYZ_LAUNCHER=ON
make

Launch with

./src/dayz-linux-launcher/dayz-linux-launcher

You may wish to add a shell alias to .bashrc or similar, such as:

alias dayz="$HOME/arma3-unix-launcher/build/src/dayz-linux-launcher/dayz-linux-launcher"

Then, you simply would type dayz in order to open the launcher.

Launch parameters

Usage: arma3-unix-launcher [options] 

Optional arguments:
-h --help           show this help message and exit
-l --list-presets   list available mod presets
-p --preset-to-run  preset to run, launcher will start Arma with given mods and exit
--server-ip         server ip to connect to, usable only with --preset-to-run
--server-port       server port to connect to, usable only with --preset-to-run
--server-password   server pasword to connect to, usable only with --preset-to-run
-v --verbose        verbose mode which enables more logging

Example:

arma3-unix-launcher --preset-to-run testmod --server-ip 127.0.0.1 --server-port 1234 --server-password asdasd

Screenshots

DayZ Installation

Before trying to run DayZ via Steam Proton, be sure to increase the max_map_count:

sudo sysctl -w vm.max_map_count=1048576 

1) Install the game with "Force the use of a specific Steam Play compatibility tool" checked and set to "Proton Experimental."

2) Install "Proton Battleye Runtime."

3) Install the arma3-unix-launcher with the new DayZ SA option (here).

4) In the DayZ Unix Launcher, go to Parameters. Check "Skip intro" and "Skip logos at startup."

5) Join a modded server in this way. First, subscribe to the required mods in the Steam Workshop. Second, if possible, ask the server administrator for an .html list that you can simply "open" to check the exact required set of mods at once in muttley's launcher. Third, directly connect to the server via muttley's launcher by entering the IP address, port, and password in Parameters -> Client. Fourth, click "Start."