arkmanager / ark-server-tools

Set of server tools used to manage ARK: Survival Evolved servers on Linux
MIT License
678 stars 143 forks source link

New Installed MODS are not installed or out of date #1198

Closed TruWrecks closed 3 years ago

TruWrecks commented 3 years ago

On several servers I am running the servers are attempting to update the MODs every time my CRON runs. I have a simple script to run it. All the MODS were freshly installed and the script attempts to "Update" with a bad version.

CRON script: arkmanager checkupdate @all; arkmanager checkmodupdate @all; arkmanager update --update-mods --warn --saveworld @all

Running command 'checkupdate' for instance 'Aug2021_Valg' Querying Steam database for latest version... Current version: 7109504 Available version: 7109504 Your server is up to date! Running command 'checkmodupdate' for instance 'Aug2021_Valg' Mod 1229631593 [Speed Costumes by Pugnacia] has not been downloaded Mod 1278358360 [Happy Family] has not been downloaded Mod 1383175081 [ZeroGSpeedGlider] has not been downloaded Mod 1404697612 [Awesome SpyGlass!] has not been downloaded Mod 1440414363 [All Dinos Allow Guns] has not been downloaded Mod 1527820946 [Ark Eternal Level Up Counter StandAlone Version] has not been downloaded Mod 1592192369 [Paintable Structures and Interior Decor] has not been downloaded Mod 1609138312 [Dino Storage v2] has not been downloaded Mod 1609138312 [Dino Storage v2] update needs to be applied Mod 1837445660 [Death Inventory Keeper] has not been downloaded Mod 1967741708 [Lethals Reusables] has not been downloaded Mod 2116500182 [HG Build V2.3.1] has not been downloaded Mod 2163820397 [Nominal Structures 2.0 (N+)] has not been downloaded Mod 2447186973 [Ark Omega] has not been downloaded Mod 749466101 [Advanced Rafts] has not been downloaded Mod 821530042 [Upgrade Station v1.8i] has not been downloaded Mod 834667662 [Vacuum Sorter v1.22] has not been downloaded Mod 849985437 [HG Stacking Mod 5000-90 V314] has not been downloaded Mod 849985437 [HG Stacking Mod 5000-90 V314] update needs to be applied Mod 889745138 [Awesome Teleporters!] has not been downloaded Mod 924933745 [Dino Tracker] has not been downloaded Mod 924933745 [Dino Tracker] update needs to be applied Mod 942185438 [Unlock Haircuts and Emotes] has not been downloaded One or more updates are available

All of these MODS were installed directly from Steam 30 seconds prior to running the script.

Is there a database location or manifest that needs to be corrected that might be miss-reporting these issues?

TruWrecks commented 3 years ago

I have a CRON job that deletes the staging directory every 4 hours so I know this is no the issue.

This has been happening on several servers for the last couple of weeks and I think it is an issue where arkmanager is looking or steam files might be corrupt.

This is running on a Debian 10 server.

After the MODS update using the arkmanager updatemods @all command everyone get a Mod Mis-match.

klightspeed commented 3 years ago

Mod nnn [Name] has not been downloaded means that the mod is not present in the local steamcmd workshop directory state file (appworkshop_346110.acf). Mod nnn [Name] update needs to be applied combined with the above indicates that __arkmanager_modbranch__.info does not exist in the mod directory or does not match the mod_branch setting.

klightspeed commented 3 years ago

This is running on a Debian 10 server.

This can be caused if you have switched from the Debian steamcmd install to a standalone steamcmd install, as this will have left behind a stale ~/.steam/SteamApps directory - if steamworkshopdir is not set, then ~/.steam/SteamApps is searched for before ~/Steam/steamapps

TruWrecks commented 3 years ago

Thanks for the input. Steam should only be in the /home/steam/Steam directory on my install. I verified that Debian didn't have the native steam desktop app installed.

I removed all the steamcmd directories and anything that included downloads. I reinstalled steamcmd from apt and now it is reporting the MODs up to date!

Thank you!

klightspeed commented 3 years ago

I think I can see what potentially happened now.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=956122

steamcmd versions up to 0~20180105-3 put the steamcmd data in ~/.steam. 0~20180105-4 now puts the steamcmd data into ~/.local/share/Steam (the same directory as the Steam client uses)

https://sources.debian.org/src/steamcmd/0~20180105-3/debian/scripts/steamcmd/ https://sources.debian.org/src/steamcmd/0~20180105-4/debian/scripts/steamcmd/

Presumably ~/.steam/steamcmd was removed, but ~/.steam was not, resulting in the ~/.steam/steam symlink not being created, and so steamcmd was still using ~/.steam/SteamApps

It looks like we need to add ${steamcmdhome}/.local/share/Steam/SteamApps to the directories checked.

TruWrecks commented 3 years ago

That makes sense. This behaviour started after a steamcmd update a while ago.

Glad I brought this to your attention. ;-)

Thank you for an awesome tool!