|
@@ -0,0 +1,84 @@
|
|
|
|
|
+#!/bin/bash
|
|
|
|
|
+# LGSM fn_install_ts3 function
|
|
|
|
|
+# Author: Daniel Gibbs
|
|
|
|
|
+# Website: http://gameservermanagers.com
|
|
|
|
|
+# Version: 120515
|
|
|
|
|
+
|
|
|
|
|
+fn_details_config
|
|
|
|
|
+# Gets the teamspeak server architecture
|
|
|
|
|
+ts3arch=${arch}
|
|
|
|
|
+
|
|
|
|
|
+# Grabs all version numbers not in correct order
|
|
|
|
|
+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
|
|
|
|
|
+
|
|
|
|
|
+# removes digits to allow sorting of numbers
|
|
|
|
|
+cat .ts3_version_numbers_unsorted.tmp |tr -cd "[:digit:][*\n]" > .ts3_version_numbers_digit.tmp
|
|
|
|
|
+# Sorts numbers in to correct order
|
|
|
|
|
+# merges two files in to one with two columns sorts the numbers in to order then only outputs the second to the ts3_version_numbers.tmp
|
|
|
|
|
+paste .ts3_version_numbers_digit.tmp .ts3_version_numbers_unsorted.tmp |sort -rn|awk '{ print $2 }' > .ts3_version_numbers.tmp
|
|
|
|
|
+
|
|
|
|
|
+# Finds directory with most recent server version.
|
|
|
|
|
+while read ts3_version_number; do
|
|
|
|
|
+ wget --spider -q "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux-${ts3arch}-${ts3_version_number}.tar.gz"
|
|
|
|
|
+ if [[ $? == 0 ]]; then
|
|
|
|
|
+ availablebuild="${ts3_version_number}"
|
|
|
|
|
+ # Break while-loop, if the latest release could be found
|
|
|
|
|
+ echo "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-66server_linux-${ts3arch}-${ts3_version_number}.tar.g"
|
|
|
|
|
+ break
|
|
|
|
|
+ fi
|
|
|
|
|
+done < .ts3_version_numbers.tmp
|
|
|
|
|
+rm -f .ts3_version_numbers_digit.tmp
|
|
|
|
|
+rm -f .ts3_version_numbers_unsorted.tmp
|
|
|
|
|
+rm -f .ts3_version_numbers.tmp
|
|
|
|
|
+
|
|
|
|
|
+# Checks availablebuild info is available
|
|
|
|
|
+if [ -z "${availablebuild}" ]; then
|
|
|
|
|
+ fn_printfail "Checking for update: teamspeak.com"
|
|
|
|
|
+ fn_scriptlog "Checking for update: teamspeak.com"
|
|
|
|
|
+ sleep 1
|
|
|
|
|
+ fn_printfail "Checking for update: teamspeak.com: Not returning version info"
|
|
|
|
|
+ fn_scriptlog "Failure! Checking for update: teamspeak.com: Not returning version info"
|
|
|
|
|
+ sleep 2
|
|
|
|
|
+ exit
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+cd "${rootdir}"
|
|
|
|
|
+echo -e "downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
|
|
|
|
|
+fn_scriptlog "Downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
|
|
|
|
|
+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
|
|
|
|
|
+sleep 1
|
|
|
|
|
+echo -e "extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c"
|
|
|
|
|
+fn_scriptlog "Extracting teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz"
|
|
|
|
|
+tar -xf "teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz" 2> "${scriptlogdir}/.${servicename}-tar-error.tmp"
|
|
|
|
|
+local status=$?
|
|
|
|
|
+if [ ${status} -eq 0 ]; then
|
|
|
|
|
+ echo "OK"
|
|
|
|
|
+else
|
|
|
|
|
+ echo "FAIL - Exit status ${status}"
|
|
|
|
|
+ fn_scriptlog "Failed to extract - Exit status ${status}"
|
|
|
|
|
+ sleep 1
|
|
|
|
|
+ cat "${scriptlogdir}/.${servicename}-tar-error.tmp"
|
|
|
|
|
+ cat "${scriptlogdir}/.${servicename}-tar-error.tmp" >> "${scriptlog}"
|
|
|
|
|
+ rm "${scriptlogdir}/.${servicename}-tar-error.tmp"
|
|
|
|
|
+ fn_scriptlog "Failure! Unable to update"
|
|
|
|
|
+ exit
|
|
|
|
|
+fi
|
|
|
|
|
+echo -e "copying to ${filesdir}...\c"
|
|
|
|
|
+fn_scriptlog "Copying to ${filesdir}"
|
|
|
|
|
+cp -R "${rootdir}/teamspeak3-server_linux-${ts3arch}/*" "${filesdir}" 2> "${scriptlogdir}/.${servicename}-cp-error.tmp"
|
|
|
|
|
+local status=$?
|
|
|
|
|
+if [ ${status} -eq 0 ]; then
|
|
|
|
|
+ echo "OK"
|
|
|
|
|
+else
|
|
|
|
|
+ echo "FAIL - Exit status ${status}"
|
|
|
|
|
+ fn_scriptlog "Failed to copy - Exit status ${status}"
|
|
|
|
|
+ sleep 1
|
|
|
|
|
+ cat "${scriptlogdir}/.${servicename}-cp-error.tmp"
|
|
|
|
|
+ cat "${scriptlogdir}/.${servicename}-cp-error.tmp" >> "${scriptlog}"
|
|
|
|
|
+ rm "${scriptlogdir}/.${servicename}-cp-error.tmp"
|
|
|
|
|
+ fn_scriptlog "Failure! Unable to update"
|
|
|
|
|
+ exit
|
|
|
|
|
+fi
|
|
|
|
|
+rm -f teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz
|
|
|
|
|
+rm -rf "${rootdir}/teamspeak3-server_linux-${ts3arch}"
|
|
|
|
|
+
|