fn_update_dl 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/bin/bash
  2. # LGSM fn_update_dl function
  3. # Author: Daniel Gibbs
  4. # Website: http://gameservermanagers.com
  5. lgsm_version="061115"
  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_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. fn_csgofix
  31. fi
  32. }
  33. fn_teamspeak3_dl(){
  34. fn_check_root
  35. fn_check_systemdir
  36. fn_details_config
  37. fn_printdots "Updating ${servername}"
  38. sleep 1
  39. fn_printoknl "Updating ${servername}"
  40. fn_scriptlog "Updating ${servername}"
  41. sleep 1
  42. cd "${rootdir}"
  43. echo -e "downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  44. fn_scriptlog "Downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  45. 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
  46. sleep 1
  47. echo -e "extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
  48. fn_scriptlog "Extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
  49. tar -xf "teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz" 2> "${scriptlogdir}/.${servicename}-tar-error.tmp"
  50. local status=$?
  51. if [ ${status} -eq 0 ]; then
  52. echo "OK"
  53. else
  54. echo "FAIL - Exit status ${status}"
  55. fn_scriptlog "Failed to extract - Exit status ${status}"
  56. sleep 1
  57. cat "${scriptlogdir}/.${servicename}-tar-error.tmp"
  58. cat "${scriptlogdir}/.${servicename}-tar-error.tmp" >> "${scriptlog}"
  59. rm "${scriptlogdir}/.${servicename}-tar-error.tmp"
  60. fn_scriptlog "Failure! Unable to update"
  61. exit ${status}
  62. fi
  63. echo -e "copying to ${filesdir}...\c"
  64. fn_scriptlog "Copying to ${filesdir}"
  65. cp -R "${rootdir}/teamspeak3-server_linux-${ts3arch}/"* "${filesdir}" 2> "${scriptlogdir}/.${servicename}-cp-error.tmp"
  66. local status=$?
  67. if [ ${status} -eq 0 ]; then
  68. echo "OK"
  69. else
  70. echo "FAIL - Exit status ${status}"
  71. fn_scriptlog "Failed to copy - Exit status ${status}"
  72. sleep 1
  73. cat "${scriptlogdir}/.${servicename}-cp-error.tmp"
  74. cat "${scriptlogdir}/.${servicename}-cp-error.tmp" >> "${scriptlog}"
  75. rm "${scriptlogdir}/.${servicename}-cp-error.tmp"
  76. fn_scriptlog "Failure! Unable to update"
  77. exit ${status}
  78. fi
  79. rm -f teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz
  80. rm -rf "${rootdir}/teamspeak3-server_linux-${ts3arch}"
  81. }
  82. if [ "${gamename}" == "Teamspeak 3" ]; then
  83. fn_teamspeak3_dl
  84. else
  85. fn_steamcmd_dl
  86. fi