mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-25 07:48:28 +00:00
When warning players, update now if nobody's there
This commit is contained in:
parent
0bcf20d222
commit
d315512035
@ -706,6 +706,7 @@ doUpdateWarn(){
|
|||||||
cd "$arkserverroot"
|
cd "$arkserverroot"
|
||||||
|
|
||||||
local pid=`getServerPID`
|
local pid=`getServerPID`
|
||||||
|
local sleeppid
|
||||||
if [ -n "$pid" ]; then
|
if [ -n "$pid" ]; then
|
||||||
local warnmsg
|
local warnmsg
|
||||||
local warnminutes=$(( arkwarnminutes ))
|
local warnminutes=$(( arkwarnminutes ))
|
||||||
@ -721,13 +722,26 @@ doUpdateWarn(){
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
if (( arkwarnminutes > warninterval )); then
|
if (( arkwarnminutes > warninterval )); then
|
||||||
|
sleep 1m &
|
||||||
|
sleeppid=$!
|
||||||
if [ -n "$msgWarnUpdateMinutes" ]; then
|
if [ -n "$msgWarnUpdateMinutes" ]; then
|
||||||
warnmsg="$(printf "$msgWarnUpdateMinutes" "$warnminutes")"
|
warnmsg="$(printf "$msgWarnUpdateMinutes" "$warnminutes")"
|
||||||
else
|
else
|
||||||
warnmsg="$(printf "This ARK server will shutdown for an update in %d minutes" "$warnminutes")"
|
warnmsg="$(printf "This ARK server will shutdown for an update in %d minutes" "$warnminutes")"
|
||||||
fi
|
fi
|
||||||
doBroadcastWithEcho "$warnmsg"
|
doBroadcastWithEcho "$warnmsg"
|
||||||
sleep $(( warnminutes - warninterval ))m
|
for (( min = warnminutes - 1; min >= warninterval; min-- )); do
|
||||||
|
numplayers=$(numPlayersConnected)
|
||||||
|
if (( numplayers + 0 == 0 )); then
|
||||||
|
echo "Nobody is connected. Updating immediately"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
wait $sleeppid
|
||||||
|
if (( $min > $warninterval )); then
|
||||||
|
sleep 1m &
|
||||||
|
sleeppid=$!
|
||||||
|
fi
|
||||||
|
done
|
||||||
warnminutes=$warninterval
|
warnminutes=$warninterval
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -735,6 +749,8 @@ doUpdateWarn(){
|
|||||||
local warnseconds=90
|
local warnseconds=90
|
||||||
warnintervals=( 60 45 30 20 15 10 5 0 )
|
warnintervals=( 60 45 30 20 15 10 5 0 )
|
||||||
for warninterval in "${warnintervals[@]}"; do
|
for warninterval in "${warnintervals[@]}"; do
|
||||||
|
sleep $(( warnseconds - warninterval ))s &
|
||||||
|
sleeppid=$!
|
||||||
if [ "`getServerPID`" != "$pid" ]; then
|
if [ "`getServerPID`" != "$pid" ]; then
|
||||||
echo "Server has stopped. Aborting update"
|
echo "Server has stopped. Aborting update"
|
||||||
return 1
|
return 1
|
||||||
@ -745,7 +761,14 @@ doUpdateWarn(){
|
|||||||
warnmsg="$(printf "This ARK server will shutdown for an update in %d seconds" "$warnseconds")"
|
warnmsg="$(printf "This ARK server will shutdown for an update in %d seconds" "$warnseconds")"
|
||||||
fi
|
fi
|
||||||
doBroadcastWithEcho "$warnmsg"
|
doBroadcastWithEcho "$warnmsg"
|
||||||
sleep $(( warnseconds - warninterval ))s
|
if (( warnseconds >= 20 )); then
|
||||||
|
numplayers=$(numPlayersConnected)
|
||||||
|
if (( numplayers + 0 == 0 )); then
|
||||||
|
echo "Nobody is connected. Updating immediately"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
wait $sleeppid
|
||||||
warnseconds=$warninterval
|
warnseconds=$warninterval
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user