Giter Site home page Giter Site logo

arma3-unix-launcher's Introduction

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:

  • pkg.tar.xz (for Arch-based distributions) (arma3-unix-launcher)
  • deb for Ubuntu 16.04 and 18.04 (arma3-unix-launcher)
  • dmg for MacOS (arma3-unix-launcher)
  • AppImage for any GNU/Linux distribution running glibc 2.23 or newer (both arma3-unix-launcher and dayz-linux-launcher)

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:

  • GCC 8 or newer (Clang with C++17 support should work too)
  • CMake 3.11
  • Qt5 with SVG support, version 5.9 or later
  • fmt (optional)

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."

arma3-unix-launcher's People

Contributors

beef331 avatar c3ypt1c avatar dahlgren avatar dascapschen avatar elpasmo avatar eutyches avatar graves501 avatar her001 avatar memchr avatar muttleyxd avatar rharvest avatar serviushack avatar stuartm avatar thesn0wdev avatar trimoon avatar uncle-sagbag avatar vurtualruler98 avatar weilbyte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arma3-unix-launcher's Issues

Mods are not Installing

I see the mods from my mods list in the launcher but they won't install I don't think. And even after trying to enable them through the launcher, Arma still shows that as not enabled.

Mods appear in main menu but doesn't work

I use Arma 3 with Steamplay. When I select the mods in Arma3-unix-launcher the game starts and mods are show in the down left part of the main menu, but when I check servers that uses that mods they show as no available and if I try to join anyway some errors appear (Warning Message: You cannot play/edit this mission; it is dependent on downloadable content that has been deleted) regarding some of the files of the mods.

Even If I wan to host my own server mods (like maps) doesn't show in the options.

Program received signal SIGABRT

KDE Neon (Ubuntu 16.04 based)
GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

gdb ./arma3-unix-launcher
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Warning: /home/rake/bin/opt/VulkanSDK/1.0.21.1/source/layers: No such file or directory.
Warning: /home/rake/bin/opt/VulkanSDK/1.0.21.1/source/loader: No such file or directory.
Warning: /home/rake/bin/opt/VulkanSDK/1.0.21.1/examples: No such file or directory.
Warning: /mnt/store/UnrealEngine/Unrealcourse/04_BattleTank/BattleTank/Source: No such file or directory.
Warning: /mnt/store/UnrealEngine/Unrealcourse/04_BattleTank/BattleTank/Source/BattleTank: No such file or directory.
Reading symbols from ./arma3-unix-launcher...done.
(gdb) r
Starting program: /home/rake/src/arma3-unix-launcher/build/arma3-unix-launcher
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[2017-03-31 17:18:31] ArmA 3 Unix Launcher started
terminate called after throwing an instance of 'Gtk::BuilderError'
Program received signal SIGABRT, Aborted.
0x00007ffff5851428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

(gdb) bt full
#0 0x00007ffff5851428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
resultvar = 0
pid = 12857
selftid = 12857
#1 0x00007ffff585302a in __GI_abort () at abort.c:89
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x7ffff5be0540 <IO_2_1_stderr>, sa_sigaction = 0x7ffff5be0540 <IO_2_1_stderr>},
sa_mask = {__val = {140737312803839, 140737316259136, 2, 2, 140737348282448, 140737316259584, 8280688, 140737353189920,
8280544, 1, 140737353192272, 8280544, 140737319053290, 140737488342592, 140737488346032, 140737348282448}},
sa_flags = -169314176, sa_restorer = 0x7ffff7a6a850 }
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007ffff5e8a84d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3 0x00007ffff5e886b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4 0x00007ffff5e88701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5 0x00007ffff5e88919 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6 0x00007ffff7985e87 in Gtk::BuilderError::throw_func(_GError*) () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
No symbol table info available.
#7 0x00007ffff7231d12 in Glib::Error::throw_exception(_GError*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
No symbol table info available.
#8 0x00007ffff79864db in Gtk::Builder::add_from_file(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
No symbol table info available.
#9 0x00007ffff7986510 in Gtk::Builder::create_from_file(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
No symbol table info available.
#10 0x00000000004707e1 in main (argc=0, argv=0x7fffffffdbb8) at /home/rake/src/arma3-unix-launcher/main.cpp:120
app = {pCppObject
= 0x7402d0}
MainFormPath = "/home/rake/src/arma3-unix-launcher/MainForm.glade"
builder = {pCppObject
= 0x7ffff7fbe9f0}
mainWindow = 0x7ffff7fbe9f0
(gdb)

