[GH-ISSUE #474] [arkserver] update command doesn't work #392

Closed
opened 2026-02-27 02:01:13 +03:00 by kerem · 7 comments
Owner

Originally created by @ctmlr on GitHub (Aug 27, 2015).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/474

I knew there was an update available so I tried "./arkserver update" which returned,

No update available:
    Current version: 744093
    Available version: 744093
    https://steamdb.info/app/376030/

So then I used the "force-update" command which did update the server. After updating I ran the script with the "update" command again and got,

No update available:
    Current version: 750786
    Available version: 750786
    https://steamdb.info/app/376030/

So it doesn't seem to properly detect when a new version is available.

Originally created by @ctmlr on GitHub (Aug 27, 2015). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/474 I knew there was an update available so I tried "./arkserver update" which returned, ``` No update available: Current version: 744093 Available version: 744093 https://steamdb.info/app/376030/ ``` So then I used the "force-update" command which did update the server. After updating I ran the script with the "update" command again and got, ``` No update available: Current version: 750786 Available version: 750786 https://steamdb.info/app/376030/ ``` So it doesn't seem to properly detect when a new version is available.
kerem 2026-02-27 02:01:13 +03:00
Author
Owner

@Kugane commented on GitHub (Sep 9, 2015):

on my server it works perfect, use it all 30min for autoupdate ;)

<!-- gh-comment-id:138927999 --> @Kugane commented on GitHub (Sep 9, 2015): on my server it works perfect, use it all 30min for autoupdate ;)
Author
Owner

@zeroZshadow commented on GitHub (Sep 11, 2015):

I have the same issue with gmod, it would say there is no update available, but force-update will fix it.

<!-- gh-comment-id:139553119 --> @zeroZshadow commented on GitHub (Sep 11, 2015): I have the same issue with gmod, it would say there is no update available, but force-update will fix it.
Author
Owner

@sergey-k1 commented on GitHub (Oct 2, 2015):

Hi.
I use Ubuntu 64 bit.
uname -a
Linux SKYNET 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
If i try to update(cron or manual)
/tf2/tf2server update
[ OK ] Update tf2-server: Checking for update: SteamCMD

No update available:
Current version: 789049
Available version: 789049
https://steamdb.info/app/232250/

[ OK ] Update tf2-server: No update available

But I knew there was an update available.
If i give the command manually
/tf2/tf2server force-update
update is successful

If i in console sent command
/tf2/steamcmd/steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232250 +app_info_print 232250 +quit | grep -EA 1000 "^\s+"branches"$" | grep -EA 5 "^\s+"public"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+"buildid"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3
i give OLD version
If i manual go to Steam console and type manual login anonymous and type manual app_info_update 1 and type manual app_info_print 232250 i give NEW version
If after this i in console sent command
/tf2/steamcmd/steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232250 +app_info_print 232250 +quit | grep -EA 1000 "^\s+"branches"$" | grep -EA 5 "^\s+"public"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+"buildid"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3
i give NEW version

<!-- gh-comment-id:145069590 --> @sergey-k1 commented on GitHub (Oct 2, 2015): Hi. I use Ubuntu 64 bit. uname -a Linux SKYNET 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux If i try to update(cron or manual) /tf2/tf2server update [ OK ] Update tf2-server: Checking for update: SteamCMD No update available: Current version: 789049 Available version: 789049 https://steamdb.info/app/232250/ [ OK ] Update tf2-server: No update available But I knew there was an update available. If i give the command manually /tf2/tf2server force-update update is successful If i in console sent command /tf2/steamcmd/steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232250 +app_info_print 232250 +quit | grep -EA 1000 "^\s+\"branches\"$" | grep -EA 5 "^\s+\"public\"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+\"buildid\"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3 i give OLD version If i manual go to Steam console and type manual login anonymous and type manual app_info_update 1 and type manual app_info_print 232250 i give NEW version If after this i in console sent command /tf2/steamcmd/steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232250 +app_info_print 232250 +quit | grep -EA 1000 "^\s+\"branches\"$" | grep -EA 5 "^\s+\"public\"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+\"buildid\"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3 i give NEW version
Author
Owner

@sergey-k1 commented on GitHub (Oct 16, 2015):

I solved this problem using a utility Expect link to Expect to get the available version number

In Ubuntu Server 14.04 64bit
Add packages
sudo apt-get install expect tofrodos

get_version.sh

#!/usr/bin/expect -f
set timeout 60
spawn "/tf2/steamcmd/steamcmd.sh"

