Просмотр исходного кода

feat: various improvements to steamclient.so related messages and issues (#3040)

converted ballistic overkill to 64-bit
removed log parameter from hurtworld to enable verbose console
converted Huttworld to 64-bit only
add steamclient.so fixes for all unity3d servers
standardise steamclient.so fixes mainly for unity3d servers
Daniel Gibbs 5 лет назад
Родитель
Сommit
358e34dc0f

+ 1 - 1
lgsm/config-default/config-lgsm/boserver/_default.cfg

@@ -155,7 +155,7 @@ glibc="2.15"
 ## Game Server Directories
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
-executable="./BODS.x86"
+executable="./BODS.x86_64"
 servercfgdir="${systemdir}"
 servercfg="${selfname}.txt"
 servercfgdefault="config.txt"

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

@@ -29,7 +29,7 @@ loadsave=""
 ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
 # Edit with care | http://hurtworld.wikia.com/wiki/Hosting_A_Server
 fn_parms(){
-parms="-batchmode -nographics -exec \"host ${port} ${defaultmap} ${loadsave};queryport ${queryport};maxplayers ${maxplayers};servername ${servername};creativemode ${creativemode};${admins}\" -logfile \"${gamelog}\" "
+parms="-batchmode -nographics -exec \"host ${port} ${defaultmap} ${loadsave};queryport ${queryport};maxplayers ${maxplayers};servername ${servername};creativemode ${creativemode};${admins}\""
 }
 
 #### LinuxGSM Settings ####
@@ -168,7 +168,7 @@ glibc="2.15"
 ## Game Server Directories
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
-executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./Hurtworld.x86_64" || echo -e "./Hurtworld.x86")
+executable="./Hurtworld.x86_64"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"

+ 10 - 0
lgsm/functions/core_functions.sh

@@ -320,6 +320,11 @@ functionfile="${FUNCNAME[0]}"
 fn_fetch_function
 }
 
