fugasjunior / arma-server-manager

A web administration tool for managing Arma 3, Arma Reforger and DayZ dedicated servers
GNU General Public License v3.0
53 stars 12 forks source link

Steamcmd update errors #69

Closed WatskeBart closed 1 year ago

WatskeBart commented 1 year ago

Using docker version. Since steamcmd update i'm unable to download mod updates. Same problem on a fresh install.

Getting server installations 2023-06-19 14:40:49,492 INFO cz.forgottenempire.servermanager.installation.ServerInstallerService: Starting download of server 'ARMA3' 2023-06-19 14:40:55,069 INFO cz.forgottenempire.servermanager.installation.ServerInstallationController: Getting server installations 2023-06-19 14:41:14,354 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: SteamCmd failed due to: 'loading steam api...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: no such file or directory' 2023-06-19 14:41:14,356 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: ======== SteamCMD ERROR OUTPUT START ======== 2023-06-19 14:41:14,356 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: Redirecting stderr to '/root/Steam/logs/stderr.txt' /tmp/dumps is not owned by us - delete and recreate [ 0%] Checking for available updates... [----] Downloading update (200 of 59,523 KB)... [ 98%] Downloading update (59,523 of 59,523 KB)... [100%] Download complete. [----] Installing update... [----] Cleaning up... [----] Update complete, launching Steamcmd... Redirecting stderr to '/root/Steam/logs/stderr.txt' [ 0%] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation - version 1686881296 -- type 'quit' to exit -- Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory dlmopen libSDL3.so.0 failed: libSDL3.so.0: cannot open shared object file: No such file or directory OK "@NoPromptForPassword" = "1" "@ShutdownOnFailedCommand" = "1" Logging in user 'REDACTED' to Steam Public...FAILED (Invalid Login Auth Code) 2023-06-19 14:41:14,357 ERROR cz.forgottenempire.servermanager.steamcmd.SteamCmdExecutor: ======== SteamCMD ERROR OUTPUT END ======== 2023-06-19 14:41:14,364 ERROR cz.forgottenempire.servermanager.installation.ServerInstallerService: Download of server 'ARMA3' failed, reason: GENERIC 2023-06-19 14:41:19,078 INFO cz.forgottenempire.servermanager.installation.ServerInstallationController: Getting server installations

Missing files:

Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory dlmopen libSDL3.so.0 failed: libSDL3.so.0: cannot open shared object file: No such file or directory

It will actually download the server files, but because of the missing file error it writes GENERIC ERROR to the armaserver database.

See similar issue here

fugasjunior commented 1 year ago

Hello, thanks for reporting this issue. The root cause is that the manager determines the result of SteamCMD execution based on certain keywords in the output, including the word "failed". So even though the download finishes successfully, the execution is marked as failed because of the first two irrelevant error messages.

I will publish a hotfix version 1.1.1 addressing this bug as soon as possible.

In the meanwhile, there is a possible workaround:

  1. Exec into the container: docker exec -it arma-server-manager-armaservermanager-1 /bin/bash
  2. Move into the directory containing SteamCMD libraries: cd /home/steam/steamcmd/linux32
  3. Copy existing steamclient.so library to missing steamservice.so: cp steamclient.so steamservice.so
  4. Do the same for libSDL3.so.0: cp steamclient.so libSDL3.so.0

Since the libraries are actually not used, their contents doesn't matter (as long as there is enough content, just touching the files won't help). This will get rid of the error message in the SteamCMD output and temporarily fix the issue. All props to the Reddit user who first reported this issue and figured out this workaround :)

fugasjunior commented 1 year ago

Hotfix has been released as v1.1.1.