while 1 { expect {
"Steam>" {break}
timeout {send_user "Response wait time is up.\r"; exit 2}
}}
sleep 5
send "login anonymous\r"
while 1 { expect {
"Steam>" {break}
timeout {send_user "Response wait time is up.\r"; exit 2}
}}
sleep 5
send "app_info_update 1\r"
while 1 { expect {
"Steam>" {break}
timeout {send_user "Response wait time is up.\r"; exit 2}
}}
sleep 5
send "app_info_print 232250\r"
while 1 { expect {
"Steam>" {break}
timeout {send_user "Response wait time is up.\r"; exit 2}
}}
send "quit\r"

cron_update_tf2.sh

#!/bin/bash
...

sudo -i -u tf2server /home/user/tf2update/get_version.sh > /home/user/tf2update/steam.out

#_change line endings CRLF -> LF
/usr/bin/fromdos /home/user/tf2update/steam.out

#_get available version number
availablebuild=$(cat /home/user/tf2update/steam.out | grep -EA 1000 "^\s+"branches"$" | grep -EA 5 "^\s+"public"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+"buildid"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3)

...

<!-- gh-comment-id:148754715 --> @sergey-k1 commented on GitHub (Oct 16, 2015): I solved this problem using a utility Expect [link to Expect](https://en.wikipedia.org/wiki/Expect) to get the available version number In Ubuntu Server 14.04 64bit Add packages sudo apt-get install expect tofrodos get_version.sh #!/usr/bin/expect -f set timeout 60 spawn "/tf2/steamcmd/steamcmd.sh" while 1 { expect { "Steam>" {break} timeout {send_user "Response wait time is up.\r"; exit 2} }} sleep 5 send "login anonymous\r" while 1 { expect { "Steam>" {break} timeout {send_user "Response wait time is up.\r"; exit 2} }} sleep 5 send "app_info_update 1\r" while 1 { expect { "Steam>" {break} timeout {send_user "Response wait time is up.\r"; exit 2} }} sleep 5 send "app_info_print 232250\r" while 1 { expect { "Steam>" {break} timeout {send_user "Response wait time is up.\r"; exit 2} }} send "quit\r" cron_update_tf2.sh #!/bin/bash ... sudo -i -u tf2server /home/user/tf2update/get_version.sh > /home/user/tf2update/steam.out #_change line endings CRLF -> LF /usr/bin/fromdos /home/user/tf2update/steam.out #_get available version number availablebuild=$(cat /home/user/tf2update/steam.out | grep -EA 1000 "^\s+\"branches\"$" | grep -EA 5 "^\s+\"public\"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+\"buildid\"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3) ...
Author
Owner

@dreamrae commented on GitHub (Oct 17, 2015):

Is this client caching the information? If so, is there a way to clear the cache?

<!-- gh-comment-id:148935244 --> @dreamrae commented on GitHub (Oct 17, 2015): Is this client caching the information? If so, is there a way to clear the cache?
Author
Owner

@sergey-k1 commented on GitHub (Oct 20, 2015):

I found the reason that there is no update.
You must edit the file fn_update_check
replace line
#_Removes appinfo.vdf as a fix for not always getting up to date version info from SteamCMD

if [ -f "${rootdir}/Steam/appcache/appinfo.vdf" ]; then
rm -f "${rootdir}/Steam/appcache/appinfo.vdf"
fi

These strings.

if [ -f "${HOME}/Steam/appcache/appinfo.vdf" ]; then
rm -f "${HOME}/Steam/appcache/appinfo.vdf"
fi

if [ -f "${rootdir}/steamcmd/appcache/appinfo.vdf" ]; then
rm -f "${rootdir}/steamcmd/appcache/appinfo.vdf"
fi

<!-- gh-comment-id:149587185 --> @sergey-k1 commented on GitHub (Oct 20, 2015): I found the reason that there is no update. You must edit the file fn_update_check replace line #_Removes appinfo.vdf as a fix for not always getting up to date version info from SteamCMD if [ -f "${rootdir}/Steam/appcache/appinfo.vdf" ]; then rm -f "${rootdir}/Steam/appcache/appinfo.vdf" fi These strings. if [ -f "${HOME}/Steam/appcache/appinfo.vdf" ]; then rm -f "${HOME}/Steam/appcache/appinfo.vdf" fi if [ -f "${rootdir}/steamcmd/appcache/appinfo.vdf" ]; then rm -f "${rootdir}/steamcmd/appcache/appinfo.vdf" fi
Author
Owner

@lock[bot] commented on GitHub (Jul 19, 2018):

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:406350101 --> @lock[bot] commented on GitHub (Jul 19, 2018): This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#392
No description provided.