BrettMayson / Arma3Server

Docker - Arma 3 Dedicated Server
103 stars 70 forks source link

Issue loading mods using HTML from launcher #38

Closed ejpo closed 2 years ago

ejpo commented 2 years ago

When loading mods using the MOD_PRESET environmental variable, the workshop.py module downloads the mods, but when it passes the mods that need to be loaded to the server, the server gets a list of mod folder names and does not load the mods properly.

As a result, the launcher cannot map the mods that are already installed on the client to the ones installed on the server and the server also does not appear be able to locate resources specified in missions if they rely on content from addons:

image

Please see below console output and find attached the HTML file passed to the server (in a zip file as HTML files cannot be uploaded on a GH issue).

SoS-Uzbin.zip

I have mapped the workshop volume and directly placed the HTML file in its root to pass it to the container

ENV file minus the steam credentials for downloading the mods

`ARMA_BINARY=./arma3server_x64

ARMA_CDLC=

ARMA_CONFIG=sos.cfg

ARMA_LIMITFPS=100

ARMA_PROFILE=main

ARMA_WORLD=empty

HEADLESS_CLIENTS=0

MODS_LOCAL=false

MODS_PRESET=/arma3/steamapps/workshop/content/107410/SoS-Uzbin.html

PORT=2302

STEAM_BRANCH=public

STEAM_BRANCH_PASSWORD=`

arma3 | 21:34:36 modsReadOnly = true arma3 | 21:34:36 safeModsActivated = false arma3 | 21:34:36 customMods = true arma3 | 21:34:36 hash = 'EB110BEA02F507C9934A3A09E17847451D8C6F0E' arma3 | 21:34:36 hashShort = 'dada87fb' arma3 | 21:34:36 name | modDir | default | official | origin | hash | hashShort | fullPath arma3 | 21:34:36 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- arma3 | 21:34:36 1882424760 | 1882424760 | false | false | GAME DIR | | | arma3 | 21:34:36 2208980698 | 2208980698 | false | false | GAME DIR | | | arma3 | 21:34:36 1661066023 | 1661066023 | false | false | GAME DIR | | | arma3 | 21:34:36 843577117 | 843577117 | false | false | GAME DIR | | | arma3 | 21:34:36 843593391 | 843593391 | false | false | GAME DIR | | | arma3 | 21:34:36 843425103 | 843425103 | false | false | GAME DIR | | | arma3 | 21:34:36 497660133 | 497660133 | false | false | GAME DIR | | | arma3 | 21:34:36 541888371 | 541888371 | false | false | GAME DIR | | | arma3 | 21:34:36 497661914 | 497661914 | false | false | GAME DIR | | | arma3 | 21:34:36 583544987 | 583544987 | false | false | GAME DIR | | | arma3 | 21:34:36 583496184 | 583496184 | false | false | GAME DIR | | | arma3 | 21:34:36 450814997 | 450814997 | false | false | GAME DIR | | | arma3 | 21:34:36 767380317 | 767380317 | false | false | GAME DIR | | | arma3 | 21:34:36 620260972 | 620260972 | false | false | GAME DIR | | | arma3 | 21:34:36 463939057 | 463939057 | false | false | GAME DIR | | | arma3 | 21:34:36 893339590 | 893339590 | false | false | GAME DIR | | | arma3 | 21:34:36 893349825 | 893349825 | false | false | GAME DIR | | | arma3 | 21:34:36 893346105 | 893346105 | false | false | GAME DIR | | | arma3 | 21:34:36 893328083 | 893328083 | false | false | GAME DIR | | | arma3 | 21:34:36 Arma 3 Art of War | aow | true | true | GAME DIR | 0d4d518854024cf5824af507af9e16c050f38936 | bb26feb | /arma3/aow arma3 | 21:34:36 Arma 3 Contact (Platform) | enoch | true | true | GAME DIR | 4cd4bf722e1a360ab4199316041aad8a3b1afbe5 | c3ba4c1 | /arma3/enoch arma3 | 21:34:36 Arma 3 Tanks | tank | true | true | GAME DIR | 9adf766a3291df59d96561ef5bbac024cd5f103c | 6b26ff75 | /arma3/tank arma3 | 21:34:36 Arma 3 Tac-Ops | tacops | true | true | GAME DIR | b2aeee6afb4d22a907356a94f5db210e5207741b | 8646e5fd | /arma3/tacops arma3 | 21:34:36 Arma 3 Laws of War | orange | true | true | GAME DIR | 0591fa9ec992d8e862d32f574c67b54402598c63 | 630e5234 | /arma3/orange arma3 | 21:34:36 Arma 3 Malden | argo | true | true | GAME DIR | f049aea19468628fb3c360a8148a3867502024f2 | 3b10ba25 | /arma3/argo arma3 | 21:34:36 Arma 3 Jets | jets | true | true | GAME DIR | 959b3d22f9145707051b0c44855a7be4bc8c24ba | 456e1ae6 | /arma3/jets arma3 | 21:34:36 Arma 3 Apex | expansion | true | true | GAME DIR | 1f9076ab9257e5993e739ce0776c871e63d1260e | da0e3bbd | /arma3/expansion arma3 | 21:34:36 Arma 3 Marksmen | mark | true | true | GAME DIR | 120c22fcb20352b35c3ff18018a3787db228ba14 | a8e5ee75 | /arma3/mark arma3 | 21:34:36 Arma 3 Helicopters | heli | true | true | GAME DIR | 54fec03b56fd2cc0c3d608bd988b6be8d99c8373 | e9bda741 | /arma3/heli arma3 | 21:34:36 Arma 3 Karts | kart | true | true | GAME DIR | a5ffd00a3db67b30af623a4a4ae57e4c158e9642 | 58a5c510 | /arma3/kart arma3 | 21:34:36 Arma 3 Zeus | curator | true | true | GAME DIR | 7845d8b549e114fb683237da35d1677f17fd8640 | 925d03b0 | /arma3/curator arma3 | 21:34:36 Arma 3 | A3 | true | true | NOT FOUND | | | arma3 | 21:34:36 ===================================================================================================================================================================================================

Vdauphin commented 2 years ago

Hey, I have the same issue, did you found a solution?

Vdauphin commented 2 years ago

Here is my log output from: docker-compose logs docker_compose.log It say: LAUNCHING ARMA SERVER WITH ./arma3server_x64 -limitFPS=50 -world=empty -mod="/arma3/steamapps/workshop/content/107410/463939057;/arma3/steamapps/workshop/content/107410/751965892;/arma3/steamapps/workshop/content/107410/450814997" -config="/arma3/configs/main.cfg" -port=2302 -name="main" -profiles="/arma3/configs/profiles" -serverMod="" But if I don't use the .html and instead the mods folder the start up command looks like this: LAUNCHING ARMA CLIENT 1 WITH ./arma3server_x64 -limitFPS=50 -world=empty -mod="mods/@acre2;mods/@ace;mods/@CBA_A3" -config="/tmp/arma3.cfg" -client -connect=127.0.0.1 -profiles="/arma3/configs/profiles" -serverMod=""

It looks like the only difference between both is the folder and that with .html it using absolute path.

Also the wiki say (https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server):

NB: If you are using the -mod= parameter, you must specify relative paths within or below the Arma 3 directory. Symlinks will work.

Not actually sure if absolute path works :/