on Linux mint

Hello Muttleyxd,

on mint 17.3 it doesn't work I tried
with arma3-unix-launcher_master-44-4bb538e-debian-x86_64.deb

"arma3-unix-launcher [2017-11-25 17:59:58] ArmA 3 Unix Launcher started
[2017-11-25 17:59:58] Can't open /home/lele/.local/share/Steam/config/config.vdf
Critical error

[2017-11-25 17:59:58] Can't open /home/lele/.local/share/Steam/config/config.vdf
Critical error

arma3-unix-launcher: symbol lookup error: arma3-unix-launcher: undefined symbol: _ZN3Gtk7Builder16create_from_fileERKSs "

with arma3-unix-launcher_master-44-4bb538e-ubuntu-x86_64.deb

arma3-unix-launcher arma3-unix-launcher: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by arma3-unix-launcher

bye
Lele

arma 3 update to contact dlc on proton issues

hi

sorry, this won't be technical but hopefully, you can figure it out and how to avoid it.

the update to the contact DLC breaks i think due to the symlinks created for the exe's by the arma3-unix-launcher. When i tried to launch Arma view either directly in steam or via the arma3-unix-launcher it failed. I had to copy the original exe's from arma3 from my windows pc to my Linux pc to fix it in which the arma3-unix-launcher now also works.

if thats the case is there a way to avoid it like backing up the exe files and restoring them after the launcher exists?

thanks for your great work!

no quit button

there is a little problem, preventing use of this launcher in tiling window managers without window decoration - the lack of the quit button. I can only kill it with xkill or command line.

Arma3 proton version launch fails without errors.

Hi i am running the Arma3 proton version (proton v4.11-12)
The game starts fine using the steam interface but...

When i try to use this "arma3-unix-launcher", it won't start the game...
When i start this launcher using --verbose via command-line and closing when nothing happened i noticed these lines:

[2020-02-02 13:52:47] Writing to file /SteamGameLib/<MYUSERNAME>steamapps/common/Arma 3/../../compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/Arma3.cfg
[2020-02-02 13:52:47] File write success
[2020-02-02 13:52:47] Arma3.cfg:
--------------------
 ...
--------------------
[2020-02-02 13:52:47] Arma 3 launch command:
/SteamGameLib/<MYUSERNAME>/steamapps/common/Arma 3/arma 
[2020-02-02 13:53:35] onExit()
 ...
[2020-02-02 13:53:35] Writing to file /home/<MYUSERNAME>/.config/a3unixlauncher/settings.conf
[2020-02-02 13:53:35] File write success

The problem is IMHO that there is no plain "arma" file inside that directory.
Plus i don't think i have special settings on my Kubuntu 19.10 that allows to launch windows apps via the commandline.

Is there a way you could make this launcher use steam to launch the app instead of trying to launch it directly?

Directory errors and crash

Hello! Thank you very much for this app.

I have just manually compiled master branch, and issue persists.

$ ./arma3-unix-launcher
[2018-09-04 00:28:37] ArmA 3 Unix Launcher started
GTK+ version: 3.22.30
Glib version: 2.56.2
[2018-09-04 00:28:37] ArmA 3 Path: /home/adam/.local/share/Steam/steamapps/common/Arma 3
Workshop mods path: /home/adam/.local/share/Steam/steamapps/workshop/content/107410
[2018-09-04 00:28:37] Creating Arma3.cfg backup...
[2018-09-04 00:28:37] Backup file already exists... restoring it
[2018-09-04 00:28:37] Directory error @fallujah
[2018-09-04 00:28:37] Directory error @ats Island (Alpha)
[2018-09-04 00:28:37] Directory error @Hazar-Kot Valley
[2018-09-04 00:28:37] Directory error @mountain Wilderness Terrain
[2018-09-04 00:28:37] Directory error @goko ballistic Impact
[2018-09-04 00:28:37] Directory error @kunduz, Afghanistan
[2018-09-04 00:28:37] Directory error @ruha
[2018-09-04 00:28:37] Directory error @BlastCore Edited (standalone version)
[2018-09-04 00:28:37] Directory error @@saba
[2018-09-04 00:28:37] Directory error @fallujah
[2018-09-04 00:28:37] Directory error @ats Island (Alpha)
[2018-09-04 00:28:37] Directory error @Hazar-Kot Valley
[2018-09-04 00:28:37] Directory error @mountain Wilderness Terrain
[2018-09-04 00:28:37] Directory error @goko ballistic Impact
[2018-09-04 00:28:37] Directory error @kunduz, Afghanistan
[2018-09-04 00:28:37] Directory error @ruha
[2018-09-04 00:28:37] Directory error @BlastCore Edited (standalone version)
[2018-09-04 00:28:37] Directory error @@saba
[2018-09-04 00:28:37] Not a symlink found in ModDirs!
[2018-09-04 00:28:37] Not a symlink found in ModDirs!
[2018-09-04 00:28:37] Status monitoring thread started
Segmentation fault (core dumped)

