fix_steamcmd.sh 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/bash
  2. # LinuxGSM fix_steamcmd.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: Resolves various issues related to SteamCMD.
  6. local modulename="FIX"
  7. local commandaction="Fix"
  8. function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  9. # Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam,or a local steamclient.so.
  10. if [ ! -f "${HOME}/.steam/sdk32/steamclient.so" ]; then
  11. fixname="steamclient.so"
  12. fn_fix_msg_start
  13. mkdir -pv "${HOME}/.steam/sdk32" >> "${lgsmlog}"
  14. if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then
  15. cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}"
  16. elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then
  17. cp -v "${steamcmddir}/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}"
  18. else
  19. $?=2
  20. fi
  21. fn_fix_msg_end
  22. fi
  23. if [ "${shortname}" == "bt" ]; then
  24. # Fixes: [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
  25. if [ ! -L "${executabledir}/lib64/steamclient.so" ]; then
  26. fixname="steamclient.so x86_64"
  27. fn_fix_msg_start
  28. if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then
  29. cp -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}"
  30. elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then
  31. cp -v "${steamcmddir}/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}"
  32. else
  33. $?=2
  34. fi
  35. fn_fix_msg_end
  36. fi
  37. elif [ "${shortname}" == "ss3" ]; then
  38. # Fixes: .steam/bin32/libsteam.so: cannot open shared object file: No such file or directory
  39. if [ ! -f "${HOME}/.steam/bin32/libsteam.so" ]; then
  40. fixname="libsteam.so"
  41. fn_fix_msg_start
  42. mkdir -pv "${HOME}/.steam/bin32" >> "${lgsmlog}"
  43. cp "${serverfiles}/Bin/libsteam.so" "${HOME}/.steam/bin32/libsteam.so" >> "${lgsmlog}"
  44. fn_fix_msg_end
  45. fi
  46. elif [ "${shortname}" == "hw" ]; then
  47. # Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
  48. if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then
  49. fixname="steamclient.so x86"
  50. fn_fix_msg_start
  51. if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then
  52. cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}"
  53. elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then
  54. cp -v "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}"
  55. else
  56. :
  57. fi
  58. fn_fix_msg_end
  59. fi
  60. if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" ]; then
  61. fixname="steamclient.so x86_64"
  62. fn_fix_msg_start
  63. if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then
  64. cp -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}"
  65. elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then
  66. cp -v "${steamcmddir}/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}"
  67. else
  68. :
  69. fi
  70. fn_fix_msg_end
  71. fi
  72. elif [ "${shortname}" == "tu" ]; then
  73. # Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
  74. if [ ! -f "${executabledir}/steamclient.so" ]; then
  75. fixname="steamclient.so"
  76. fn_fix_msg_start
  77. cp -v "${serverfiles}/linux64/steamclient.so" "${executabledir}/steamclient.so" >> "${lgsmlog}"
  78. fn_fix_msg_end
  79. fi
  80. fi