Jump to content
GBee2

How to use mods from Steam workshop?

Recommended Posts

So I've tried pointing to mods installed via steam workshop with the -mod= argument but it's not working. Has anyone figured out how to do this?

 

e.g. I've tried

 

 -mod=/mnt/nas2/Games/steamapps/workshop/content/107410/669962280

 

for the official ADR-97 mod but it's not available in-game. Tried with various mods, same result.

 

Once I understand how it is supposed to work I'll try to find the time to write a cross-platform launcher for the wider community.

Share this post


Link to post
Share on other sites

So I've tried pointing to mods installed via steam workshop with the -mod= argument but it's not working. Has anyone figured out how to do this?

 

e.g. I've tried

 

 -mod=/mnt/nas2/Games/steamapps/workshop/content/107410/669962280

 

for the official ADR-97 mod but it's not available in-game. Tried with various mods, same result.

 

Once I understand how it is supposed to work I'll try to find the time to write a cross-platform launcher for the wider community.

You can select them in the official Arma3 launcher or the Arma3 sync client also will list them. 

Share this post


Link to post
Share on other sites

Seems like ArmA 3 never treats -mod parameter as an absolute path.

I've straced modded start of ArmA to see what happens:

Command:

cd /home/pedeathtrian/.steam/steam/SteamApps/common/Arma 3
strace -ff -o /mnt/memdisk/arma3 ./arma3.i386 -mod="/home/pedeathtrian/.steam/steam/SteamApps/workshop/content/107410/669962280"

Here's all the output mentioning "669962280"

access("/home", F_OK)                   = 0
access("/home/pedeathtrian", F_OK)         = 0
access("/home/pedeathtrian/.local", F_OK)  = 0
access("/home/pedeathtrian/.local/share", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps/common", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps/common/Arma 3", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps/common/Arma 3/home", F_OK) = -1 ENOENT (No such file or directory)
stat64("/home/pedeathtrian/.local/share/Steam/SteamApps/common/Arma 3/home/pedeathtrian/.steam/steam/SteamApps/workshop/content/107410/669962280", 0xf31febec) = -1 ENOENT (No such file or directory)
stat64("/home/pedeathtrian/.local/share/bohemiainteractive/arma3/GameDocuments/", {st_mode=S_IFDIR|0750, st_size=94, ...}) = 0
access("/home", F_OK)                   = 0
access("/home/pedeathtrian", F_OK)         = 0
access("/home/pedeathtrian/.local", F_OK)  = 0
access("/home/pedeathtrian/.local/share", F_OK) = 0
access("/home/pedeathtrian/.local/share/bohemiainteractive", F_OK) = 0
access("/home/pedeathtrian/.local/share/bohemiainteractive/arma3", F_OK) = 0
access("/home/pedeathtrian/.local/share/bohemiainteractive/arma3/GameDocuments", F_OK) = 0
access("/home/pedeathtrian/.local/share/bohemiainteractive/arma3/GameDocuments/Arma 3", F_OK) = 0
access("/home/pedeathtrian/.local/share/bohemiainteractive/arma3/GameDocuments/Arma 3/home", F_OK) = -1 ENOENT (No such file or directory)
stat64("/home/pedeathtrian/.local/share/bohemiainteractive/arma3/GameDocuments/Arma 3/home/pedeathtrian/.steam/steam/SteamApps/workshop/content/107410/669962280", 0xf31febec) = -1 ENOENT (No such file or directory)
access("/home", F_OK)                   = 0
access("/home/pedeathtrian", F_OK)         = 0
access("/home/pedeathtrian/.local", F_OK)  = 0
access("/home/pedeathtrian/.local/share", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps/common", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps/common/Arma 3", F_OK) = 0
access("/home/pedeathtrian/.local/share/Steam/SteamApps/common/Arma 3/home", F_OK) = -1 ENOENT (No such file or directory)
stat64("/home/pedeathtrian/.local/share/Steam/SteamApps/common/Arma 3/home/pedeathtrian/.steam/steam/SteamApps/workshop/content/107410/669962280", 0xf31febec) = -1 ENOENT (No such file or directory)

As you can see, mod is never searched at its absolute location; instead this path used as relative from some locations (game dir and game docs dir).

 


 

So, create a symlink in your Arma 3 directoty pointing to required mod, e.g.

cd /home/pedeathtrian/.steam/steam/SteamApps/common/Arma 3
ln -s ../../workshop/content/107410/669962280 @ADR-97

Start with relative path passed as -mod parameter:

-mod="@ADR-97"

1k3sbeF.png

 


UPD. This exact mod will probably need some decapitalization as i contains capitals in names of some files.

You can recreate mods directory tree in arma's directory, then populate it with symlink to every file in mod, decapitalized.

Or use tools such as ciopfs.

Share this post


Link to post
Share on other sites

You can select them in the official Arma3 launcher or the Arma3 sync client also will list them. 

We don't have a luxury of using those tools with legacy ports here (we're in ARMA 3 - PORTS forum section).

Share this post


Link to post
Share on other sites

We don't have a luxury of using those tools with legacy ports here (we're in ARMA 3 - PORTS forum section).

Sorry i misread the section we were in, i thought it was the normal Arma3 Section. In that case ignore my post as those tools don't work on ports.

Share this post


Link to post
Share on other sites

Seems like ArmA 3 never treats -mod parameter as an absolute path.

 

Thanks, that did the trick. 

Share this post


Link to post
Share on other sites

Well seems there are still some bugs to work out with respect to mods and the Unix port. Trying to load CUPS Terrains fails, the arma3 process is running but there is no gui shown, and the Eon runloop is using 160% CPU.

Share this post


Link to post
Share on other sites

Well seems there are still some bugs to work out with respect to mods and the Unix port. Trying to load CUPS Terrains fails, the arma3 process is running but there is no gui shown, and the Eon runloop is using 160% CPU.

 

I did get CUP Terrains to load. It gave errors about some missing stuff and had some visual effects wrong, but started. I tried with complete pack versions 1.1.0 and 1.2.0, no other mods. Some people have issues with corrupted workshop downloads, or could be your startup parameters missing escaping backslash. Would you mind posting how exactly did you start the game?

Share this post


Link to post
Share on other sites

I did get CUP Terrains to load. It gave errors about some missing stuff and had some visual effects wrong, but started. I tried with complete pack versions 1.1.0 and 1.2.0, no other mods. Some people have issues with corrupted workshop downloads, or could be your startup parameters missing escaping backslash. Would you mind posting how exactly did you start the game?

 

-mod=@CUPS

 

Where @CUPS is a symlink to the steam workshop downloaded version.

 

I have no problem loading multiple mods, right now I have the RHS mods and a few others loading together fine.

Share this post


Link to post
Share on other sites

Issue with CUPS is resolved, I missed the fact that it's dependent on the CUPS Core addon. If CUPS Core isn't loaded but CUPS Terrains is, then Arma won't start.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×