fn_update_dl 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/bash
  2. # LGSM fn_update_dl function
  3. # Author: Daniel Gibbs
  4. # Website: http://gameservermanagers.com
  5. # Version: 160515
  6. # Description: Runs a server update.
  7. local modulename="Update"
  8. fn_steamcmd_dl(){
  9. fn_check_root
  10. fn_check_systemdir
  11. fn_details_config
  12. fn_printdots "Updating ${servername}"
  13. sleep 1
  14. fn_check_steamcmd
  15. fn_check_steamuser
  16. fn_printoknl "Updating ${servername}"
  17. fn_scriptlog "Updating ${servername}"
  18. sleep 1
  19. cd "${rootdir}"
  20. cd "steamcmd"
  21. # Detects if unbuffer command is available.
  22. if [ $(command -v unbuffer) ]; then
  23. unbuffer=unbuffer
  24. fi
  25. ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" +quit|tee -a "${scriptlog}"
  26. }
  27. fn_teamspeak3_dl(){
  28. fn_check_root
  29. fn_check_systemdir
  30. fn_details_config
  31. fn_printdots "Updating ${servername}"
  32. sleep 1
  33. fn_printoknl "Updating ${servername}"
  34. fn_scriptlog "Updating ${servername}"
  35. sleep 1
  36. cd "${rootdir}"
  37. echo -e "downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  38. fn_scriptlog "Downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  39. 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
  40. sleep 1
  41. echo -e "extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  42. fn_scriptlog "Extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  43. tar -xf "teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz" 2> "${scriptlogdir}/.${servicename}-tar-error.tmp"
  44. local status=$?
  45. if [ ${status} -eq 0 ]; then
  46. echo "OK"
  47. else
  48. echo "FAIL - Exit status ${status}"
  49. fn_scriptlog "Failed to extract - Exit status ${status}"
  50. sleep 1
  51. cat "${scriptlogdir}/.${servicename}-tar-error.tmp"
  52. cat "${scriptlogdir}/.${servicename}-tar-error.tmp" >> "${scriptlog}"
  53. rm "${scriptlogdir}/.${servicename}-tar-error.tmp"
  54. fn_scriptlog "Failure! Unable to update"
  55. exit
  56. fi
  57. echo -e "copying to ${filesdir}...\c"
  58. fn_scriptlog "Copying to ${filesdir}"
  59. cp -R "${rootdir}/teamspeak3-server_linux-${ts3arch}/"* "${filesdir}" 2> "${scriptlogdir}/.${servicename}-cp-error.tmp"
  60. local status=$?
  61. if [ ${status} -eq 0 ]; then
  62. echo "OK"
  63. else
  64. echo "FAIL - Exit status ${status}"
  65. fn_scriptlog "Failed to copy - Exit status ${status}"
  66. sleep 1
  67. cat "${scriptlogdir}/.${servicename}-cp-error.tmp"
  68. cat "${scriptlogdir}/.${servicename}-cp-error.tmp" >> "${scriptlog}"
  69. rm "${scriptlogdir}/.${servicename}-cp-error.tmp"
  70. fn_scriptlog "Failure! Unable to update"
  71. exit
  72. fi
  73. rm -f teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz
  74. rm -rf "${rootdir}/teamspeak3-server_linux-${ts3arch}"
  75. }
  76. if [ "${gamename}" == "Teamspeak 3" ]; then
  77. fn_teamspeak3_dl
  78. else
  79. fn_steamcmd_dl
  80. fi