Răsfoiți Sursa

fix(ecoserver): updates for Eco 0.9.0 (#3024)

* server executable change to new name

* change glibc version to 2.15

* add missing dependency libgdiplus for eco

* updated and converted to using jq to gather server config details

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
Christian 5 ani în urmă
părinte
comite
2c4e41417d

+ 2 - 2
lgsm/config-default/config-lgsm/ecoserver/_default.cfg

@@ -140,7 +140,7 @@ consoleinteract=""
 # Do not edit
 gamename="Eco"
 engine="unity3d"
-glibc="null"
+glibc="2.15"
 
 #### Directories ####
 # Edit with care
@@ -148,7 +148,7 @@ glibc="null"
 ## Game Server Directories
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
-executable="mono ./EcoServer.exe"
+executable="./EcoServer"
 servercfgdir="${systemdir}/Configs"
 servercfg="Network.eco"
 servercfgdefault="Network.eco"

+ 6 - 0
lgsm/functions/check_deps.sh

@@ -395,6 +395,9 @@ fn_deps_build_debian(){
 	# Call of Duty & Medal of Honor: Allied Assault
 	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
 		array_deps_required+=( libstdc++5:i386 )
+	# Ecoserver
+	elif [ "${shortname}" == "eco" ]; then
+		array_deps_required+=( libgdiplus )
 	# Factorio
 	elif [ "${shortname}" == "fctr" ]; then
 		array_deps_required+=( xz-utils )
@@ -504,6 +507,9 @@ fn_deps_build_redhat(){
 	# Call of Duty & Medal of Honor: Allied Assault
 	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
 		array_deps_required+=( compat-libstdc++-33.i686 )
+	# Ecoserver
+	elif [ "${shortname}" == "eco" ]; then
+		array_deps_required+=( libgdiplus )
 	# Factorio
 	elif [ "${shortname}" == "fctr" ]; then
 		array_deps_required+=( xz )

+ 6 - 9
lgsm/functions/info_config.sh

@@ -349,18 +349,16 @@ fn_info_config_eco(){
 		servername="${unavailable}"
 		serverpassword="${unavailable}"
 		maxplayers="${zero}"
-		gamemode="${unavailable}"
 		tickrate="${zero}"
 		port="${zero}"
 		webadminport="${zero}"
-		public=""
 	else
-		servername=$(grep "Description" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Description//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
-		serverpassword=$(grep "Password" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/Password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
-		maxplayers=$(grep "MaxConnections" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/MaxConnections//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
-		port=$(grep "\"GameServerPort\"" "${servercfgdir}/Network.eco" | tr -cd '[:digit:]')
-		webadminport=$(grep "\"WebServerPort\"" "${servercfgdir}/Network.eco" | tr -cd '[:digit:]')
-		public=$(grep "PublicServer" "${servercfgdir}/Network.eco" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/PublicServer//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+		servername=$(jq -r .Description "${servercfgdir}/Network.eco")
+		serverpassword=$(jq -r .Password "${servercfgdir}/Network.eco")
+		maxplayers=$(jq -r .MaxConnections "${servercfgdir}/Network.eco")
+		tickrate=$(jq -r .MaxConnections "${servercfgdir}/Network.eco")
+		port=$(jq -r .Rate "${servercfgdir}/Network.eco")
+		webadminport=$(jq -r .WebServerPort "${servercfgdir}/Network.eco")
 
 		# Not Set
 		servername=${servername:-"NOT SET"}
@@ -368,7 +366,6 @@ fn_info_config_eco(){
 		maxplayers=${maxplayers=:-"0"}
 		port=${port=:-"0"}
 		webadminport=${webadminport=:-"0"}
-		public=${public=:-"NOT SET"}
 	fi
 }