diff --git a/functions/fn_functions b/functions/fn_functions index 1e19e39fa..c481251fd 100644 --- a/functions/fn_functions +++ b/functions/fn_functions @@ -2,7 +2,7 @@ # LGSM fn_functions function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -# Version: 190515 +# Version: 240515 # Description: Defines all functions to allow download and execution of functions using fn_runfunction. # This function is called first before any other function. Without this file other functions would not load. @@ -253,6 +253,11 @@ functionfile="${FUNCNAME}" fn_runfunction } +fn_install_ts3(){ +functionfile="${FUNCNAME}" +fn_runfunction +} + fn_install_ut2k4(){ functionfile="${FUNCNAME}" fn_runfunction diff --git a/functions/fn_getopt b/functions/fn_getopt index 448639e3c..15c6b6f7c 100644 --- a/functions/fn_getopt +++ b/functions/fn_getopt @@ -2,7 +2,7 @@ # LGSM fn_getopt function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -# Version: 190515 +# Version: 240515 # Description: getopt arguments. @@ -74,7 +74,7 @@ case "$getopt" in auto-install) fn_autoinstall;; *) - echo "Usage: $0 {start|stop|restart|update|update-funtions|monitor|email-test|details|backup}" + echo "Usage: $0 {start|stop|restart|update|update-funtions|monitor|email-test|details|backup|install|auto-install}" exit 1;; esac exit diff --git a/functions/fn_install_config b/functions/fn_install_config index a62d4254d..0d7fa063c 100644 --- a/functions/fn_install_config +++ b/functions/fn_install_config @@ -2,7 +2,7 @@ # LGSM fn_server function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -# Version: 120515 +# Version: 240515 fn_arma3config(){ mkdir -pv "${servercfgdir}" @@ -87,6 +87,16 @@ sed -i "s/\"rconpassword\"/\"${rconpass}\"/g" "${servercfgfullpath}" echo "" } +fn_ts3config(){ +echo "Creating blank ${servercfg}" +sleep 1 +echo "${servercfg} can remain blank by default." +sleep 1 +echo "${servercfg} is located in ${servercfgfullpath}." +sleep 1 +touch "${servercfgfullpath}" +} + fn_ut99config(){ echo "${defaultcfg} > ${servercfgfullpath}" tr -d '\r' < "${defaultcfg}" > "${servercfgfullpath}" @@ -245,6 +255,8 @@ elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then wget -N /dev/null https://raw.githubusercontent.com/dgibbs64/linuxgsm/master/SeriousSam3BFE/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq sleep 1 fn_serious3config +elif [ "${gamename}" == "Teamspeak 3" ]; then + fn_ts3config elif [ "${gamename}" == "Team Fortress 2" ]; then echo -e "downloading lgsm-default.cfg...\c" wget -N /dev/null https://raw.githubusercontent.com/dgibbs64/linuxgsm/master/TeamFortress2/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq diff --git a/functions/fn_install_ts3 b/functions/fn_install_ts3 index a6b05feea..4c55bec3c 100644 --- a/functions/fn_install_ts3 +++ b/functions/fn_install_ts3 @@ -2,11 +2,18 @@ # LGSM fn_install_ts3 function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -# Version: 120515 +# Version: 240515 -fn_details_config +fn_details_distro # Gets the teamspeak server architecture -ts3arch=${arch} +if [ "${arch}" == "x86_64" ]; then + ts3arch="amd64" +elif [ "${arch}" == "i386" ]; then + ts3arch="x86" +else + fn_printfailure "${arch} is an unsupported architecture" + exit +fi # 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>' | egrep -o '[0-9\.?]+'|uniq > .ts3_version_numbers_unsorted.tmp @@ -22,6 +29,7 @@ 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}" + echo "Latest Build: ${availablebuild}" # 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 @@ -34,51 +42,52 @@ 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}" +mkdir "${filesdir}" 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" +tar -xf "teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz" 2> ".${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" + cat ".${servicename}-tar-error.tmp" + rm ".${servicename}-tar-error.tmp" 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" +cp -R "${rootdir}/teamspeak3-server_linux-${ts3arch}/"* "${filesdir}" 2> ".${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" + cat ".${servicename}-cp-error.tmp" + rm ".${servicename}-cp-error.tmp" exit fi rm -f teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz rm -rf "${rootdir}/teamspeak3-server_linux-${ts3arch}" +## Get privilege key +echo "" +echo "Getting privilege key" +echo "=================================" +sleep 1 +echo "IMPORANT! Save these details for later." +sleep 1 +cd "${executabledir}" +./ts3server_startscript.sh start +sleep 5 +./ts3server_startscript.sh stop \ No newline at end of file diff --git a/functions/fn_start b/functions/fn_start index ad023c663..c5946714d 100644 --- a/functions/fn_start +++ b/functions/fn_start @@ -2,7 +2,7 @@ # LGSM fn_start function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -# Version: 090515 +# Version: 240515 # Description: Starts the server. @@ -23,13 +23,17 @@ fi if [ ! -e "${servercfgfullpath}" ]; then fn_printwarn "${servercfgfullpath} is missing" fn_scriptlog "${servercfgfullpath} is missing" - sleep 1 - fn_printinfo "Creating blank ${servercfgfullpath}" - fn_scriptlog "Creating blank ${servercfgfullpath}" - sleep 1 - fn_printinfo "${servercfgfullpath} can remain blank by default." + sleep 2 + echo -en "\n" + echo " * Creating blank ${servercfg}" + fn_scriptlog "Creating blank ${servercfg}" + sleep 2 + echo " * ${servercfg} can remain blank by default." fn_scriptlog "${servercfgfullpath} can remain blank by default." - sleep 1 + sleep 2 + echo " * ${servercfg} is located in ${servercfgfullpath}." + fn_scriptlog "${servercfg} is located in ${servercfgfullpath}." + sleep 5 touch "${servercfgfullpath}" fi fn_logs