瀏覽代碼

fix(sdtd): read web dashboard port from WebDashboardPort (#5221)

7 Days to Die Alpha 21 replaced ControlPanelEnabled, ControlPanelPort and ControlPanelPassword with WebDashboardEnabled and WebDashboardPort. The stock serverconfig.xml only has the new keys, so details showed the web port as 0. Read the WebDashboard keys first and fall back to the ControlPanel keys for older configs.
Daniel Gibbs 1 天之前
父節點
當前提交
457939b8d8
共有 1 個文件被更改,包括 8 次插入 和 2 次删除
  1. 8 2
      lgsm/modules/info_game.sh

+ 8 - 2
lgsm/modules/info_game.sh

@@ -2088,9 +2088,15 @@ fn_info_game_scpsl() {
 fn_info_game_sdtd() {
 	if [ -f "${servercfgfullpath}" ]; then
 		fn_info_game_xml "gamemode" "/ServerSettings/property[@name='GameMode']/@value"
-		fn_info_game_xml "httpenabled" "/ServerSettings/property[@name='ControlPanelEnabled']/@value"
+		fn_info_game_xml "httpenabled" "/ServerSettings/property[@name='WebDashboardEnabled']/@value"
+		if [ -z "${httpenabled}" ]; then
+			fn_info_game_xml "httpenabled" "/ServerSettings/property[@name='ControlPanelEnabled']/@value"
+		fi
 		fn_info_game_xml "httppassword" "/ServerSettings/property[@name='ControlPanelPassword']/@value"
-		fn_info_game_xml "httpport" "/ServerSettings/property[@name='ControlPanelPort']/@value"
+		fn_info_game_xml "httpport" "/ServerSettings/property[@name='WebDashboardPort']/@value"
+		if [ -z "${httpport}" ]; then
+			fn_info_game_xml "httpport" "/ServerSettings/property[@name='ControlPanelPort']/@value"
+		fi
 		fn_info_game_xml "maxplayers" "/ServerSettings/property[@name='ServerMaxPlayerCount']/@value"
 		fn_info_game_xml "servername" "/ServerSettings/property[@name='ServerName']/@value"
 		fn_info_game_xml "serverpassword" "/ServerSettings/property[@name='ServerPassword']/@value"