These are all mods that I have unsubscribed from within the last few weeks. I am not subscribed to any currently.
I noticed the issue only when running the launcher with Steam in offline mode.

I apologize for any lack of oversight.

dependencies missing when installing from AUR package

After running $ yay -S arma3-unix-launcher, waiting for it to finish installing, and then running it from the command line I get this:

[user@machine]: ~>$ arma3-unix-launcher
arma3-unix-launcher: error while loading shared libraries: libpugixml.so.1: cannot open shared object file: No such file or directory

This isn't a very high priority issue as i can just install the dependencies separately but this wouldn't be too hard to fix either.

Readme addition (cmake)

Seems you forgot to mention that you also need to install cmake at README.md#debian-package
Otherwise you can't do the step cmake .. 😉
After that it seems to succeed without errors on my Kubuntu 19.10 so far 👍

Mod load order?

Is it possible to specify or see the load order of the mods?

command-line for autostart with config to use?

Is there a command-line to autostart arma3 using an arma3-unix-launcher config file of choice?
This would be very handy to create desktop files with menu entries etc...
Ofcourse this would imply auto-exit of the unix launcher upon exit of the game 😉

Download mods from workshop

Hi !
I really like your launcher, but even though I subscribed to mods on the Arma 3 workshop, they don't appear in the launcher (see picture for an example).
subscribed_mod
arma_launcher

I really don't know what I should do, am I doing something wrong ? Or is your launcher not intended to do that ?

Best regards

Launcher freezes when game CTD's

When I try using some mod that CTDs me then the launcher freezes and the cpu usage goes up to 25% taking one core for itself.
Kinda annoying since it takes alot of tries to get a mod working on linux unless I'm doing something wrong when spawning units in the editor.

Launcher looking for Steam workshop mods in the wrong location

The launcher did not detect mods installed by the Steam workshop. This is because it looks for workshop mods in /home/$USER/workshop/content/107410, while Steam installs them to /home/$USER/.local/share/Steam/steamapps/workshop/content/107410/. I tried changing this in the launcher config file (/home/$USER/.config/a3unixlauncher/settings.conf), but this is reverted when I then open the launcher.
My workaround for this issue was ln -s /home/$USER/.local/share/Steam/steamapps/workshop/ /home/$USER/workshop

Mac OSX launcher not installing

-unix-launcher/mac_installer/install-mac.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1194 100 1194 0 0 3518 0 --:--:-- --:--:-- --:--:-- 3522
Denises-MBP:~ bensull$ chmod +x ./install-mac.sh
Denises-MBP:~ bensull$ ./install-mac.sh
Checking for git
Checking for Homebrew installation...
Checking for Gtkmm3
Gtkmm3 is installed
Checking for CMake
CMake is installed
Cloning git repository
Cloning into 'arma3-unix-launcher'...
remote: Counting objects: 528, done.
remote: Total 528 (delta 0), reused 0 (delta 0), pack-reused 528
Receiving objects: 100% (528/528), 132.77 KiB | 86.00 KiB/s, done.
Resolving deltas: 100% (324/324), done.
-- The C compiler identification is AppleClang 9.0.0.9000039
-- The CXX compiler identification is AppleClang 9.0.0.9000039
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/local/Cellar/cmake/3.12.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.12.0/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/local/Cellar/cmake/3.12.0/share/cmake/Modules/FindPkgConfig.cmake:39 (find_package_handle_standard_args)
CMakeLists.txt:7 (find_package)

