update_dl.sh 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/bin/bash
  2. # LGSM update_dl.sh function
  3. # Author: Daniel Gibbs
  4. # Website: http://gameservermanagers.com
  5. lgsm_version="271215"
  6. # Description: Runs a server update.
  7. local modulename="Update"
  8. fn_steamcmd_dl(){
  9. check.sh
  10. info_config.sh
  11. fn_printdots "Updating ${servername}"
  12. sleep 1
  13. fn_printoknl "Updating ${servername}"
  14. fn_scriptlog "Updating ${servername}"
  15. sleep 1
  16. cd "${rootdir}"
  17. cd "steamcmd"
  18. # Detects if unbuffer command is available.
  19. if [ $(command -v unbuffer) ]; then
  20. unbuffer=unbuffer
  21. fi
  22. if [ "${engine}" == "goldsource" ]; then
  23. ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" +quit|tee -a "${scriptlog}"
  24. else
  25. ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" +quit|tee -a "${scriptlog}"
  26. fi
  27. if [ "${gamename}" == "Counter Strike: Global Offensive" ]; then
  28. echo -e '\n'
  29. fix_csgo.sh
  30. fi
  31. }
  32. fn_teamspeak3_dl(){
  33. check.sh
  34. info_config.sh
  35. fn_printdots "Updating ${servername}"
  36. sleep 1
  37. fn_printoknl "Updating ${servername}"
  38. fn_scriptlog "Updating ${servername}"
  39. sleep 1
  40. cd "${rootdir}"
  41. echo -e "downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  42. fn_scriptlog "Downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  43. wget -N /dev/null http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux-${ts3arch}-${ts3_version_number}.tar.gz 2>&1 | grep -F HTTP | cut -c45-| uniq
  44. sleep 1
  45. echo -e "extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  46. fn_scriptlog "Extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  47. tar -xf "teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz" 2> "${scriptlogdir}/.${servicename}-tar-error.tmp"
  48. local status=$?
  49. if [ ${status} -eq 0 ]; then
  50. echo "OK"
  51. else
  52. echo "FAIL - Exit status ${status}"
  53. fn_scriptlog "Failed to extract - Exit status ${status}"
  54. sleep 1
  55. cat "${scriptlogdir}/.${servicename}-tar-error.tmp"
  56. cat "${scriptlogdir}/.${servicename}-tar-error.tmp" >> "${scriptlog}"
  57. rm "${scriptlogdir}/.${servicename}-tar-error.tmp"
  58. fn_scriptlog "Failure! Unable to update"
  59. exit ${status}
  60. fi
  61. echo -e "copying to ${filesdir}...\c"
  62. fn_scriptlog "Copying to ${filesdir}"
  63. cp -R "${rootdir}/teamspeak3-server_linux-${ts3arch}/"* "${filesdir}" 2> "${scriptlogdir}/.${servicename}-cp-error.tmp"
  64. local status=$?
  65. if [ ${status} -eq 0 ]; then
  66. echo "OK"
  67. else
  68. echo "FAIL - Exit status ${status}"
  69. fn_scriptlog "Failed to copy - Exit status ${status}"
  70. sleep 1
  71. cat "${scriptlogdir}/.${servicename}-cp-error.tmp"
  72. cat "${scriptlogdir}/.${servicename}-cp-error.tmp" >> "${scriptlog}"
  73. rm "${scriptlogdir}/.${servicename}-cp-error.tmp"
  74. fn_scriptlog "Failure! Unable to update"
  75. exit ${status}
  76. fi
  77. rm -f teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz
  78. rm -rf "${rootdir}/teamspeak3-server_linux-${ts3arch}"
  79. }
  80. if [ "${gamename}" == "Teamspeak 3" ]; then
  81. fn_teamspeak3_dl
  82. else
  83. fn_steamcmd_dl
  84. fi