mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-24 23:38:28 +00:00
add check for update function
This commit is contained in:
parent
b973cb1ddb
commit
fdeac1f56e
@ -29,19 +29,32 @@ NORMAL="\\033[0;39m"
|
|||||||
#---------------------
|
#---------------------
|
||||||
# functions
|
# functions
|
||||||
#---------------------
|
#---------------------
|
||||||
|
function checkForUpdate(){
|
||||||
|
if isUpdateNeeded; then
|
||||||
|
echo "Current version:" $instver
|
||||||
|
echo "Available version:" $bnumber
|
||||||
|
echo "Your server needs to be restarted in order to receive the latest update."
|
||||||
|
echo "Run \"arkmanager update\" to do so"
|
||||||
|
else
|
||||||
|
echo "No update available"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function setCurrentVersion(){
|
||||||
|
# set the new current version in a file
|
||||||
|
cd $arkserverroot
|
||||||
|
echo $bnumber > arkversion
|
||||||
|
}
|
||||||
function isUpdateNeeded(){
|
function isUpdateNeeded(){
|
||||||
#
|
#
|
||||||
# Check if the server need to be updated
|
# Check if the server need to be updated
|
||||||
# Return 1 if update is needed, else return 0
|
# Return 0 if update is needed, else return 1
|
||||||
#
|
#
|
||||||
getCurrentVersion
|
getCurrentVersion
|
||||||
getAvailableVersion
|
getAvailableVersion
|
||||||
echo $instver
|
if [ "$bnumber" -eq "$instver" ]; then
|
||||||
echo $bnumber
|
return 1 # no update needed
|
||||||
if ["$bnumber" = "$instver"]; then
|
|
||||||
return 0
|
|
||||||
else
|
else
|
||||||
return 1
|
return 0 # update needed
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -59,9 +72,8 @@ function getAvailableVersion(){
|
|||||||
#
|
#
|
||||||
# Get the current available server version on steamdb
|
# Get the current available server version on steamdb
|
||||||
#
|
#
|
||||||
echo "Checking for update, this may take a while"
|
|
||||||
bnumber=`$steamcmdroot/$steamcmdexec +login anonymous +app_info_print "$appid" +quit | grep -EA 5 "^\s+\"public\"$" | grep -E "^\s+\"buildid\"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -f3 | sed 's/^ //' | cut -c9-14`
|
bnumber=`$steamcmdroot/$steamcmdexec +login anonymous +app_info_print "$appid" +quit | grep -EA 5 "^\s+\"public\"$" | grep -E "^\s+\"buildid\"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -f3 | sed 's/^ //' | cut -c9-14`
|
||||||
echo "Available server version: "$bnumber
|
return $bnumber
|
||||||
}
|
}
|
||||||
|
|
||||||
function isTheServerRunning(){
|
function isTheServerRunning(){
|
||||||
@ -92,6 +104,7 @@ case "$1" in
|
|||||||
restart);;
|
restart);;
|
||||||
install);;
|
install);;
|
||||||
update);;
|
update);;
|
||||||
|
checkupdate);;
|
||||||
broadcast);;
|
broadcast);;
|
||||||
status);;
|
status);;
|
||||||
*)
|
*)
|
||||||
@ -130,28 +143,34 @@ doStart() {
|
|||||||
tail -n 1 "$logdir/arkserver.log"
|
tail -n 1 "$logdir/arkserver.log"
|
||||||
}
|
}
|
||||||
|
|
||||||
# stop function
|
|
||||||
doStop() {
|
doStop() {
|
||||||
read -p "This operation will quit the server without saving, are your really sure?" -n 1 -r
|
#
|
||||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
# stop the ARK server
|
||||||
screen -X -S "$servicename" stuff "^C"
|
#
|
||||||
sleep 30
|
screen -S "$servicename" -p 0 -X stuff "quit$(printf \\r)"
|
||||||
echo "$timestamp: stop" >> "$logdir/arkserver.log"
|
# screen -S "$servicename" -X quit
|
||||||
tail -n 1 "$logdir/arkserver.log"
|
sleep 30
|
||||||
fi
|
echo "$timestamp: stop" >> "$logdir/arkserver.log"
|
||||||
}
|
}
|
||||||
|
|
||||||
# install function
|
|
||||||
doInstall() {
|
doInstall() {
|
||||||
if [ ! -d "$arkserverroot" ]; then
|
#
|
||||||
mkdir $arkserverroot
|
# install of ARK server
|
||||||
fi
|
#
|
||||||
cd $steamcmdroot
|
if [ ! -d "$arkserverroot" ]; then
|
||||||
./$steamcmdexec +login anonymous +force_install_dir "$arkserverroot" +app_update $appid validate +quit
|
mkdir $arkserverroot
|
||||||
|
fi
|
||||||
|
cd $steamcmdroot
|
||||||
|
# install the server
|
||||||
|
./$steamcmdexec +login anonymous +force_install_dir "$arkserverroot" +app_update $appid validate +quit
|
||||||
|
# the current version should be the last version. We set our version
|
||||||
|
getAvailableVersion
|
||||||
|
setCurrentVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
# update function
|
|
||||||
doUpdate() {
|
doUpdate() {
|
||||||
|
<<<<<<< HEAD
|
||||||
cd $arkserverroot
|
cd $arkserverroot
|
||||||
if isUpdateNeeded; then
|
if isUpdateNeeded; then
|
||||||
if [ -f "$arkserverroot/arkupdate.timed" ]
|
if [ -f "$arkserverroot/arkupdate.timed" ]
|
||||||
@ -178,6 +197,34 @@ doUpdate() {
|
|||||||
echo "$timestamp: No update needed." >> "$logdir/update.log"
|
echo "$timestamp: No update needed." >> "$logdir/update.log"
|
||||||
tail -n 1 "$logdir/update.log"
|
tail -n 1 "$logdir/update.log"
|
||||||
fi;
|
fi;
|
||||||
|
=======
|
||||||
|
#
|
||||||
|
# Stop the server, update it and then start it back.
|
||||||
|
#
|
||||||
|
cd $arkserverroot
|
||||||
|
if isUpdateNeeded; then
|
||||||
|
if [ -f "$arkserverroot/arkupdate.timed" ]; then
|
||||||
|
doStop
|
||||||
|
cd $steamcmdroot
|
||||||
|
./$steamcmdexec +login anonymous +force_install_dir "$arkserverroot" +app_update $appid validate +quit
|
||||||
|
cd $logdir
|
||||||
|
echo "$bnumber" > "$arkserverroot/arkversion"
|
||||||
|
cd $steamcmdroot
|
||||||
|
doStart
|
||||||
|
echo "$timestamp: update to $bnumber complete" >> "$logdir/update.log"
|
||||||
|
if [ $servermail != "" ]; then
|
||||||
|
mail -a $logdir/update.log -s "Update-Log" $servermail < /dev/null
|
||||||
|
fi
|
||||||
|
rm "$arkserverroot/arkupdate.timed"
|
||||||
|
else
|
||||||
|
touch "$arkserverroot/arkupdate.timed"
|
||||||
|
info="There is a update for ark, server will restart in 60mins!!!!!"
|
||||||
|
doInfo $info
|
||||||
|
fi;
|
||||||
|
else
|
||||||
|
echo "$timestamp: No update needed." >> "$logdir/update.log"
|
||||||
|
fi;
|
||||||
|
>>>>>>> add check for update function
|
||||||
}
|
}
|
||||||
|
|
||||||
#broadcast info
|
#broadcast info
|
||||||
@ -228,7 +275,11 @@ case "$1" in
|
|||||||
doInstall
|
doInstall
|
||||||
;;
|
;;
|
||||||
update)
|
update)
|
||||||
doUpdate
|
testupdate
|
||||||
|
#doUpdate
|
||||||
|
;;
|
||||||
|
checkupdate)
|
||||||
|
checkForUpdate
|
||||||
;;
|
;;
|
||||||
broadcast)
|
broadcast)
|
||||||
doInfo $2
|
doInfo $2
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user