-- Configuring incomplete, errors occurred!
See also "/Users/denisesullivan/a3unixlauncher/arma3-unix-launcher/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
ArmA 3 Unix Launcher built successfully. Moving it into /Applications/
mv: rename arma3-unix-launcher.app to /Applications/arma3-unix-launcher.app: No such file or directory
Denises-MBP:~ bensull$

Im a bit of a noob so may need some help fixing this

Mods that have a version in their name don't get their symlinks updated when they update

Take "CUP Vehicles 1.13.0" for example. If the mod were to update, and the name became "CUP Vehicles 1.13.1", then the launcher updates what's listed appropriately, and the generated Arma3.cfg file has the correct path, but the !Workshop folder symlinks don't update with that name.

At present, every time this happens, I have to manually run arma3-unix-launcher --purge, rerun Arma 3 manually from Steam, and then reopen the launcher to make this work again. Could this be made easier or automatic on a version change?

Failed to start [ glibmm-CRITICAL **: 17:15:25.002: Error in inter-thread communication: write() failed: Bad file descriptor]

I already attempted reinstalling it from the AUR, still no dice.
Verbose output:

[2019-10-06 17:15:24] ArmA 3 Unix Launcher started
[2019-10-06 17:15:24] Reading file /home/tacticaltux/.config/a3unixlauncher/settings.conf... 
[2019-10-06 17:15:24] File read successfully
GTK+ version: 3.24.10
Glib version: 2.60.6
[2019-10-06 17:15:24] Proton detected
[2019-10-06 17:15:24] Config path: /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3/../../compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/Arma3.cfg
[2019-10-06 17:15:24] Config file exists
[2019-10-06 17:15:24] ArmA 3 Path: /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3
Workshop mods path: /home/tacticaltux/.local/share/Steam/steamapps/workshop/content/107410
[2019-10-06 17:15:24] Creating Arma3.cfg backup...
[2019-10-06 17:15:24] Backup file already exists... restoring it
... -- Removed hundreds of "File Read Successfully"
[2019-10-06 17:15:24] File read successfully
[2019-10-06 17:15:24] Directory error @ "SurvivableCrashesv1.2 strerror: No such file or directory
[2019-10-06 17:15:24] Directory error @Prei Khmaoch Luong | ព្រៃខ្មោចលង strerror: No such file or directory
[2019-10-06 17:15:24] Directory error @JSRS Soundmod - 6.19.0126 - Specialist Military Arms Support strerror: No such file or directory
[2019-10-06 17:15:24] Directory error @JSRS Soundmod - 6.19.0126 - NIArms Arsenal Support strerror: No such file or directory
[2019-10-06 17:15:24] Checking file structure
[2019-10-06 17:15:24] !workshop -> /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3/!workshop
!custom -> /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3/!custom
[2019-10-06 17:15:24] Directory error @JSRS Soundmod - 6.19.0126 - Specialist Military Arms Support strerror: No such file or directory
[2019-10-06 17:15:24] Directory error @JSRS Soundmod - 6.19.0126 - NIArms Arsenal Support strerror: No such file or directory
... -- Removed successful file pointers
[2019-10-06 17:15:24] Directory error @ "SurvivableCrashesv1.2 strerror: No such file or directory
[2019-10-06 17:15:24] Directory error @Prei Khmaoch Luong | ព្រៃខ្មោចលង strerror: No such file or directory
[2019-10-06 17:15:24] Not a symlink found in ModDirs!
[2019-10-06 17:15:24] Dir/file /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3/!workshop/@TRYK's Multi-Play Unifrom's pack already exists
[2019-10-06 17:15:24] Dir/file /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3/!workshop/@NIArsenal already exists
[2019-10-06 17:15:24] Dir/file /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3/!workshop/@NIArsenal already exists
[2019-10-06 17:15:24] Dir/file /home/tacticaltux/.local/share/Steam/steamapps/common/Arma 3/!workshop/@KKA3 ACE Extension already exists
[2019-10-06 17:15:24] cbSkipIntro_Toggled: 0
[2019-10-06 17:15:24] cbNosplash_Toggled: 1
[2019-10-06 17:15:24] cbWindow_Toggled: 0
[2019-10-06 17:15:24] cbName_Toggled: 0
[2019-10-06 17:15:24] tbName_Changed: 
[2019-10-06 17:15:24] cbParameterFile_Toggled: 0
[2019-10-06 17:15:24] tbParameterFile_Changed: 
[2019-10-06 17:15:24] cbCheckSignatures_Toggled: 0
[2019-10-06 17:15:24] cbCpuCount_Toggled: 0
[2019-10-06 17:15:24] numCpuCount_Changed: 4.000000
[2019-10-06 17:15:24] cbExThreads_Toggled: 1
[2019-10-06 17:15:24] cbExThreadsFileOperations_Toggled: 1
[2019-10-06 17:15:24] cbExThreadsTextureLoading_Toggled: 1
[2019-10-06 17:15:24] cbExThreadsGeometryLoading_Toggled: 1
[2019-10-06 17:15:24] cbEnableHT_Toggled: 1
[2019-10-06 17:15:24] cbDisableMulticore_Toggled: 0
[2019-10-06 17:15:24] cbHugePages_Toggled: 0
[2019-10-06 17:15:24] cbFilePatching_Toggled: 0
[2019-10-06 17:15:24] cbNoLogs_Toggled: 0
[2019-10-06 17:15:24] cbShowScriptErrors_Toggled: 0
[2019-10-06 17:15:24] cbWorld_Toggled: 0
[2019-10-06 17:15:24] tbWorld_Changed: 
[2019-10-06 17:15:24] cbNoPause_Toggled: 1
[2019-10-06 17:15:24] cbConnect_Toggled: 0
[2019-10-06 17:15:24] tbConnect_Changed: 
[2019-10-06 17:15:24] cbPort_Toggled: 0
[2019-10-06 17:15:24] tbPort_Changed: 
[2019-10-06 17:15:24] cbPassword_Toggled: 0
[2019-10-06 17:15:24] tbPassword_Changed: 
[2019-10-06 17:15:24] cbHost_Toggled: 0
[2019-10-06 17:15:24] Status monitoring thread started

