check_steamcmd.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/bash
  2. # LinuxGSM check_steamcmd.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: Checks if SteamCMD is installed correctly.
  6. local modulename="CHECK"
  7. fn_install_steamcmd(){
  8. if [ ! -d "${steamcmddir}" ]; then
  9. mkdir -pv "${steamcmddir}"
  10. fi
  11. fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${tmpdir}" "steamcmd_linux.tar.gz"
  12. fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
  13. chmod +x "${steamcmddir}/steamcmd.sh"
  14. }
  15. fn_check_steamcmd_user(){
  16. # Checks if steamuser is setup.
  17. if [ "${steamuser}" == "username" ]; then
  18. if [ "${legacymode}" == "1" ]; then
  19. fn_print_fail_nl "Steam login not set. Update steamuser in ${selfname}"
  20. else
  21. fn_print_fail_nl "Steam login not set. Update steamuser in ${configdirserver}"
  22. fi
  23. echo -e " * Change steamuser=\"username\" to a valid steam login."
  24. if [ -d "${lgsmlogdir}" ]; then
  25. if [ "${legacymode}" == "1" ]; then
  26. fn_script_log_fatal "Steam login not set. Update steamuser in ${selfname}"
  27. else
  28. fn_script_log_fatal "Steam login not set. Update steamuser in ${configdirserver}"
  29. fi
  30. fi
  31. core_exit.sh
  32. fi
  33. # Anonymous user is set if steamuser is missing.
  34. if [ -z "${steamuser}" ]; then
  35. if [ -d "${lgsmlogdir}" ]; then
  36. fn_script_log_info "Using anonymous Steam login"
  37. fi
  38. steamuser="anonymous"
  39. steampass=''
  40. fi
  41. }
  42. fn_check_steamcmd(){
  43. # Checks if SteamCMD exists when starting or updating a server.
  44. # Only install if steamcmd package is missing or steamcmd dir is missing.
  45. if [ ! -f "${steamcmddir}/steamcmd.sh" ]&&[ -z "$(command -v steamcmd 2>/dev/null)" ]; then
  46. if [ "${function_selfname}" == "command_install.sh" ]; then
  47. fn_install_steamcmd
  48. else
  49. fn_print_error_nl "SteamCMD is missing"
  50. fn_script_log_error "SteamCMD is missing"
  51. fn_install_steamcmd
  52. fi
  53. elif [ "${function_selfname}" == "command_install.sh" ]; then
  54. fn_print_information "SteamCMD is already installed..."
  55. fn_print_ok_eol_nl
  56. fi
  57. }
  58. fn_check_steamcmd_clear(){
  59. # Will remove steamcmd dir if steamcmd package is installed.
  60. if [ "$(command -v steamcmd 2>/dev/null)" ]&&[ -d "${steamcmddir}" ]; then
  61. rm -rf "${steamcmddir:?}"
  62. exitcode=$?
  63. if [ ${exitcode} -ne 0 ]; then
  64. fn_script_log_fatal "Removing ${steamcmddir}"
  65. else
  66. fn_script_log_pass "Removing ${steamcmddir}"
  67. fi
  68. fi
  69. }
  70. fn_check_steamcmd_exec(){
  71. if [ "$(command -v steamcmd 2>/dev/null)" ]; then
  72. steamcmdcommand="steamcmd"
  73. else
  74. steamcmdcommand="./steamcmd.sh"
  75. fi
  76. }
  77. fn_check_steamcmd
  78. fn_check_steamcmd_clear
  79. fn_check_steamcmd_user
  80. fn_check_steamcmd_exec