Quellcode durchsuchen

fix(bt): read server name, max players and tick rate in both config forms (#5072)

Barotrauma rewrites serversettings.xml on first start and renames some
attributes (name to ServerName, maxplayers to MaxPlayers, tickrate to
TickRate). XPath is case-sensitive, so the server name showed NOT SET
after the first start, and max players and tick rate showed 0 before it.

Read the game's form first and fall back to the LinuxGSM default form.

Fixes #4782
Daniel Gibbs vor 2 Tagen
Ursprung
Commit
12c6f4dc92
1 geänderte Dateien mit 10 neuen und 1 gelöschten Zeilen
  1. 10 1
      lgsm/modules/info_game.sh

+ 10 - 1
lgsm/modules/info_game.sh

@@ -1005,11 +1005,20 @@ fn_info_game_bfv() {
 fn_info_game_bt() {
 	if [ -f "${servercfgfullpath}" ]; then
 		fn_info_game_xml "maxplayers" "/serversettings/@MaxPlayers"
+		if [ -z "${maxplayers}" ]; then
+			fn_info_game_xml "maxplayers" "/serversettings/@maxplayers"
+		fi
 		fn_info_game_xml "port" "/serversettings/@port"
 		fn_info_game_xml "queryport" "/serversettings/@queryport"
-		fn_info_game_xml "servername" "/serversettings/@name"
+		fn_info_game_xml "servername" "/serversettings/@ServerName"
+		if [ -z "${servername}" ]; then
+			fn_info_game_xml "servername" "/serversettings/@name"
+		fi
 		fn_info_game_xml "serverpassword" "/serversettings/@password"
 		fn_info_game_xml "tickrate" "/serversettings/@TickRate"
+		if [ -z "${tickrate}" ]; then
+			fn_info_game_xml "tickrate" "/serversettings/@tickrate"
+		fi
 	fi
 	maxplayers="${maxplayers:-"0"}"
 	port="${port:-"0"}"