Warn when ServerAdminPassword is empty

This commit is contained in:
Ben Peddell 2015-12-26 17:03:46 +10:00
parent f6ce5430a0
commit eeb42bcecd

View File

@ -253,6 +253,14 @@ getQueryPort(){
# Execute RCON command # Execute RCON command
# #
rconcmd() { rconcmd() {
local adminpass="$(getAdminPassword)"
if [ -z "$adminpass" ]; then
echo "ServerAdminPassword is empty - unable to execute RCON command"
return 1
elif [[ "$adminpass" =~ [?\177-\377] ]]; then
echo "ServerAdminPassword contains invalid characters"
return 1
fi
perl -MSocket -e ' perl -MSocket -e '
sub sendpkt { sub sendpkt {
my ($sock, $reqid, $reqtype, $body) = @_; my ($sock, $reqid, $reqtype, $body) = @_;
@ -263,7 +271,8 @@ rconcmd() {
sub recvpkt { sub recvpkt {
my ($sock) = @_; my ($sock) = @_;
my $data = ""; my $data = "";
recv($sock, $data, 12, 0); recv($sock, $data, 12, 0) or die "Error receiving response from server"
die "Empty response" if len($data) == 0;
my ($pktlen, $resid, $restype) = unpack("VVV", $data); my ($pktlen, $resid, $restype) = unpack("VVV", $data);
recv($sock, $data, $pktlen - 8, 0); recv($sock, $data, $pktlen - 8, 0);
return ($resid, $restype, substr($data, 0, $pktlen - 10)); return ($resid, $restype, substr($data, 0, $pktlen - 10));
@ -289,7 +298,7 @@ rconcmd() {
sendpkt($socket, 2, 2, $command); sendpkt($socket, 2, 2, $command);
my ($resid, $restype, $rcvbody) = recvpkt($socket); my ($resid, $restype, $rcvbody) = recvpkt($socket);
print $rcvbody, "\n"; print $rcvbody, "\n";
' "$(getRconPort)" "${ark_MultiHome:-127.0.0.1}" "$(getAdminPassword)" "$1" ' "$(getRconPort)" "${ark_MultiHome:-127.0.0.1}" "$adminpass" "$1"
} }
# #