From 2c4e41417dea6b11f532243a1946c4dba5a383b8 Mon Sep 17 00:00:00 2001 From: Christian Date: Sun, 13 Sep 2020 23:46:31 +0200 Subject: [PATCH] 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 --- .../config-lgsm/ecoserver/_default.cfg | 4 ++-- lgsm/functions/check_deps.sh | 6 ++++++ lgsm/functions/info_config.sh | 15 ++++++--------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg index e5d817d4a..90e5ed665 100644 --- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg +++ b/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" diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index a133c8486..3bc89b2e0 100644 --- a/lgsm/functions/check_deps.sh +++ b/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 ) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index fd7ea988e..1421cba2b 100644 --- a/lgsm/functions/info_config.sh +++ b/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 }