gameservergame-servergame-servershacktoberfestdedicated-game-serversgamelinuxgsmserverbashgaminglinuxmultiplayer-game-servershell
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.1 KiB
51 lines
2.1 KiB
#!/bin/bash
|
|
# LinuxGSM fix_steamcmd.sh function
|
|
# Author: Daniel Gibbs
|
|
# Website: https://linuxgsm.com
|
|
# Description: Resolves various issues related to SteamCMD.
|
|
|
|
local commandname="FIX"
|
|
local commandaction="Fix"
|
|
local function_selfname="$(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 "${HOME}/.steam/sdk32/steamclient.so" ]; then
|
|
fixname="steamclient.so general"
|
|
fn_fix_msg_start
|
|
mkdir -pv "${HOME}/.steam/sdk32" >> "${lgsmlog}"
|
|
cp -v "${steamcmddir}/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}"
|
|
fn_fix_msg_end
|
|
fi
|
|
|
|
if [ "${gamename}" == "Serious Sam 3: BFE" ]; then
|
|
# Fixes: .steam/bin32/libsteam.so: cannot open shared object file: No such file or directory
|
|
if [ ! -f "${HOME}/.steam/bin32/libsteam.so" ]; then
|
|
fixname="libsteam.so"
|
|
fn_fix_msg_start
|
|
mkdir -pv "${HOME}/.steam/bin32" >> "${lgsmlog}"
|
|
cp -v "${serverfiles}/Bin/libsteam.so" "${HOME}/.steam/bin32/libsteam.so" >> "${lgsmlog}"
|
|
fn_fix_msg_end
|
|
fi
|
|
elif [ "${gamename}" == "Hurtworld" ]; then
|
|
# 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
|
|
cp -v "${steamcmddir}/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 -v "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}"
|
|
fn_fix_msg_end
|
|
fi
|
|
elif [ "${gamename}" == "Tower Unite" ]; then
|
|
# Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
|
|
if [ ! -f "${executabledir}/steamclient.so" ]; then
|
|
fixname="steamclient.so"
|
|
fn_fix_msg_start
|
|
cp -v "${serverfiles}/linux64/steamclient.so" "${executabledir}/steamclient.so" >> "${lgsmlog}"
|
|
fn_fix_msg_end
|
|
fi
|
|
fi
|
|
|