fix_ark.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. # LinuxGSM fix_ark.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: Resolves various issues with ARK: Survival Evolved.
  6. # Steam mods directory selecter
  7. # This allows LinxuGSM to select either ~/.steam or ~/Steam. depending on what is being used
  8. steamappsfile=$(find ${HOME} -name appworkshop_346110.acf)
  9. steamappsdir=$(dirname "${steamappsfile}")
  10. steamappspath=$(cd ${steamappsdir};cd ../;pwd)
  11. # removes the symlink if exists.
  12. # fixes issue with older versions of LinuxGSM linking to /home/arkserver/steamcmd
  13. if [ -L "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" ]; then
  14. fixname="broken SteamCMD symlink"
  15. fn_fix_msg_start
  16. unlink "${serverfiles:?}/Engine/Binaries/ThirdParty/SteamCMD/Linux"
  17. fn_fix_msg_end
  18. check_steamcmd.sh
  19. fi
  20. # removed ARK steamcmd directory if steamcmd is missing.
  21. if [ ! -f "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamcmd.sh" ]; then
  22. fixname="remove invalid ARK SteamCMD directory"
  23. fn_fix_msg_start
  24. rm -rf "${serverfiles:?}/Engine/Binaries/ThirdParty/SteamCMD/Linux"
  25. fn_fix_msg_end
  26. check_steamcmd.sh
  27. fi
  28. # if the steamapps symlink is incorrect unlink it.
  29. if [ -d "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" ]&&[ -L "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" ]&&[ "$(readlink ${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps)" != "${steamappspath}" ]; then
  30. fixname="incorrect steamapps symlink"
  31. fn_fix_msg_start
  32. unlink "${serverfiles:?}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps"
  33. fn_fix_msg_end
  34. fi
  35. # Put symlink to steamapps directory into the ARK SteamCMD directory to link the downloaded mods to the correct location.
  36. if [ ! -L "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" ]; then
  37. fixname="steamapps symlink"
  38. fn_fix_msg_start
  39. ln -s "${steamappspath}" "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps"
  40. fn_fix_msg_end
  41. fi