From 4f383912bed08f81fac84001d16ed27ca0490ce0 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 13 Mar 2020 22:49:31 +0000 Subject: [PATCH 1/5] fix(steamcmd): update steamcmd symbolic links --- lgsm/functions/fix_ark.sh | 4 ++-- lgsm/functions/fix_ss3.sh | 4 ++-- lgsm/functions/fix_steamcmd.sh | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lgsm/functions/fix_ark.sh b/lgsm/functions/fix_ark.sh index ccb0a93cb..cd7e92163 100644 --- a/lgsm/functions/fix_ark.sh +++ b/lgsm/functions/fix_ark.sh @@ -6,9 +6,9 @@ # Symlinking the SteamCMD directory into the correct ARK directory so that the mods auto-management will work. if [ ! -d "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" ]; then - ln -s "${steamcmddir}" "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" + ln -s "${HOME}/.steam/steamcmd" "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" fi if [ ! -d "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" ]; then - ln -s "$HOME/Steam/steamapps/" "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" + ln -s "${HOME}/Steam/SteamApps" "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" fi diff --git a/lgsm/functions/fix_ss3.sh b/lgsm/functions/fix_ss3.sh index 3baf5d866..1c81f87ae 100644 --- a/lgsm/functions/fix_ss3.sh +++ b/lgsm/functions/fix_ss3.sh @@ -9,9 +9,9 @@ local commandaction="Fix" local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")") # Fixes https://steamcommunity.com/app/41070/discussions/0/353916981477716386/ -if [ "$(diff "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Bin/steamclient.so" >/dev/null)" ]; then +if [ "$(diff "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Bin/steamclient.so" >/dev/null)" ]; then fixname="steamclient.so" fn_fix_msg_start - cp -f "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Bin/steamclient.so" + cp -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Bin/steamclient.so" fn_fix_msg_end fi diff --git a/lgsm/functions/fix_steamcmd.sh b/lgsm/functions/fix_steamcmd.sh index 62a3c9fed..86cdbf0c4 100644 --- a/lgsm/functions/fix_steamcmd.sh +++ b/lgsm/functions/fix_steamcmd.sh @@ -13,7 +13,7 @@ if [ ! -f "${HOME}/.steam/sdk32/steamclient.so" ]; then fixname="steamclient.so" fn_fix_msg_start mkdir -pv "${HOME}/.steam/sdk32" >> "${lgsmlog}" - cp -v "${steamcmddir}/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}" + cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}" fn_fix_msg_end fi @@ -22,7 +22,7 @@ if [ "${shortname}" == "bt" ]; then if [ ! -L "${executabledir}/lib64/steamclient.so" ]; then fixname="steamclient.so x86_64" fn_fix_msg_start - cp -s -v "${steamcmddir}/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}" + cp -s -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}" fn_fix_msg_end fi elif [ "${shortname}" == "ss3" ]; then @@ -39,13 +39,13 @@ elif [ "${shortname}" == "hw" ]; then if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then fixname="steamclient.so x86" fn_fix_msg_start - cp "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}" + cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}" fn_fix_msg_end fi if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" ]; then fixname="steamclient.so x86_64" fn_fix_msg_start - cp "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}" + cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}" fn_fix_msg_end fi elif [ "${shortname}" == "tu" ]; then From eb649c3c1e4b8dca55de049261b0b75de44c9efc Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 13 Mar 2020 23:06:28 +0000 Subject: [PATCH 2/5] steamapps --- lgsm/functions/fix_ark.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/fix_ark.sh b/lgsm/functions/fix_ark.sh index cd7e92163..3db1d6ef7 100644 --- a/lgsm/functions/fix_ark.sh +++ b/lgsm/functions/fix_ark.sh @@ -10,5 +10,5 @@ if [ ! -d "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" ]; then fi if [ ! -d "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" ]; then - ln -s "${HOME}/Steam/SteamApps" "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" + ln -s "${HOME}/Steam/steamapps" "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" fi From 6e698afb050ff6c409d8b4ecb62c092ad2494024 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 13 Mar 2020 23:34:58 +0000 Subject: [PATCH 3/5] bypass apt install steamcmd if debian non-free repo is missing --- lgsm/functions/check_deps.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index 28b2b593c..e3bc03634 100644 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -327,7 +327,7 @@ fn_deps_build_debian(){ array_deps_missing=() # LinuxGSM requirements. - array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq tmux steamcmd ) + array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq tmux ) # All servers except ts3, mumble, GTA and minecraft servers require libstdc++6 and lib32gcc1. if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${engine}" != "renderware" ]; then @@ -337,6 +337,15 @@ fn_deps_build_debian(){ array_deps_required+=( lib32stdc++6 ) fi fi + # If requires steamcmd. + if [ "${appid}" ]; then + # Will not use apt if non-free repo is missing + if [ "${distroid}" == "debian" ]&& ! grep -qE "^deb .*non-free" /etc/apt/sources.list; then + : + else + array_deps_required+=( steamcmd ) + fi + fi # Game Specific requirements. From 0a89292bb4d949d154eab295e227c847d30a8aa5 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 13 Mar 2020 23:54:53 +0000 Subject: [PATCH 4/5] travis test --- lgsm/functions/check_steamcmd.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh index 5673e9ee8..5c8621f73 100644 --- a/lgsm/functions/check_steamcmd.sh +++ b/lgsm/functions/check_steamcmd.sh @@ -47,6 +47,9 @@ fn_check_steamcmd(){ # Checks if SteamCMD exists when starting or updating a server. # Only install if steamcmd package is missing or steamcmd dir is missing. if [ ! -f "${steamcmddir}/steamcmd.sh" ]&&[ -z "$(command -v steamcmd 2>/dev/null)" ]; then + echo "#############" + which steamcmd + echo "#############" if [ "${function_selfname}" == "command_install.sh" ]; then fn_install_steamcmd else From 9ab09d9e9df53065d67ac74b35fb17291b6e9030 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 14 Mar 2020 00:11:54 +0000 Subject: [PATCH 5/5] add alterative location for steamclient.so --- lgsm/functions/fix_steamcmd.sh | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/lgsm/functions/fix_steamcmd.sh b/lgsm/functions/fix_steamcmd.sh index 86cdbf0c4..3f4907d15 100644 --- a/lgsm/functions/fix_steamcmd.sh +++ b/lgsm/functions/fix_steamcmd.sh @@ -13,7 +13,13 @@ if [ ! -f "${HOME}/.steam/sdk32/steamclient.so" ]; then fixname="steamclient.so" fn_fix_msg_start mkdir -pv "${HOME}/.steam/sdk32" >> "${lgsmlog}" - cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}" + if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then + cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}" + elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then + cp -v "${steamcmddir}/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}" + else + $?=2 + fi fn_fix_msg_end fi @@ -22,7 +28,13 @@ if [ "${shortname}" == "bt" ]; then if [ ! -L "${executabledir}/lib64/steamclient.so" ]; then fixname="steamclient.so x86_64" fn_fix_msg_start - cp -s -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}" + if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then + cp -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}" + elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then + cp -v "${steamcmddir}/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}" + else + $?=2 + fi fn_fix_msg_end fi elif [ "${shortname}" == "ss3" ]; then @@ -39,13 +51,25 @@ elif [ "${shortname}" == "hw" ]; then if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then fixname="steamclient.so x86" fn_fix_msg_start - cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}" + if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then + cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}" + elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then + cp -v "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}" + else + : + fi fn_fix_msg_end fi if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" ]; then fixname="steamclient.so x86_64" fn_fix_msg_start - cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}" + if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then + cp -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}" + elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then + cp -v "${steamcmddir}/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}" + else + : + fi fn_fix_msg_end fi elif [ "${shortname}" == "tu" ]; then