Skip to content

Commit 9e77ca2

Browse files
authored
refactor: move steammaster check to info_game (#3821)
1 parent 0342ada commit 9e77ca2

File tree

2 files changed

+57
-55
lines changed

2 files changed

+57
-55
lines changed

lgsm/functions/info_distro.sh

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -267,61 +267,6 @@ fi
267267
netint=$(${ipcommand} -o addr | grep "${ip}" | awk '{print $2}')
268268
netlink=$(${ethtoolcommand} "${netint}" 2>/dev/null| grep Speed | awk '{print $2}')
269269

270-
# External IP address
271-
if [ -z "${extip}" ]; then
272-
extip="$(curl --connect-timeout 10 -s https://api.ipify.org 2>/dev/null)"
273-
exitcode=$?
274-
# Should ifconfig.co return an error will use last known IP.
275-
if [ ${exitcode} -eq 0 ]; then
276-
if [[ "${extip}" != *"DOCTYPE"* ]]; then
277-
echo -e "${extip}" > "${tmpdir}/extip.txt"
278-
else
279-
if [ -f "${tmpdir}/extip.txt" ]; then
280-
extip="$(cat "${tmpdir}/extip.txt")"
281-
else
282-
fn_print_error_nl "Unable to get external IP"
283-
fi
284-
fi
285-
else
286-
if [ -f "${tmpdir}/extip.txt" ]; then
287-
extip="$(cat "${tmpdir}/extip.txt")"
288-
else
289-
fn_print_error_nl "Unable to get external IP"
290-
fi
291-
fi
292-
fi
293-
294-
# Alert IP address
295-
if [ "${displayip}" ]; then
296-
alertip="${displayip}"
297-
elif [ "${extip}" ]; then
298-
alertip="${extip}"
299-
else
300-
alertip="${ip}"
301-
fi
302-
303-
# Steam Master Server - checks if detected by master server.
304-
if [ -z "${displaymasterserver}" ]; then
305-
if [ "$(command -v jq 2>/dev/null)" ]; then
306-
if [ "${ip}" ]&&[ "${port}" ]; then
307-
if [ "${steammaster}" == "true" ]||[ "${commandname}" == "DEV-QUERY-RAW" ]; then
308-
# Will query server IP addresses first.
309-
for queryip in "${queryips[@]}"; do
310-
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" '.response.servers[] | select((.gameport == ($port|tonumber) or (.gameport == ($queryport|tonumber)))) | .addr' | wc -l 2>/dev/null)"
311-
done
312-
# Should that not work it will try the external IP.
313-
if [ "${masterserver}" == "0" ]; then
314-
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${extip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" '.response.servers[] | select((.gameport == ($port|tonumber) or (.gameport == ($queryport|tonumber)))) | .addr' | wc -l 2>/dev/null)"
315-
fi
316-
if [ "${masterserver}" == "0" ]; then
317-
displaymasterserver="false"
318-
else
319-
displaymasterserver="true"
320-
fi
321-
fi
322-
fi
323-
fi
324-
fi
325270
# Sets the SteamCMD glibc requirement if the game server requirement is less or not required.
326271
if [ "${appid}" ]; then
327272
if [ "${glibc}" = "null" ]||[ -z "${glibc}" ]||[ "$(printf '%s\n'${glibc}'\n' "2.14" | sort -V | head -n 1)" != "2.14" ]; then

lgsm/functions/info_game.sh

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2441,3 +2441,60 @@ elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsrc" ]; then
24412441
elif [ "${engine}" == "unreal2" ]; then
24422442
fn_info_game_unreal2
24432443
fi
2444+
2445+
# External IP address
2446+
if [ -z "${extip}" ]; then
2447+
extip="$(curl --connect-timeout 10 -s https://api.ipify.org 2>/dev/null)"
2448+
exitcode=$?
2449+
# Should ifconfig.co return an error will use last known IP.
2450+
if [ ${exitcode} -eq 0 ]; then
2451+
if [[ "${extip}" != *"DOCTYPE"* ]]; then
2452+
echo -e "${extip}" > "${tmpdir}/extip.txt"
2453+
else
2454+
if [ -f "${tmpdir}/extip.txt" ]; then
2455+
extip="$(cat "${tmpdir}/extip.txt")"
2456+
else
2457+
fn_print_error_nl "Unable to get external IP"
2458+
fi
2459+
fi
2460+
else
2461+
if [ -f "${tmpdir}/extip.txt" ]; then
2462+
extip="$(cat "${tmpdir}/extip.txt")"
2463+
else
2464+
fn_print_error_nl "Unable to get external IP"
2465+
fi
2466+
fi
2467+
fi
2468+
2469+
# Alert IP address
2470+
if [ "${displayip}" ]; then
2471+
alertip="${displayip}"
2472+
elif [ "${extip}" ]; then
2473+
alertip="${extip}"
2474+
else
2475+
alertip="${ip}"
2476+
fi
2477+
2478+
# Steam Master Server - checks if detected by master server.
2479+
# Checked after config init, as the queryport is needed
2480+
if [ -z "${displaymasterserver}" ]; then
2481+
if [ "$(command -v jq 2>/dev/null)" ]; then
2482+
if [ "${ip}" ]&&[ "${port}" ]; then
2483+
if [ "${steammaster}" == "true" ]||[ "${commandname}" == "DEV-QUERY-RAW" ]; then
2484+
# Will query server IP addresses first.
2485+
for queryip in "${queryips[@]}"; do
2486+
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" '.response.servers[] | select((.gameport == ($port|tonumber) or (.gameport == ($queryport|tonumber)))) | .addr' | wc -l 2>/dev/null)"
2487+
done
2488+
# Should that not work it will try the external IP.
2489+
if [ "${masterserver}" == "0" ]; then
2490+
masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${extip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" '.response.servers[] | select((.gameport == ($port|tonumber) or (.gameport == ($queryport|tonumber)))) | .addr' | wc -l 2>/dev/null)"
2491+
fi
2492+
if [ "${masterserver}" == "0" ]; then
2493+
displaymasterserver="false"
2494+
else
2495+
displaymasterserver="true"
2496+
fi
2497+
fi
2498+
fi
2499+
fi
2500+
fi

0 commit comments

Comments
 (0)