#!/bin/bash # Teamspeak 3 # Server Management Script # Author: Daniel Gibbs # Website: http://gameservermanagers.com version="201215" #### Variables #### # Notification Email # (on|off) emailnotification="off" email="email@example.com" # Start Variables updateonstart="off" # Server Details gamename="Teamspeak 3" servername="Teamspeak 3 Server" servicename="ts3-server" # Directories rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" lockselfname=".${servicename}.lock" filesdir="${rootdir}/serverfiles" systemdir="${filesdir}" executabledir="${filesdir}" executable="./ts3server_startscript.sh" servercfg="${servicename}.ini" servercfgdir="${filesdir}" servercfgfullpath="${servercfgdir}/${servercfg}" backupdir="${rootdir}/backups" # Logging logdays="7" gamelogdir="${filesdir}/logs" scriptlogdir="${rootdir}/log/script" scriptlog="${scriptlogdir}/${servicename}-script.log" emaillog="${scriptlogdir}/${servicename}-email.log" scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" # Github Branch Select # Allows for the use of different function files # from a different repo and/or branch. githubuser="dgibbs64" githubrepo="linuxgsm" githubbranch="master" ##### Script ##### # Do not edit fn_getgithubfile(){ filename=$1 exec=$2 fileurl=${3:-$filename} filepath="${rootdir}/${filename}" filedir=$(dirname "${filepath}") # If the function file is missing, then download if [ ! -f "${filepath}" ]; then if [ ! -d "${filedir}" ]; then mkdir "${filedir}" fi githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${fileurl}" echo -e " fetching ${filename}...\c" if [ "$(command -v curl)" ]||[ "$(which curl >/dev/null 2>&1)" ]||[ -f "/usr/bin/curl" ]||[ -f "/bin/curl" ]; then : else echo -e "\e[0;31mFAIL\e[0m\n" echo "Curl is not installed!" echo -e "" exit fi curl=$(curl --fail -o "${filepath}" "${githuburl}" 2>&1) if [ $? -ne 0 ]; then echo -e "\e[0;31mFAIL\e[0m\n" echo "${curl}" echo -e "${githuburl}\n" exit else echo -e "\e[0;32mOK\e[0m" fi if [ "${exec}" ]; then chmod +x "${filepath}" fi fi if [ "${exec}" ]; then source "${filepath}" fi } fn_runfunction(){ fn_getgithubfile "functions/${functionfile}" 1 } fn_functions(){ # Functions are defined in fn_functions. functionfile="${FUNCNAME}" fn_runfunction } fn_functions getopt=$1 fn_getopt