mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-24 23:38:28 +00:00
Merge pull request #285 from klightspeed/1.5-dev#updateifempty
Add support for updating when nobody is connected
This commit is contained in:
commit
0bcf20d222
@ -453,6 +453,24 @@ function isTheServerOnline(){
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check if anybody is connected to the server
|
||||||
|
#
|
||||||
|
function numPlayersConnected(){
|
||||||
|
perl -MSocket -e '
|
||||||
|
my $port = int($ARGV[0]);
|
||||||
|
socket(my $socket, PF_INET, SOCK_DGRAM, 0);
|
||||||
|
setsockopt($socket, SOL_SOCKET, SO_RCVTIMEO, pack("i4", 1, 0, 0, 0));
|
||||||
|
my $sockaddr = pack_sockaddr_in($port, inet_aton($ARGV[1]));
|
||||||
|
send($socket, "\xff\xff\xff\xffTSource Engine Query\x00", 0, $sockaddr);
|
||||||
|
my $data = "";
|
||||||
|
recv($socket, $data, 1400, 0) or (print "0" and exit(1));
|
||||||
|
my ($servername, $mapname, $game, $fullname, $rest) = split(/\x00/, substr($data, 6), 5);
|
||||||
|
my $players = ord(substr($rest, 2, 1));
|
||||||
|
print "$players\n";
|
||||||
|
' "${ark_QueryPort}" "${ark_MultiHome:-127.0.0.1}"
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# run function
|
# run function
|
||||||
#
|
#
|
||||||
@ -757,6 +775,8 @@ doUpdate() {
|
|||||||
updatetype=safe
|
updatetype=safe
|
||||||
elif [ "$arg" == "--warn" ]; then
|
elif [ "$arg" == "--warn" ]; then
|
||||||
updatetype=warn
|
updatetype=warn
|
||||||
|
elif [ "$arg" == "--ifempty" ]; then
|
||||||
|
updatetype=ifempty
|
||||||
elif [ "$arg" == "--validate" ]; then
|
elif [ "$arg" == "--validate" ]; then
|
||||||
validate=validate
|
validate=validate
|
||||||
appupdate=1
|
appupdate=1
|
||||||
@ -796,6 +816,12 @@ doUpdate() {
|
|||||||
if ! doUpdateWarn; then
|
if ! doUpdateWarn; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
elif [ "$updatetype" == "ifempty" ]; then
|
||||||
|
numplayers=$(( $(numPlayersConnected) + 0 ))
|
||||||
|
if (( numplayers == 0 )); then
|
||||||
|
echo "${numplayers} players are still connected"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user