update_dl.sh 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 [ "${gamename}" == "Counter Strike: Global Offensive" ]; then
  22. echo -e '\n'
  23. fix_csgo.sh
  24. fi
  25. }
  26. fn_teamspeak3_dl(){
  27. cd "${rootdir}"
  28. echo -e "downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  29. fn_scriptlog "Downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  30. 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
  31. sleep 1
  32. echo -e "extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  33. fn_scriptlog "Extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  34. tar -xf "teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz" 2> "${scriptlogdir}/.${servicename}-tar-error.tmp"
  35. local status=$?
  36. if [ ${status} -eq 0 ]; then
  37. echo "OK"
  38. else
  39. echo "FAIL - Exit status ${status}"
  40. fn_scriptlog "Failed to extract - Exit status ${status}"
  41. sleep 1
  42. cat "${scriptlogdir}/.${servicename}-tar-error.tmp"
  43. cat "${scriptlogdir}/.${servicename}-tar-error.tmp" >> "${scriptlog}"
  44. rm "${scriptlogdir}/.${servicename}-tar-error.tmp"
  45. fn_scriptlog "Failure! Unable to update"
  46. exit ${status}
  47. fi
  48. echo -e "copying to ${filesdir}...\c"
  49. fn_scriptlog "Copying to ${filesdir}"
  50. cp -R "${rootdir}/teamspeak3-server_linux-${ts3arch}/"* "${filesdir}" 2> "${scriptlogdir}/.${servicename}-cp-error.tmp"
  51. local status=$?
  52. if [ ${status} -eq 0 ]; then
  53. echo "OK"
  54. else
  55. echo "FAIL - Exit status ${status}"
  56. fn_scriptlog "Failed to copy - Exit status ${status}"
  57. sleep 1
  58. cat "${scriptlogdir}/.${servicename}-cp-error.tmp"
  59. cat "${scriptlogdir}/.${servicename}-cp-error.tmp" >> "${scriptlog}"
  60. rm "${scriptlogdir}/.${servicename}-cp-error.tmp"
  61. fn_scriptlog "Failure! Unable to update"
  62. exit ${status}
  63. fi
  64. rm -f teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz
  65. rm -rf "${rootdir}/teamspeak3-server_linux-${ts3arch}"
  66. }
  67. check.sh
  68. info_config.sh
  69. fn_printdots "Updating ${servername}"
  70. sleep 1
  71. fn_printoknl "Updating ${servername}"
  72. fn_scriptlog "Updating ${servername}"
  73. sleep 1
  74. if [ "${gamename}" == "Teamspeak 3" ]; then
  75. fn_teamspeak3_dl
  76. else
  77. fn_steamcmd_dl
  78. fi