+fix_bo.sh(){
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
 fix_cmw.sh(){
 functionfile="${FUNCNAME[0]}"
 fn_fetch_function
@@ -410,6 +415,11 @@ functionfile="${FUNCNAME[0]}"
 fn_fetch_function
 }
 
+fix_st.sh(){
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
 fix_steamcmd.sh(){
 functionfile="${FUNCNAME[0]}"
 fn_fetch_function

+ 4 - 0
lgsm/functions/fix.sh

@@ -40,6 +40,8 @@ if [ "${commandname}" != "INSTALL" ]&&[ -z "${fixbypass}" ]; then
 		fix_arma3.sh
 	elif [ "${shortname}" == "ark" ]; then
 		fix_ark.sh
+	elif [ "${shortname}" == "bo" ]; then
+		fix_bo.sh
 	elif [ "${shortname}" == "cs" ]; then
 		fix_cs.sh
 	elif [ "${shortname}" == "csgo" ]; then
@@ -74,6 +76,8 @@ if [ "${commandname}" != "INSTALL" ]&&[ -z "${fixbypass}" ]; then
 		fix_squad.sh
 	elif [ "${shortname}" == "ss3" ]; then
 		fix_ss3.sh
+	elif [ "${shortname}" == "st" ]; then
+		fix_st.sh
 	elif [ "${shortname}" == "tf2" ]; then
 		fix_tf2.sh
 	elif [ "${shortname}" == "terraria" ]; then

+ 35 - 0
lgsm/functions/fix_bo.sh

@@ -0,0 +1,35 @@
+#!/bin/bash
+# LinuxGSM fix_hw.sh function
+# Author: Daniel Gibbs
+# Website: https://linuxgsm.com
+# Description: Resolves various issues with Ballistic Overkill.
+
+functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/BODS_Data/Plugins/x86_64"
+
+# steamclient.so x86 fix for unity3d game server
+if [ ! -f "${serverfiles}/BODS_Data/Plugins/x86/steamclient.so" ]; then
+	fixname="steamclient.so x86"
+	fn_fix_msg_start
+	mkdir -p "${serverfiles}/BODS_Data/Plugins/x86"
+	if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then
+		cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/BODS_Data/Plugins/x86/steamclient.so"
+	elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then
+		cp "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/BODS_Data/Plugins/x86/steamclient.so"
+	fi
+	fn_fix_msg_end
+fi
+
+# steamclient.so x86_64 fix for unity3d game server
+if [ ! -f "${serverfiles}/BODS_Data/Plugins/x86_64/steamclient.so" ]; then
+	fixname="steamclient.so x86_64"
+	fn_fix_msg_start
+	mkdir -p "${serverfiles}/BODS_Data/Plugins/x86_64"
+	if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then
+		cp "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${serverfiles}/BODS_Data/Plugins/x86_64/steamclient.so"
+	elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then
+		cp "${steamcmddir}/linux64/steamclient.so" "${serverfiles}/BODS_Data/Plugins/x86_64/steamclient.so"
+	fi
+	fn_fix_msg_end
+fi

+ 1 - 0
lgsm/functions/fix_cmw.sh

@@ -12,6 +12,7 @@ if [ ! -f "${executabledir}/steam_appid.txt" ]; then
 	fn_fix_msg_end
 fi
 
+# steamclient.so x86 fix.
 if [ ! -f "${executabledir}/lib/steamclient.so" ]; then
 	fixname="steamclient.so x86"
 	fn_fix_msg_start

+ 1 - 1
lgsm/functions/fix_cs.sh

@@ -6,7 +6,7 @@
 
 functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-# Fixes: steamclient.so: cannot open shared object file: No such file or directory
+# steamclient.so x86 fix.
 if [ ! -f "${serverfiles}/steamclient.so" ]; then
 	fixname="steamclient.so x86"
 	fn_fix_msg_start

+ 1 - 23
lgsm/functions/fix_hw.sh

@@ -6,26 +6,4 @@
 
 functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-# Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
-if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then
-	fixname="steamclient.so x86"
-	fn_fix_msg_start
-	mkdir -p "${serverfiles}/Hurtworld_Data/Plugins/x86"
-	if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then
-		cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so"
-	elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then
-		cp "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so"
-	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
-	mkdir -p "${serverfiles}/Hurtworld_Data/Plugins/x86_64"
-	if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then
-		cp "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so"
-	elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then
-		cp "${steamcmddir}/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so"
-	fi
-	fn_fix_msg_end
-fi
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/Hurtworld_Data/Plugins/x86_64"

+ 2 - 1
lgsm/functions/fix_pz.sh

@@ -6,7 +6,7 @@
 
 functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-# Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
+# steamclient.so x86 fix.
 if [ ! -f "${serverfiles}/linux32/steamclient.so" ]; then
 	fixname="steamclient.so x86"
 	fn_fix_msg_start
@@ -19,6 +19,7 @@ if [ ! -f "${serverfiles}/linux32/steamclient.so" ]; then
 	fn_fix_msg_end
 fi
 
+# steamclient.so x86_64 fix.
 if [ ! -f "${serverfiles}/linux64/steamclient.so" ]; then
 	fixname="steamclient.so x86_64"
 	fn_fix_msg_start

+ 10 - 0
lgsm/functions/fix_st.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+# LinuxGSM fix_rust.sh function
+# Author: Daniel Gibbs
+# Website: https://linuxgsm.com
+# Description: Resolves startup issue with Stationeers.
+
+functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
+# Fixes: [Raknet] Server Shutting Down (Shutting Down).
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/rocketstation_DedicatedServer_Data/Plugins/x86_64"

+ 1 - 1
lgsm/functions/fix_tu.sh

@@ -6,7 +6,7 @@
 
 functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-# Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
+# steamclient.so x86_64 fix.
 if [ ! -f "${executabledir}/steamclient.so" ]; then
 	fixname="steamclient.so x86_64"
 	fn_fix_msg_start

+ 6 - 6
lgsm/functions/fix_unt.sh

@@ -6,17 +6,17 @@
 
 functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-# copy steamclient to server dir to fix the below
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/Unturned_Headless_Data/Plugins/x86_64"
+
+# steamclient.so x86_64 fix.
 if [ ! -f "${serverfiles}/steamclient.so" ]; then
 	fixname="steamclient.so x86_64"
 	fn_fix_msg_start
+	mkdir -p "${serverfiles}"
 	if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then
-		cp "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${serverfiles}/steamclient.so" >> "${lgsmlog}"
+		cp "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${serverfiles}/steamclient.so"
 	elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then
-		cp "${steamcmddir}/linux64/steamclient.so" "${serverfiles}/steamclient.so" >> "${lgsmlog}"
+		cp "${steamcmddir}/linux64/steamclient.so" "${serverfiles}/steamclient.so"
 	fi
 	fn_fix_msg_end
 fi
-
-# steamclient.so: cannot open shared object file: No such file or directory
-export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}"