ArmA 3 Linux CLI Server Mod Manager for lgsm (Linux Game Server Manager)
https://linuxgsm.com/
https://github.com/GameServerManagers/LinuxGSM
This is an independent project for lgsm and I am not associated with it.
Current Version: 1.3
Requirements: GNU bash, version 4.1.5 and above
Downloads mods
Manage .bikey Files
Update mods
-
Download Mods
Uses the steamcmd which also downloads the server
Downloads the mods into the steamcmd workshop directory, lowercases them afterwards
Symlinks the mods inside the arma 3 servers mods directory
How it works:
You need to input the workshop id of the arma 3 mod
The script then downloads each mod and symlinks the mod inside the server -
Manage .bikey Files
Requires you to have "verifySignatures = 2" enabled in your "arma3server.server.cfg, otherwise pointless
Adds the .bikey files to the arma 3 server keys directory
And Removes them
How it works:
Adding Keys: searches all .bikeys in the workshop folder and asks the user if he wants to add the mod (+ displays the mods name)
Removing Keys: mostly the same, but only searches them inside the server keys folder -
Update Mods
Consists of 2 methods
One is user driven, so he can only choose some, or all, depends on him
The other one is made to use it with cron
So you can like start the script each day 5am and the script just checks each mod if there is an update avialable -
Count Mods
Counts all downloaded Mods and .bikey Files -
Lowercase
Lowercases all Mods inside the steam workshop directory
Download the armamm.sh file, open it and may edit the paths
The Script doesnt care which it is located
** CURRENTLY ONLY WORKS FOR 1 SERVER, so you need one script for each Server **
Change the file permissions, so it can be executed
Then simply run ./armamm.sh
To Download Mods:
./armamm.sh dl | ./armamm.sh download
To Manage .bikey Files:
Add: ./armamm.sh ak | ./armamm.sh addkeys
Remove: ./armamm.sh rk | ./armamm.sh removekeys
To Update Mods:
Update manually: ./armamm.sh up | ./armamm.sh updatemods
Cronupdate: ./armamm.sh cup | ./armamm.sh cronupdate
Example cron entry:
0 8 * * * /home/lgsm/arma/armamm.sh cup >> /home/lgsm/cron/arma/`date +%y%m%d`_armamm.sh_cronupdate.log
Each day, at 8am, cron will run the script and writes the output in a file with the current year, month, day in its filename
To Count Mods:
./armamm.sh co | ./armamm.sh count
To Lowercase Mods:
./armamm.sh lo | ./armamm.sh lowercase
Running the script without any or wrong parameters or with h / help:
Shows the Help menu
./armamm.sh h | ./armamm.sh help
Please use the "Issues" (https://github.com/Deadalus3010/armamm/issues) section!
Thanks for using the script!