@@ -1883,38 +1883,39 @@ fn_info_game_scpsl() {
1883
1883
# Filetype: xml
1884
1884
fn_info_game_sdtd () {
1885
1885
if [ -f " ${servercfgfullpath} " ]; then
1886
- fn_info_game_xml " gamemode" " ServerSettings/@GameMode"
1887
- fn_info_game_xml " maxplayers" " ServerSettings/@MaxPlayers"
1888
- fn_info_game_xml " servername" " ServerSettings/@ServerName"
1889
- fn_info_game_xml " serverpassword" " ServerSettings/@ServerPassword"
1890
- fn_info_game_xml " serverport" " ServerSettings/@ServerPort"
1891
- fn_info_game_xml " telnetenabled" " ServerSettings/@TelnetEnabled"
1892
- fn_info_game_xml " telnetpass" " ServerSettings/@TelnetPassword"
1893
- fn_info_game_xml " telnetport" " ServerSettings/@TelnetPort"
1894
- fn_info_game_xml " httpenabled" " ServerSettings/@ControlPanelEnabled"
1895
- fn_info_game_xml " httppassword" " ServerSettings/@ControlPanelPassword"
1896
- fn_info_game_xml " httpport" " ServerSettings/@ControlPanelPort"
1897
- fn_info_game_xml " worldname" " ServerSettings/@GameWorld"
1898
-
1886
+ fn_info_game_xml " gamemode" " /ServerSettings/property[@name='GameMode']/@value"
1887
+ fn_info_game_xml " httpenabled" " /ServerSettings/property[@name='ControlPanelEnabled']/@value"
1888
+ fn_info_game_xml " httppassword" " /ServerSettings/property[@name='ControlPanelPassword']/@value"
1889
+ fn_info_game_xml " httpport" " /ServerSettings/property[@name='ControlPanelPort']/@value"
1890
+ fn_info_game_xml " maxplayers" " /ServerSettings/property[@name='ServerMaxPlayerCount']/@value"
1891
+ fn_info_game_xml " servername" " /ServerSettings/property[@name='ServerName']/@value"
1892
+ fn_info_game_xml " serverpassword" " /ServerSettings/property[@name='ServerPassword']/@value"
1893
+ fn_info_game_xml " port" " /ServerSettings/property[@name='ServerPort']/@value"
1894
+ fn_info_game_xml " telnetenabled" " /ServerSettings/property[@name='TelnetEnabled']/@value"
1895
+ fn_info_game_xml " telnetpass" " /ServerSettings/property[@name='TelnetPassword']/@value"
1896
+ fn_info_game_xml " telnetport" " /ServerSettings/property[@name='TelnetPort']/@value"
1897
+ fn_info_game_xml " worldname" " /ServerSettings/property[@name='GameWorld']/@value"
1899
1898
fi
1900
- servername=" ${servername:- " NOT SET" } "
1901
- serverpassword=" ${serverpassword:- " NOT SET" } "
1902
- port=" ${port:- " 0" } "
1903
- queryport=" ${queryport:- " 0" } "
1899
+ gamemode=" ${gamemode:- " NOT SET" } "
1904
1900
httpenabled=" ${httpenabled:- " NOT SET" } "
1905
- httpport=" ${httpport:- " 0" } "
1906
1901
httppassword=" ${httppassword:- " NOT SET" } "
1907
- telnetenabled=" ${telnetenabled:- " NOT SET" } "
1908
- telnetport=" ${telnetport:- " 0" } "
1909
- telnetpass=" ${telnetpass:- " NOT SET" } "
1902
+ httpport=" ${httpport:- " 0" } "
1910
1903
maxplayers=" ${maxplayers:- " 0" } "
1911
- gamemode=" ${gamemode:- " NOT SET" } "
1912
- worldname=" ${worldname:- " NOT SET" } "
1904
+ port=" ${port:- " 0" } "
1905
+ port3=" $(( port + 2 )) "
1906
+ queryport=" ${port:- " 0" } "
1907
+ servername=" ${servername:- " NOT SET" } "
1908
+ serverpassword=" ${serverpassword:- " NOT SET" } "
1909
+ telnetenabled=" ${telnetenabled:- " NOT SET" } "
1913
1910
# Telnet IP will be localhost if no password is set
1914
1911
# check_ip will set the IP first. This will overwrite it.
1915
1912
if [ -z " ${telnetpass} " ]; then
1916
1913
telnetip=" 127.0.0.1"
1917
1914
fi
1915
+ telnetpass=" ${telnetpass:- " NOT SET" } "
1916
+ telnetport=" ${telnetport:- " 0" } "
1917
+ worldname=" ${worldname:- " NOT SET" } "
1918
+
1918
1919
}
1919
1920
1920
1921
# Config Type: Parameters (with an ini)
@@ -2443,12 +2444,12 @@ if [ -z "${displaymasterserver}" ]; then
2443
2444
if [ " $( command -v jq 2> /dev/null) " ]; then
2444
2445
if [ -n " ${ip} " ] && [ -n " ${port} " ]; then
2445
2446
if [ " ${steammaster} " == " true" ] || [ " ${commandname} " == " DEV-QUERY-RAW" ]; then
2446
- # Query external IP first as most likely to succeed.
2447
- 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} " ' if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber))) | .addr else empty end' | wc -l 2> /dev/null) "
2447
+ # Query external IP first as most liky to succeed.
2448
+ 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} " --arg port3 " ${port3} " ' if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3 |tonumber))) | .addr else empty end' | wc -l 2> /dev/null) "
2448
2449
if [ " ${masterserver} " == " 0" ]; then
2449
2450
# Loop though server IP addresses if external IP fails.
2450
2451
for queryip in " ${queryips[@]} " ; do
2451
- 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} " ' if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber))) | .addr else empty end' | wc -l 2> /dev/null) "
2452
+ 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} " --arg port3 " ${port3} " ' if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3 |tonumber))) | .addr else empty end' | wc -l 2> /dev/null) "
2452
2453
done
2453
2454
fi
2454
2455
if [ " ${masterserver} " == " 0" ]; then
0 commit comments