install_ts3.sh 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/bin/bash
  2. # LGSM install_ts3.sh function
  3. # Author: Daniel Gibbs
  4. # Website: http://gameservermanagers.com
  5. lgsm_version="271215"
  6. info_distro.sh
  7. # Gets the teamspeak server architecture
  8. if [ "${arch}" == "x86_64" ]; then
  9. ts3arch="amd64"
  10. elif [ "${arch}" == "i386" ]||[ "${arch}" == "i686" ]; then
  11. ts3arch="x86"
  12. else
  13. fn_printfailure "${arch} is an unsupported architecture"
  14. exit 1
  15. fi
  16. # Grabs all version numbers but not in correct order
  17. wget "http://dl.4players.de/ts/releases/?C=M;O=D" -q -O -| grep -i dir | egrep -o '<a href=\".*\/\">.*\/<\/a>' | egrep -o '[0-9\.?]+'|uniq > .ts3_version_numbers_unsorted.tmp
  18. # Sort version numbers
  19. cat .ts3_version_numbers_unsorted.tmp | sort -r --version-sort -o .ts3_version_numbers_sorted.tmp
  20. # Finds directory with most recent server version.
  21. while read ts3_version_number; do
  22. wget --spider -q "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
  23. if [ $? -eq 0 ]; then
  24. availablebuild="${ts3_version_number}"
  25. # Break while-loop, if the latest release could be found
  26. break
  27. fi
  28. done < .ts3_version_numbers_sorted.tmp
  29. # Tidy up
  30. rm -f ".ts3_version_numbers_unsorted.tmp"
  31. rm -f ".ts3_version_numbers_sorted.tmp"
  32. # Checks availablebuild info is available
  33. if [ -z "${availablebuild}" ]; then
  34. fn_printfail "Checking for update: teamspeak.com"
  35. fn_scriptlog "Checking for update: teamspeak.com"
  36. sleep 1
  37. fn_printfail "Checking for update: teamspeak.com: Not returning version info"
  38. fn_scriptlog "Failure! Checking for update: teamspeak.com: Not returning version info"
  39. sleep 2
  40. exit 1
  41. fi
  42. cd "${rootdir}"
  43. echo -e "downloading teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2...\c"
  44. wget -N /dev/null http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2 2>&1 | grep -F HTTP | cut -c45-| uniq
  45. sleep 1
  46. echo -e "extracting teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2...\c"
  47. tar -xf "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" 2> ".${servicename}-tar-error.tmp"
  48. local status=$?
  49. if [ ${status} -eq 0 ]; then
  50. echo "OK"
  51. else
  52. echo "FAIL - Exit status ${status}"
  53. sleep 1
  54. cat ".${servicename}-tar-error.tmp"
  55. rm ".${servicename}-tar-error.tmp"
  56. exit $?
  57. fi
  58. echo -e "copying to ${filesdir}...\c"
  59. cp -R "${rootdir}/teamspeak3-server_linux_${ts3arch}/"* "${filesdir}" 2> ".${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. sleep 1
  66. cat ".${servicename}-cp-error.tmp"
  67. rm ".${servicename}-cp-error.tmp"
  68. exit $?
  69. fi
  70. rm -f "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
  71. rm -rf "${rootdir}/teamspeak3-server_linux_${ts3arch}"