mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-26 08:18:27 +00:00
Look for MultiHome option case-insensitive
This commit is contained in:
parent
e6db41d747
commit
c6fac2f520
@ -335,16 +335,25 @@ checkConfig() {
|
|||||||
# $2 is the default
|
# $2 is the default
|
||||||
#
|
#
|
||||||
getArkServerSetting() {
|
getArkServerSetting() {
|
||||||
local varname="ark_$1"
|
local lcname="$(tr 'A-Z' 'a-z' <<<"${1}")"
|
||||||
if [ -n "${!varname}" ]; then
|
local varname
|
||||||
echo "${!varname}"
|
for varname in "${!ark_@}"; do
|
||||||
else
|
if [ "$(tr 'A-Z' 'a-z' <<<"$varname")" == "ark_${lcname}" ]; then
|
||||||
local val="$(tr -d '\0\376\377' <"${arkserverroot}/${arkserverdir}/Saved/Config/LinuxServer/GameUserSettings.ini" | sed -n '/^\[ServerSettings\]/,/^\[.*\]/{s/^'"$1"'[[:space:]]*=[[:space:]]*//p;}' )"
|
echo "${!varname}"
|
||||||
if [ -n "$val" ]; then
|
return
|
||||||
echo "$val"
|
|
||||||
else
|
|
||||||
echo "$2"
|
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
for varname in "${!arkopt_@}"; do
|
||||||
|
if [ "$(tr 'A-Z' 'a-z' <<<"$varname")" == "arkopt_${lcname}" ]; then
|
||||||
|
echo "${!varname}"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
local val="$(tr -d '\0\376\377' <"${arkserverroot}/${arkserverdir}/Saved/Config/LinuxServer/GameUserSettings.ini" | sed -n '/^\[ServerSettings\]/,/^\[.*\]/{s/^'"$1"'[[:space:]]*=[[:space:]]*//ip;}' )"
|
||||||
|
if [ -n "$val" ]; then
|
||||||
|
echo "$val"
|
||||||
|
else
|
||||||
|
echo "$2"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -362,6 +371,13 @@ getRconPort() {
|
|||||||
getArkServerSetting "RCONPort" "32330"
|
getArkServerSetting "RCONPort" "32330"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Gets server bind IP
|
||||||
|
#
|
||||||
|
getMultiHome() {
|
||||||
|
getArkServerSetting "MultiHome" "${1:-127.0.0.1}"
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Get server Game Port
|
# Get server Game Port
|
||||||
#
|
#
|
||||||
@ -429,7 +445,7 @@ rconcmd() {
|
|||||||
} else {
|
} else {
|
||||||
print "\"", $rcvbody, "\"\n";
|
print "\"", $rcvbody, "\"\n";
|
||||||
}
|
}
|
||||||
' "$(getRconPort)" "${ark_MultiHome:-127.0.0.1}" "$adminpass" "$1"
|
' "$(getRconPort)" "$(getMultiHome)" "$adminpass" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -761,9 +777,10 @@ function isTheServerRunning(){
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
function isTheServerUp(){
|
function isTheServerUp(){
|
||||||
|
local ip="$(getMultiHome "")"
|
||||||
result=1
|
result=1
|
||||||
if [ ! -x "$lsof" ]; then
|
if [ ! -x "$lsof" ]; then
|
||||||
"$lsof" -i "${ark_MultiHome:+udp@}${ark_MultiHome}:$(getGamePort)" > /dev/null
|
"$lsof" -i "${ip:+udp@}${ip}:$(getGamePort)" > /dev/null
|
||||||
result=$?
|
result=$?
|
||||||
fi
|
fi
|
||||||
if [ $result -ne 0 ]; then
|
if [ $result -ne 0 ]; then
|
||||||
@ -787,7 +804,7 @@ function isTheServerUp(){
|
|||||||
} else {
|
} else {
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
' "$(getQueryPort)" "${ark_MultiHome:-127.0.0.1}"
|
' "$(getQueryPort)" "$(getMultiHome)"
|
||||||
result=$?
|
result=$?
|
||||||
fi
|
fi
|
||||||
# In this case, the result is:
|
# In this case, the result is:
|
||||||
@ -804,8 +821,8 @@ function isTheServerUp(){
|
|||||||
# Check if the server is visible in the steam server list
|
# Check if the server is visible in the steam server list
|
||||||
#
|
#
|
||||||
function isTheServerOnline(){
|
function isTheServerOnline(){
|
||||||
if [ -n "$ark_MultiHome" ]; then
|
if [ -n "$(getMultiHome "")" ]; then
|
||||||
publicip="$(curl --interface "${ark_MultiHome}" -s http://api.ipify.org/)"
|
publicip="$(curl --interface "$(getMultiHome)" -s http://api.ipify.org/)"
|
||||||
else
|
else
|
||||||
publicip="$(curl -s http://api.ipify.org/)"
|
publicip="$(curl -s http://api.ipify.org/)"
|
||||||
fi
|
fi
|
||||||
@ -856,7 +873,7 @@ function numPlayersConnected(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "$active\n";
|
print "$active\n";
|
||||||
' "$(getQueryPort)" "${ark_MultiHome:-127.0.0.1}"
|
' "$(getQueryPort)" "$(getMultiHome)"
|
||||||
else
|
else
|
||||||
perl -MSocket -e '
|
perl -MSocket -e '
|
||||||
my $port = int($ARGV[0]);
|
my $port = int($ARGV[0]);
|
||||||
@ -869,7 +886,7 @@ function numPlayersConnected(){
|
|||||||
my ($servername, $mapname, $game, $fullname, $rest) = split(/\x00/, substr($data, 6), 5);
|
my ($servername, $mapname, $game, $fullname, $rest) = split(/\x00/, substr($data, 6), 5);
|
||||||
my $players = ord(substr($rest, 2, 1));
|
my $players = ord(substr($rest, 2, 1));
|
||||||
print "$players\n";
|
print "$players\n";
|
||||||
' "$(getQueryPort)" "${ark_MultiHome:-127.0.0.1}"
|
' "$(getQueryPort)" "$(getMultiHome)"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2851,7 +2868,7 @@ printStatus(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "Active Players: $active\n";
|
print "Active Players: $active\n";
|
||||||
' "$(getQueryPort)" "${ark_MultiHome:-127.0.0.1}"
|
' "$(getQueryPort)" "$(getMultiHome)"
|
||||||
|
|
||||||
if isTheServerOnline; then
|
if isTheServerOnline; then
|
||||||
echo -e "$NORMAL" "Server online: " "$GREEN" "Yes" "$NORMAL"
|
echo -e "$NORMAL" "Server online: " "$GREEN" "Yes" "$NORMAL"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user