(arma3-unix-launcher:16984): glibmm-CRITICAL **: 17:15:25.002: Error in inter-thread communication: write() failed: Bad file descriptor
[tacticaltux@tacticaltux-pc ~]$ ```

Symlinking fails if a mod has a / in its name.

When subscribing to ZEC - Zeus and Eden Templates / Building Compositions and opening the Arma3 Unix Launcher, the terminal output throws an error when attempting to symlink this mod:

Symlink creation failed: /home/<my username>/.steam/steam/steamapps/workshop/content/107410/642912021->/home/<my username>/.steam/steam/steamapps/common/Arma 3/!workshop/@ZEC - Zeus and Eden Templates / Building Compositions

Although the mod.cpp file (and the launcher's GUI itself) calls the mod "[ZEC] Compositions", the meta.cpp has a larger name with the slash included, which fails the symlink probably because Linux is interpreting the / as a folder.

Launching Arma after selecting this mod just shows blank information since it never actually loaded the mod.

Can't read or write to Arma3.cfg

Just getting the following in terminal output, the Folder "Games" is actually a mounted ssd, how ever I have have set full permissions to read and write, any ideas what I missing?

[2020-02-27 08:02:53] Can't open file /home/drunkenalcoholic/Games/SteamLibrary/steamapps/common/Arma 3/../.
./compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/Arma3.cfg for read
[2020-02-27 08:02:53] Cannot read Arma3.cfg, creating directory mkdir -p $(realpath -m $(dirname "/home/drunkenalcoholic/Games/SteamLibrary/steamapps/common/Arma 3/../../compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/Arma3.cfg"))
[2020-02-27 08:02:53] Can't open file /home/drunkenalcoholic/Games/SteamLibrary/steamapps/common/Arma 3/../../compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/Arma3.cfg for write

steam integration question

I know it's still on the ToDo list, but does your launcher detect the steam install directory? The launcher keeps requesting arma3.i386 when pointed to the steam install directory.

Valgrind Reports Memory Leak

I just let the valgrind run the program and sadly found that it reports memory leaks. I do not yet know if this is a problem with the program, or Gtk.
I will investigate this further and try to fix the these memory leaks where possible.
Creating this issue simply as information / a reminder.

Problem compiling in Kubuntu 19.10 64bits

CMAKE 3.13.4-1build1

[ 10%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/Filesystem.cpp.o

[ 20%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/Logger.cpp.o
[ 30%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/MainWindow.cpp.o
In file included from /usr/include/glibmm-2.4/glibmm/thread.h:48,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/timeval.h:38:42: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
38 | inline TimeVal(const GTimeVal& gtimeval);
| ^
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/gtypes.h:549:26: note: declared here
549 | typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm/thread.h:48,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/timeval.h:39:53: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
39 | inline TimeVal& operator=(const GTimeVal& gtimeval);
| ^
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/gtypes.h:549:26: note: declared here
549 | typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm/thread.h:48,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/timeval.h:104:49: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
104 | inline TimeVal::TimeVal(const GTimeVal& gtimeval)
| ^
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/gtypes.h:549:26: note: declared here
549 | typedef struct GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm/thread.h:48,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/timeval.h:111:44: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
111 | TimeVal::operator=(const GTimeVal& gtimeval)
| ^
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/gtypes.h:549:26: note: declared here
549 | typedef struct GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:139:52: warning: ‘GThreadFunctions’ is deprecated [-Wdeprecated-declarations]
139 | void thread_init(GThreadFunctions* vtable = nullptr);
| ^
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:55:34: note: declared here
55 | typedef struct GThreadFunctions GThreadFunctions GLIB_DEPRECATED_TYPE_IN_2_32;
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:399:22: warning: ‘GStaticMutex’ is deprecated: Use 'GMutex' instead [-Wdeprecated-declarations]
399 | GStaticMutex* gobj() { return &gobject
; }
| ^
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:136:3: note: declared here
136 | } GStaticMutex GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GMutex);
| ^~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:403:16: warning: ‘GStaticMutex’ is deprecated: Use 'GMutex' instead [-Wdeprecated-declarations]
403 | GStaticMutex gobject
;
| ^~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:136:3: note: declared here
136 | } GStaticMutex GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GMutex);
| ^~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:525:25: warning: ‘GStaticRecMutex’ is deprecated: Use 'GRecMutex' instead [-Wdeprecated-declarations]
525 | GStaticRecMutex* gobj() { return &gobject
; }
| ^
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:152:33: note: declared here
152 | typedef struct GStaticRecMutex GStaticRecMutex GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRecMutex);
| ^~~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:529:19: warning: ‘GStaticRecMutex’ is deprecated: Use 'GRecMutex' instead [-Wdeprecated-declarations]
529 | GStaticRecMutex gobject
;
| ^~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:152:33: note: declared here
152 | typedef struct GStaticRecMutex GStaticRecMutex GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRecMutex);
| ^~~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:602:23: warning: ‘GStaticRWLock’ is deprecated: Use 'GRWLock' instead [-Wdeprecated-declarations]
602 | GStaticRWLock* gobj() { return &gobject
; }
| ^
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:193:31: note: declared here
193 | typedef struct GStaticRWLock GStaticRWLock GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRWLock);
| ^~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:606:17: warning: ‘GStaticRWLock’ is deprecated: Use 'GRWLock' instead [-Wdeprecated-declarations]
606 | GStaticRWLock gobject
;
| ^~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:193:31: note: declared here
193 | typedef struct GStaticRWLock GStaticRWLock GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRWLock);
| ^~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:787:24: warning: ‘GStaticPrivate’ is deprecated: Use 'GPrivate' instead [-Wdeprecated-declarations]
787 | GStaticPrivate* gobj() { return &gobject
; }
| ^
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:235:33: note: declared here
235 | typedef struct GStaticPrivate GStaticPrivate GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GPrivate);
| ^~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:791:18: warning: ‘GStaticPrivate’ is deprecated: Use 'GPrivate' instead [-Wdeprecated-declarations]
791 | GStaticPrivate gobject
;
| ^~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:235:33: note: declared here
235 | typedef struct _GStaticPrivate GStaticPrivate GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GPrivate);
| ^~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:1090:59: warning: ‘GStaticPrivate’ is deprecated: Use 'GPrivate' instead [-Wdeprecated-declarations]
1090 | void* StaticPrivate_get_helper(GStaticPrivate private_key);
| ^
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:235:33: note: declared here
235 | typedef struct _GStaticPrivate GStaticPrivate GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GPrivate);
| ^~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/thread.h:1100:96: warning: ‘GStaticPrivate’ is deprecated: Use 'GPrivate' instead [-Wdeprecated-declarations]
1100 | void StaticPrivate_set_helper(GStaticPrivate private_key, gpointer data, GDestroyNotify notify);
| ^
In file included from /usr/include/glib-2.0/glib.h:110,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/deprecated/gthread.h:235:33: note: declared here
235 | typedef struct _GStaticPrivate GStaticPrivate GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GPrivate);
| ^~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm/binding.h:22,
from /usr/include/glibmm-2.4/glibmm.h:97,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/object.h:73:15: warning: ‘GParameter’ is deprecated [-Wdeprecated-declarations]
73 | GParameter
parameters;
| ^~~~~~~~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:26,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/glibmm-2.4/glibmm/value.h:24,
from /usr/include/glibmm-2.4/glibmm/error.h:22,
from /usr/include/glibmm-2.4/glibmm/thread.h:47,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/gobject/gparam.h:194:28: note: declared here
194 | typedef struct _GParameter GParameter GLIB_DEPRECATED_TYPE_IN_2_54;
| ^~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:105,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/date.h:261:27: warning: ‘GTime’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
261 | void set_time(GTime time);
| ^
In file included from /usr/include/glib-2.0/glib.h:43,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/gdate.h:48:17: note: declared here
48 | typedef gint32 GTime GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~
In file included from /usr/include/glibmm-2.4/glibmm.h:105,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glibmm-2.4/glibmm/date.h:287:40: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
287 | void set_time(const GTimeVal& timeval);
| ^
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/gtypes.h:549:26: note: declared here
549 | typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~~~~
In file included from /usr/include/gdkmm-3.0/gdkmm.h:28,
from /usr/include/gtkmm-3.0/gtkmm.h:92,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/gdkmm-3.0/gdkmm/pixbufanimation.h:184:72: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
184 | Glib::RefPtr get_iter(const GTimeVal
start_time);
| ^
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glibmm-2.4/glibmm/thread.h:38,
from /usr/include/glibmm-2.4/glibmm.h:88,
from /usr/include/gtkmm-3.0/gtkmm.h:87,
from /home/otomo/arma3-unix-launcher/MainWindow.h:12,
from /home/otomo/arma3-unix-launcher/MainWindow.cpp:8:
/usr/include/glib-2.0/glib/gtypes.h:549:26: note: declared here
549 | typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~~~~
[ 40%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/Mod.cpp.o
[ 50%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/Settings.cpp.o
[ 60%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/Utils.cpp.o
[ 70%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/VDF.cpp.o
[ 80%] Building CXX object CMakeFiles/arma3-unix-launcher.dir/VDFKey.cpp.o
[ 90%] Linking CXX executable arma3-unix-launcher
[100%] Built target arma3-unix-launcher

Mod without @, can't find them

The launcher works without problem when detecting Arma 3 and when executing it without mod. But it can't find the mods that I download from WORKSHOP.
Captura de pantalla de 2020-04-03 18-20-25
Captura de pantalla de 2020-04-03 18-16-25

Fixes from Discord

Seems muttley's launcher doesnt work with old man cause it has " in the name
Replacing them in the .cfg with ' solved the launching issue
main issue is that the name and dir get
name="@ort "Old Man";
not sure if I'm not running this right but just running it from a build folder does this:
[2020-01-15 00:24:24] ArmA 3 Unix Launcher started
GTK+ version: 3.24.13
Glib version: 2.62.4
[2020-01-15 00:24:24] Config path: /home/stein/.steam/steam/steamapps/common/Arma 3/../../compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/Arma3.cfg
[2020-01-15 00:24:24] ArmA 3 Path: /home/stein/.steam/steam/steamapps/common/Arma 3
Workshop mods path: /home/stein/.steam/steam/steamapps/workshop/content/107410
[2020-01-15 00:24:28] Not a symlink found in ModDirs!
[2020-01-15 00:24:28] Not a symlink found in ModDirs!
[2020-01-15 00:24:28] Dir/file /home/stein/.steam/steam/steamapps/common/Arma 3/!workshop/@NIArsenal already exists

(arma3-unix-launcher:15375): gtkmm-CRITICAL **: 00:24:28.711: gtkmm: object `btnQuit' not found in GtkBuilder file.

