update_dl.sh 3.0 KB

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