|
@@ -8,22 +8,13 @@ local commandname="UPDATE"
|
|
|
local commandaction="Update"
|
|
local commandaction="Update"
|
|
|
local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
|
|
local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
|
|
|
|
|
|
|
|
-fn_update_ts3_dl_legacy(){
|
|
|
|
|
- fn_fetch_file "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
|
|
|
|
|
- fn_dl_extract "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}"
|
|
|
|
|
- echo -e "copying to ${serverfiles}...\c"
|
|
|
|
|
- fn_script_log "Copying to ${serverfiles}"
|
|
|
|
|
- cp -R "${tmpdir}/teamspeak3-server_linux_${ts3arch}/"* "${serverfiles}"
|
|
|
|
|
- local exitcode=$?
|
|
|
|
|
- if [ "${exitcode}" == "0" ]; then
|
|
|
|
|
- fn_print_ok_eol_nl
|
|
|
|
|
- else
|
|
|
|
|
- fn_print_fail_eol_nl
|
|
|
|
|
- fi
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
fn_update_ts3_dl(){
|
|
fn_update_ts3_dl(){
|
|
|
- latestts3releaselink=$(${curlpath} -s 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86_64.mirrors."teamspeak.com"')
|
|
|
|
|
|
|
+ info_distro.sh
|
|
|
|
|
+ if [ "${ts3arch}" == "x86_64" ]; then
|
|
|
|
|
+ latestts3releaselink=$(${curlpath} -s 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86_64.mirrors."teamspeak.com"')
|
|
|
|
|
+ elif [ "${ts3arch}" == "x86" ]; then
|
|
|
|
|
+ latestts3releaselink=$(${curlpath} -s 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86.mirrors."teamspeak.com"')
|
|
|
|
|
+ fi
|
|
|
fn_fetch_file "${latestts3releaselink}" "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
|
|
fn_fetch_file "${latestts3releaselink}" "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
|
|
|
fn_dl_extract "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}"
|
|
fn_dl_extract "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}"
|
|
|
echo -e "copying to ${serverfiles}...\c"
|
|
echo -e "copying to ${serverfiles}...\c"
|
|
@@ -40,7 +31,7 @@ fn_update_ts3_dl(){
|
|
|
fn_update_ts3_currentbuild(){
|
|
fn_update_ts3_currentbuild(){
|
|
|
# Gets current build info
|
|
# Gets current build info
|
|
|
# Checks if current build info is available. If it fails, then a server restart will be forced to generate logs.
|
|
# Checks if current build info is available. If it fails, then a server restart will be forced to generate logs.
|
|
|
- if [ -z "$(find ./* -name 'ts3server*_0.log')" ]; then
|
|
|
|
|
|
|
+ if [ ! -d "${serverfiles}/logs" ]||[ -z "$(find "${serverfiles}/logs/"* -name 'ts3server*_0.log' 2> /dev/null)" ]; then
|
|
|
fn_print_error "Checking for update: teamspeak.com"
|
|
fn_print_error "Checking for update: teamspeak.com"
|
|
|
sleep 0.5
|
|
sleep 0.5
|
|
|
fn_print_error_nl "Checking for update: teamspeak.com: No logs with server version found"
|
|
fn_print_error_nl "Checking for update: teamspeak.com: No logs with server version found"
|
|
@@ -55,7 +46,7 @@ fn_update_ts3_currentbuild(){
|
|
|
command_start.sh
|
|
command_start.sh
|
|
|
sleep 0.5
|
|
sleep 0.5
|
|
|
# Check again and exit on failure.
|
|
# Check again and exit on failure.
|
|
|
- if [ -z "$(find ./* -name 'ts3server*_0.log')" ]; then
|
|
|
|
|
|
|
+ if [ ! -d "${serverfiles}/logs" ]||[ -z "$(find "${serverfiles}/logs/"* -name 'ts3server*_0.log')" ]; then
|
|
|
fn_print_fail_nl "Checking for update: teamspeak.com: Still No logs with server version found"
|
|
fn_print_fail_nl "Checking for update: teamspeak.com: Still No logs with server version found"
|
|
|
fn_script_log_fatal "Checking for update: teamspeak.com: Still No logs with server version found"
|
|
fn_script_log_fatal "Checking for update: teamspeak.com: Still No logs with server version found"
|
|
|
core_exit.sh
|
|
core_exit.sh
|
|
@@ -63,7 +54,7 @@ fn_update_ts3_currentbuild(){
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
# Get current build from logs
|
|
# Get current build from logs
|
|
|
- currentbuild=$(cat $(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | grep -Ev "${rootdir}/.ts3version" | tail -1) | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | sort -V | tail -1)
|
|
|
|
|
|
|
+ currentbuild="$(cat "$(find "${serverfiles}/logs/"* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1)" | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | sort -V)"
|
|
|
if [ -z "${currentbuild}" ]; then
|
|
if [ -z "${currentbuild}" ]; then
|
|
|
fn_print_error_nl "Checking for update: teamspeak.com: Current build version not found"
|
|
fn_print_error_nl "Checking for update: teamspeak.com: Current build version not found"
|
|
|
fn_script_log_error "Checking for update: teamspeak.com: Current build version not found"
|
|
fn_script_log_error "Checking for update: teamspeak.com: Current build version not found"
|
|
@@ -74,7 +65,7 @@ fn_update_ts3_currentbuild(){
|
|
|
command_stop.sh
|
|
command_stop.sh
|
|
|
exitbypass=1
|
|
exitbypass=1
|
|
|
command_start.sh
|
|
command_start.sh
|
|
|
- currentbuild=$(cat $(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | grep -Ev "${rootdir}/.ts3version" | tail -1) | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}")
|
|
|
|
|
|
|
+ currentbuild="$(cat "$(find "${serverfiles}/logs/"* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1)" | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | sort -V)"
|
|
|
if [ -z "${currentbuild}" ]; then
|
|
if [ -z "${currentbuild}" ]; then
|
|
|
fn_print_fail_nl "Checking for update: teamspeak.com: Current build version still not found"
|
|
fn_print_fail_nl "Checking for update: teamspeak.com: Current build version still not found"
|
|
|
fn_script_log_fatal "Checking for update: teamspeak.com: Current build version still not found"
|
|
fn_script_log_fatal "Checking for update: teamspeak.com: Current build version still not found"
|
|
@@ -98,7 +89,6 @@ else
|
|
|
fi
|
|
fi
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
fn_update_ts3_availablebuild(){
|
|
fn_update_ts3_availablebuild(){
|
|
|
# Gets latest build info.
|
|
# Gets latest build info.
|
|
|
if [ "${arch}" == "x86_64" ]; then
|
|
if [ "${arch}" == "x86_64" ]; then
|
|
@@ -108,11 +98,11 @@ fn_update_ts3_availablebuild(){
|
|
|
fi
|
|
fi
|
|
|
ts3_version_number="${availablebuild}"
|
|
ts3_version_number="${availablebuild}"
|
|
|
# Checks if availablebuild variable has been set
|
|
# Checks if availablebuild variable has been set
|
|
|
- if [ -z "${availablebuild}" ]||[ "${availablebuild}" == "null" ]; then
|
|
|
|
|
|
|
+ if [ -v "${availablebuild}" ]||[ "${availablebuild}" == "null" ]; then
|
|
|
fn_print_fail "Checking for update: teamspeak.com"
|
|
fn_print_fail "Checking for update: teamspeak.com"
|
|
|
sleep 0.5
|
|
sleep 0.5
|
|
|
fn_print_fail "Checking for update: teamspeak.com: Not returning version info"
|
|
fn_print_fail "Checking for update: teamspeak.com: Not returning version info"
|
|
|
- fn_script_log_fatal "Failure! Checking for update: teamspeak.com: Not returning version info"
|
|
|
|
|
|
|
+ fn_script_log_fatal "Checking for update: teamspeak.com: Not returning version info"
|
|
|
core_exit.sh
|
|
core_exit.sh
|
|
|
elif [ "${installer}" == "1" ]; then
|
|
elif [ "${installer}" == "1" ]; then
|
|
|
:
|
|
:
|
|
@@ -123,45 +113,6 @@ fn_update_ts3_availablebuild(){
|
|
|
fi
|
|
fi
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-fn_update_ts3_availablebuild_legacy(){
|
|
|
|
|
- # Gets latest build info.
|
|
|
|
|
-
|
|
|
|
|
- # Grabs all version numbers but not in correct order.
|
|
|
|
|
- wget "http://dl.4players.de/ts/releases/?C=M;O=D" -q -O - | grep -i dir | grep -Eo '<a href=\".*\/\">.*\/<\/a>' | grep -Eo '[0-9\.?]+' | uniq > "${tmpdir}/.ts3_version_numbers_unsorted.tmp"
|
|
|
|
|
-
|
|
|
|
|
- # Sort version numbers
|
|
|
|
|
- cat "${tmpdir}/.ts3_version_numbers_unsorted.tmp" | sort -r --version-sort -o "${tmpdir}/.ts3_version_numbers_sorted.tmp"
|
|
|
|
|
-
|
|
|
|
|
- # Finds directory with most recent server version.
|
|
|
|
|
- while read -r ts3_version_number; do
|
|
|
|
|
- wget --spider -q "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
|
|
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
|
|
- availablebuild="${ts3_version_number}"
|
|
|
|
|
- # Break while-loop, if the latest release could be found.
|
|
|
|
|
- break
|
|
|
|
|
- fi
|
|
|
|
|
- done < "${tmpdir}/.ts3_version_numbers_sorted.tmp"
|
|
|
|
|
-
|
|
|
|
|
- # Tidy up
|
|
|
|
|
- rm -f "${tmpdir}/.ts3_version_numbers_unsorted.tmp"
|
|
|
|
|
- rm -f "${tmpdir}/.ts3_version_numbers_sorted.tmp"
|
|
|
|
|
-
|
|
|
|
|
- # Checks availablebuild info is available
|
|
|
|
|
- if [ -z "${availablebuild}" ]; then
|
|
|
|
|
- fn_print_fail "Checking for update: teamspeak.com"
|
|
|
|
|
- sleep 0.5
|
|
|
|
|
- fn_print_fail "Checking for update: teamspeak.com: Not returning version info"
|
|
|
|
|
- fn_script_log_fatal "Failure! Checking for update: teamspeak.com: Not returning version info"
|
|
|
|
|
- core_exit.sh
|
|
|
|
|
- elif [ "${installer}" == "1" ]; then
|
|
|
|
|
- :
|
|
|
|
|
- else
|
|
|
|
|
- fn_print_ok "Checking for update: teamspeak.com"
|
|
|
|
|
- fn_script_log_pass "Checking for update: teamspeak.com"
|
|
|
|
|
- sleep 0.5
|
|
|
|
|
- fi
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
fn_update_ts3_compare(){
|
|
fn_update_ts3_compare(){
|
|
|
# Removes dots so if can compare version numbers
|
|
# Removes dots so if can compare version numbers
|
|
|
currentbuilddigit=$(echo "${currentbuild}" | tr -cd '[:digit:]')
|
|
currentbuilddigit=$(echo "${currentbuild}" | tr -cd '[:digit:]')
|
|
@@ -219,24 +170,14 @@ fn_update_ts3_compare(){
|
|
|
|
|
|
|
|
fn_update_ts3_arch
|
|
fn_update_ts3_arch
|
|
|
if [ "${installer}" == "1" ]; then
|
|
if [ "${installer}" == "1" ]; then
|
|
|
- # if jq available uses json update checker
|
|
|
|
|
- if [ "$(command -v jq >/dev/null 2>&1)" ]; then
|
|
|
|
|
- fn_update_ts3_availablebuild
|
|
|
|
|
- fn_update_ts3_dl
|
|
|
|
|
- else
|
|
|
|
|
- fn_update_ts3_availablebuild_legacy
|
|
|
|
|
- fn_update_ts3_dl_legacy
|
|
|
|
|
- fi
|
|
|
|
|
|
|
+ fn_update_ts3_availablebuild
|
|
|
|
|
+ fn_update_ts3_dl
|
|
|
else
|
|
else
|
|
|
# Checks for server update from teamspeak.com using a mirror dl.4players.de.
|
|
# Checks for server update from teamspeak.com using a mirror dl.4players.de.
|
|
|
fn_print_dots "Checking for update: teamspeak.com"
|
|
fn_print_dots "Checking for update: teamspeak.com"
|
|
|
fn_script_log_info "Checking for update: teamspeak.com"
|
|
fn_script_log_info "Checking for update: teamspeak.com"
|
|
|
sleep 0.5
|
|
sleep 0.5
|
|
|
fn_update_ts3_currentbuild
|
|
fn_update_ts3_currentbuild
|
|
|
- if [ "$(command -v jq >/dev/null 2>&1)" ]; then
|
|
|
|
|
- fn_update_ts3_availablebuild
|
|
|
|
|
- else
|
|
|
|
|
- fn_update_ts3_availablebuild_legacy
|
|
|
|
|
- fi
|
|
|
|
|
|
|
+ fn_update_ts3_availablebuild
|
|
|
fn_update_ts3_compare
|
|
fn_update_ts3_compare
|
|
|
fi
|
|
fi
|