(arma3-unix-launcher:15375): gtkmm-CRITICAL **: 00:24:28.711: gtkmm: Gtk::Builder: widget `btnQuit' was not found in the GtkBuilder file, or the specified part of it.

** (arma3-unix-launcher:15375): CRITICAL **: 00:24:28.711: Gtk::Builder::get_widget(): dynamic_cast<> failed.
[1]    15375 segmentation fault (core dumped)  ./arma3-unix-launcher  

Custom mods are never loaded

No matter what I do, mods selected from their folders which I have downloaded are never loaded by the app.
They're not written into the Arma3.cfg file, but workshop ones are.

This makes the custom mod selection unusable.

Startup crash with segfault from steam update (steamwebhelper cmdline starts with null character)

I first experienced the launcher crashing on launch from a segfault after a steam beta update, after rolling back to the stable client the crash stopped. After the beta update became stable, the crash returned. Doing some investigating with gdb, the segfault is in Utils.cpp on line 163, called from MainWindow.cpp line 319. The process it's looking at before crashing is a steamwebhelper zygote process, whose cmdline begins as " /steamwebhelper" (note leading space, in /proc/PID/cmdline it's a null character) and not "./steamwebhelper" like the others. The value "first" then becomes 0x0 instead of the process name when tokenized, which makes strcmp fail, I guess. Closing steam fixes the issue, as does killing the steamwebhelper processes, but neither is a good fix.

#28 might be related.

downloading/installing issues

Since installing it over the ubuntu software installer didnt work, i tried installing it via the source code.
but this error appears:

Err:1 http://de.archive.ubuntu.com/ubuntu disco/main amd64 cmake amd64 3.13.4-1
404 Not Found [IP: 141.30.62.24 80]
E: Failed to fetch http://de.archive.ubuntu.com/ubuntu/pool/main/c/cmak/cmake_3.13.4-1_amd64.deb 404 Not Found [IP: 141.30.62.24 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

I am rather new to linux and both options the console told me didnt work, please help :(

How to instal/setup

I have setup my own linux server. Fully working, but mods dont work no matter what I do. I would like to try this software out. It looks more user friendly. But I cant understand how to get it up and running. Any help would be apreciated.

How to use the launcher on external hard drive?

I installed Arma 3 on a WD element external hard drive because the space in my macbook was not enough , and I have already installed the arma 3 unix launcher successfully. But the launcher does not access to the hard drive, so I can not save any mod file to the arma 3 game file inside the hard drive.

Is there any way, method or code that can enable me to access the launcher to the hard drive?

Arma3.cfg not found

Hello, running Xubuntu 18.10. I am able to launch Arma3, using Proto 4.2-3 (forced).

However, this is the output of ./arma3-unix-launcher --verbose (both as root and not). I think the issue may be related to Proton (the launcher doesn't seem to be detecting that I'm using Proton).

I checked your code, and it seems to look in the compatdata folder for the Arma3.cfg file (which is there and does exist). However, I can't seem to find a branching statement that determines if and where Proton exists.

[2019-04-22 21:46:46] ArmA 3 Unix Launcher started
[2019-04-22 21:46:46] Reading file /home/gloomshroud/.config/a3unixlauncher/settings.conf... 
[2019-04-22 21:46:46] File read successfully
(arma3-unix-launcher:9748): IBUS-WARNING **: 21:46:46.572: The owner of /home/gloomshroud/.config/ibus/bus is not root!
GTK+ version: 3.24.4
Glib version: 2.58.1
[2019-04-22 21:46:46] IS NOT PROTON
[2019-04-22 21:46:46] ArmA 3 Path: /home/gloomshroud/.steam/steam/steamapps/common/Arma 3
Workshop mods path: /home/gloomshroud/.steam/steam/steamapps/workshop/content/107410
[2019-04-22 21:46:46] Creating Arma3.cfg backup...
[2019-04-22 21:46:46] Arma3.cfg does not exist
Please run Arma at least once before using launcher

Proton version

Hello muttleyxd,
Love the launcher for the native version for Linux, Just wondering if its possible to create one for the steam proton version as works good on proton. I did download and build and it couldn't find the Arma3.cfg so I changed file path in Filesystem.cpp to "/Games/steamapps/compatdata/107410/pfx/drive_c/users/steamuser/My Documents/Arma 3/"; and the launcher loaded and showed the current mods I have, It also launched the Arma3 proton version but the mods that I ticked in launcher did'nt load. I believe it might be just a simple modification of the file paths in your launcher. Would it be possible for you too look at it and perhaps make a fork for the proton version?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.