update_dl.sh 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
  9. fn_steamcmd_dl(){
  10. check.sh
  11. info_config.sh
  12. fn_printdots "Updating ${servername}"
  13. sleep 1
  14. fn_printoknl "Updating ${servername}"
  15. fn_scriptlog "Updating ${servername}"
  16. sleep 1
  17. cd "${rootdir}"
  18. cd "steamcmd"
  19. # Detects if unbuffer command is available.
  20. if [ $(command -v unbuffer) ]; then
  21. unbuffer=unbuffer
  22. fi
  23. if [ "${engine}" == "goldsource" ]; then
  24. ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" +quit|tee -a "${scriptlog}"
  25. else
  26. ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" +quit|tee -a "${scriptlog}"
  27. fi
  28. if [ "${gamename}" == "Counter Strike: Global Offensive" ]; then
  29. echo -e '\n'
  30. fix_csgo.sh
  31. fi
  32. }
  33. fn_teamspeak3_dl(){
  34. check.sh
  35. info_config.sh
  36. fn_printdots "Updating ${servername}"
  37. sleep 1
  38. fn_printoknl "Updating ${servername}"
  39. fn_scriptlog "Updating ${servername}"
  40. sleep 1
  41. cd "${rootdir}"
  42. echo -e "downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  43. fn_scriptlog "Downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  44. 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
  45. sleep 1
  46. echo -e "extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  47. fn_scriptlog "Extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  48. tar -xf "teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz" 2> "${scriptlogdir}/.${servicename}-tar-error.tmp"
  49. local status=$?
  50. if [ ${status} -eq 0 ]; then
  51. echo "OK"
  52. else
  53. echo "FAIL - Exit status ${status}"
  54. fn_scriptlog "Failed to extract - Exit status ${status}"
  55. sleep 1
  56. cat "${scriptlogdir}/.${servicename}-tar-error.tmp"
  57. cat "${scriptlogdir}/.${servicename}-tar-error.tmp" >> "${scriptlog}"
  58. rm "${scriptlogdir}/.${servicename}-tar-error.tmp"
  59. fn_scriptlog "Failure! Unable to update"
  60. exit ${status}
  61. fi
  62. echo -e "copying to ${filesdir}...\c"
  63. fn_scriptlog "Copying to ${filesdir}"
  64. cp -R "${rootdir}/teamspeak3-server_linux-${ts3arch}/"* "${filesdir}" 2> "${scriptlogdir}/.${servicename}-cp-error.tmp"
  65. local status=$?
  66. if [ ${status} -eq 0 ]; then
  67. echo "OK"
  68. else
  69. echo "FAIL - Exit status ${status}"
  70. fn_scriptlog "Failed to copy - Exit status ${status}"
  71. sleep 1
  72. cat "${scriptlogdir}/.${servicename}-cp-error.tmp"
  73. cat "${scriptlogdir}/.${servicename}-cp-error.tmp" >> "${scriptlog}"
  74. rm "${scriptlogdir}/.${servicename}-cp-error.tmp"
  75. fn_scriptlog "Failure! Unable to update"
  76. exit ${status}
  77. fi
  78. rm -f teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz
  79. rm -rf "${rootdir}/teamspeak3-server_linux-${ts3arch}"
  80. }
  81. if [ "${gamename}" == "Teamspeak 3" ]; then
  82. fn_teamspeak3_dl
  83. else
  84. fn_steamcmd_dl
  85. fi