From d52a343e25dd79f413066787646fbee0544a3c5f Mon Sep 17 00:00:00 2001 From: PhilPhonic Date: Fri, 25 Dec 2015 10:29:42 +0100 Subject: [PATCH 1/7] init Support for MariaDB/MySQL --- TeamSpeak3/cfg/lgsm-default.ini | 20 +++++++++++++ TeamSpeak3/ts3server | 1 + functions/fn_functions | 5 ++++ functions/fn_install | 2 ++ functions/fn_install_config | 15 +++------- functions/fn_install_ts3 | 12 -------- functions/fn_install_ts3db | 52 +++++++++++++++++++++++++++++++++ 7 files changed, 84 insertions(+), 23 deletions(-) create mode 100644 TeamSpeak3/cfg/lgsm-default.ini create mode 100644 functions/fn_install_ts3db diff --git a/TeamSpeak3/cfg/lgsm-default.ini b/TeamSpeak3/cfg/lgsm-default.ini new file mode 100644 index 000000000..71000a42e --- /dev/null +++ b/TeamSpeak3/cfg/lgsm-default.ini @@ -0,0 +1,20 @@ +machine_id= +default_voice_port=9987 +voice_ip=0.0.0.0 +licensepath= +filetransfer_port=30033 +filetransfer_ip=0.0.0.0 +query_port=10011 +query_ip=0.0.0.0 +query_ip_whitelist=query_ip_whitelist.txt +query_ip_blacklist=query_ip_blacklist.txt +dbplugin=ts3db_sqlite3 +dbpluginparameter= +dbsqlpath=sql/ +dbsqlcreatepath=create_sqlite/ +dbconnections=10 +logpath=logs +logquerycommands=0 +dbclientkeepdays=30 +logappend=0 +query_skipbruteforcecheck=0 \ No newline at end of file diff --git a/TeamSpeak3/ts3server b/TeamSpeak3/ts3server index 215cb2866..a428798e7 100644 --- a/TeamSpeak3/ts3server +++ b/TeamSpeak3/ts3server @@ -37,6 +37,7 @@ executable="./ts3server_startscript.sh" servercfg="${servicename}.ini" servercfgdir="${filesdir}" servercfgfullpath="${servercfgdir}/${servercfg}" +servercfgdefault="${servercfgdir}/lgsm-default.ini" backupdir="${rootdir}/backups" # Logging diff --git a/functions/fn_functions b/functions/fn_functions index 39e3220d6..30d4dfdd8 100644 --- a/functions/fn_functions +++ b/functions/fn_functions @@ -284,6 +284,11 @@ functionfile="${FUNCNAME}" fn_runfunction } +fn_install_ts3db(){ +functionfile="${FUNCNAME}" +fn_runfunction +} + fn_install_ut2k4(){ functionfile="${FUNCNAME}" fn_runfunction diff --git a/functions/fn_install b/functions/fn_install index 0cc9129c4..e6a1a346f 100644 --- a/functions/fn_install +++ b/functions/fn_install @@ -32,6 +32,8 @@ fn_install_config if [ "${gamename}" == "Counter Strike: Global Offensive" ]; then fn_install_gslt fn_csgofix +elif [ "${gamename}" == "Teamspeak 3" ]; then + fn_install_ts3db elif [ "${gamename}" == "Team Fortress 2" ]; then fn_install_gslt elif [ "${gamename}" == "Killing Floor" ]; then diff --git a/functions/fn_install_config b/functions/fn_install_config index 2a0311634..a95d1a652 100644 --- a/functions/fn_install_config +++ b/functions/fn_install_config @@ -102,16 +102,6 @@ fn_userinputconfig echo "" } -fn_ts3config(){ -echo "creating blank ${servercfg} config file." -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' < "${servercfgdefault}" > "${servercfgfullpath}" @@ -283,7 +273,10 @@ elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then sleep 1 fn_serious3config elif [ "${gamename}" == "Teamspeak 3" ]; then - fn_ts3config + echo -e "downloading lgsm-default.ini...\c" + wget -N /dev/null ${githuburl}/TeamSpeak3/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq + sleep 1 + fn_defaultconfig elif [ "${gamename}" == "Team Fortress 2" ]; then echo -e "downloading lgsm-default.cfg...\c" wget -N /dev/null ${githuburl}/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 26f7a7724..f3fa529ba 100644 --- a/functions/fn_install_ts3 +++ b/functions/fn_install_ts3 @@ -79,15 +79,3 @@ else 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_install_ts3db b/functions/fn_install_ts3db new file mode 100644 index 000000000..8216b9df9 --- /dev/null +++ b/functions/fn_install_ts3db @@ -0,0 +1,52 @@ +#!/bin/bash +# LGSM fn_install_ts3_mariadb function +# Author: Daniel Gibbs +# Website: http://gameservermanagers.com +lgsm_version="241215" + +fn_install_ts3db_mariadb(){ + echo "" + echo "Configuring ${gamename} Server for MariaDB" + echo "=================================" + sleep 1 + read -p "Enter MariaDB hostname: " mariahostname + read -p "Enter MariaDB port: " mariaport + read -p "Enter MariaDB username: " mariausername + read -p "Enter MariaDB password: " mariapassword + read -p "Enter MariaDB database name: " mariadbname + echo "updating config." + echo "[config]" >> ${servercfgdir}/ts3db_mariadb.ini + echo "host='${mariahostname}'" >> ${servercfgdir}/ts3db_mariadb.ini + echo "port='${mariaport}'" >> ${servercfgdir}/ts3db_mariadb.ini + echo "username='${mariausername}'" >> ${servercfgdir}/ts3db_mariadb.ini + echo "password='${mariapassword}'" >> ${servercfgdir}/ts3db_mariadb.ini + echo "database='${mariadbname}'" >> ${servercfgdir}/ts3db_mariadb.ini + echo "socket=" >> ${servercfgdir}/ts3db_mariadb.ini + sed -i "s/\"dbplugin=ts3db_sqlite3\"/\"dbplugin=ts3db_mariadb\"/g" "${servercfgfullpath}" + sed -i "s/\"dbpluginparameter=\"/\"dbpluginparameter=ts3db_mariadb.ini\"/g" "${servercfgfullpath}" + sed -i "s/\"dbsqlcreatepath=create_sqlite/\"/\"dbsqlcreatepath=create_mysql/\"/g" "${servercfgfullpath}" + echo "=================================" + sleep 1 +} + +echo "" +while true; do + read -e -i "n" -p "Do you want to use MariaDB/MySQL instead of sqlite (Database Server including user and database already has to be set up!)? [y/N]" yn + case $yn in + [Yy]* ) fn_install_ts3db_mariadb && break;; + [Nn]* ) break;; + * ) echo "Please answer yes or no.";; + esac +done + +## 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 From fb90c1b42545a721ebd960871505940df013a393 Mon Sep 17 00:00:00 2001 From: PhilPhonic Date: Fri, 25 Dec 2015 10:48:52 +0100 Subject: [PATCH 2/7] fix removed doublequotes --- functions/fn_install_ts3db | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/functions/fn_install_ts3db b/functions/fn_install_ts3db index 8216b9df9..d8634faf4 100644 --- a/functions/fn_install_ts3db +++ b/functions/fn_install_ts3db @@ -22,9 +22,9 @@ fn_install_ts3db_mariadb(){ echo "password='${mariapassword}'" >> ${servercfgdir}/ts3db_mariadb.ini echo "database='${mariadbname}'" >> ${servercfgdir}/ts3db_mariadb.ini echo "socket=" >> ${servercfgdir}/ts3db_mariadb.ini - sed -i "s/\"dbplugin=ts3db_sqlite3\"/\"dbplugin=ts3db_mariadb\"/g" "${servercfgfullpath}" - sed -i "s/\"dbpluginparameter=\"/\"dbpluginparameter=ts3db_mariadb.ini\"/g" "${servercfgfullpath}" - sed -i "s/\"dbsqlcreatepath=create_sqlite/\"/\"dbsqlcreatepath=create_mysql/\"/g" "${servercfgfullpath}" + sed -i "s/dbplugin=ts3db_sqlite3/dbplugin=ts3db_mariadb/g" "${servercfgfullpath}" + sed -i "s/dbpluginparameter=/dbpluginparameter=ts3db_mariadb.ini/g" "${servercfgfullpath}" + sed -i "s/dbsqlcreatepath=create_sqlite\//dbsqlcreatepath=create_mysql\//g" "${servercfgfullpath}" echo "=================================" sleep 1 } From f321e72869a60f7afcc3bb80d42538fe7e54542f Mon Sep 17 00:00:00 2001 From: PhilPhonic Date: Fri, 25 Dec 2015 10:55:21 +0100 Subject: [PATCH 3/7] first startup use config-file --- functions/fn_install_ts3db | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/fn_install_ts3db b/functions/fn_install_ts3db index d8634faf4..9248f5103 100644 --- a/functions/fn_install_ts3db +++ b/functions/fn_install_ts3db @@ -47,6 +47,6 @@ sleep 1 echo "IMPORANT! Save these details for later." sleep 1 cd "${executabledir}" -./ts3server_startscript.sh start +./ts3server_startscript.sh start inifile=ts3-server.ini sleep 5 ./ts3server_startscript.sh stop From f340ae362d44069ffa6fd8f667046912758726a9 Mon Sep 17 00:00:00 2001 From: PhilPhonic Date: Fri, 25 Dec 2015 11:06:50 +0100 Subject: [PATCH 4/7] fixed path --- functions/fn_install_ts3db | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/fn_install_ts3db b/functions/fn_install_ts3db index 9248f5103..917067975 100644 --- a/functions/fn_install_ts3db +++ b/functions/fn_install_ts3db @@ -24,7 +24,7 @@ fn_install_ts3db_mariadb(){ echo "socket=" >> ${servercfgdir}/ts3db_mariadb.ini sed -i "s/dbplugin=ts3db_sqlite3/dbplugin=ts3db_mariadb/g" "${servercfgfullpath}" sed -i "s/dbpluginparameter=/dbpluginparameter=ts3db_mariadb.ini/g" "${servercfgfullpath}" - sed -i "s/dbsqlcreatepath=create_sqlite\//dbsqlcreatepath=create_mysql\//g" "${servercfgfullpath}" + sed -i "s/dbsqlcreatepath=create_sqlite\//dbsqlcreatepath=create_mariadb\//g" "${servercfgfullpath}" echo "=================================" sleep 1 } From 11d5227a5db19586e394fa730b817638abaf40a0 Mon Sep 17 00:00:00 2001 From: PhilPhonic Date: Fri, 25 Dec 2015 11:18:06 +0100 Subject: [PATCH 5/7] changed version numbers --- TeamSpeak3/ts3server | 2 +- functions/fn_functions | 2 +- functions/fn_install | 2 +- functions/fn_install_config | 2 +- functions/fn_install_ts3 | 2 +- functions/fn_install_ts3db | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/TeamSpeak3/ts3server b/TeamSpeak3/ts3server index a428798e7..5262b41f8 100644 --- a/TeamSpeak3/ts3server +++ b/TeamSpeak3/ts3server @@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="201215" +version="251215" #### Variables #### diff --git a/functions/fn_functions b/functions/fn_functions index 30d4dfdd8..b2f161396 100644 --- a/functions/fn_functions +++ b/functions/fn_functions @@ -2,7 +2,7 @@ # LGSM fn_functions function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -lgsm_version="201215" +lgsm_version="251215" # 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. diff --git a/functions/fn_install b/functions/fn_install index e6a1a346f..4ac5918b4 100644 --- a/functions/fn_install +++ b/functions/fn_install @@ -2,7 +2,7 @@ # LGSM fn_install function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -lgsm_version="201215" +lgsm_version="251215" fn_check_root fn_install_header diff --git a/functions/fn_install_config b/functions/fn_install_config index a95d1a652..07fb3a1f1 100644 --- a/functions/fn_install_config +++ b/functions/fn_install_config @@ -2,7 +2,7 @@ # LGSM fn_install_config function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -lgsm_version="201215" +lgsm_version="251215" fn_defaultconfig(){ echo "creating ${servercfg} config file." diff --git a/functions/fn_install_ts3 b/functions/fn_install_ts3 index f3fa529ba..3def559c4 100644 --- a/functions/fn_install_ts3 +++ b/functions/fn_install_ts3 @@ -2,7 +2,7 @@ # LGSM fn_install_ts3 function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -lgsm_version="061115" +lgsm_version="251215" fn_details_distro # Gets the teamspeak server architecture diff --git a/functions/fn_install_ts3db b/functions/fn_install_ts3db index 917067975..dc7e62003 100644 --- a/functions/fn_install_ts3db +++ b/functions/fn_install_ts3db @@ -2,7 +2,7 @@ # LGSM fn_install_ts3_mariadb function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -lgsm_version="241215" +lgsm_version="251215" fn_install_ts3db_mariadb(){ echo "" From bf5bb2c189a82ede53d7c08fc0f6af29f2326854 Mon Sep 17 00:00:00 2001 From: PhilPhonic Date: Fri, 25 Dec 2015 17:36:17 +0100 Subject: [PATCH 6/7] mkdir removed directory already created during fn_install_serverdir --- functions/fn_install_ts3 | 1 - 1 file changed, 1 deletion(-) diff --git a/functions/fn_install_ts3 b/functions/fn_install_ts3 index 3def559c4..3224667f7 100644 --- a/functions/fn_install_ts3 +++ b/functions/fn_install_ts3 @@ -49,7 +49,6 @@ if [ -z "${availablebuild}" ]; then fi cd "${rootdir}" -mkdir "${filesdir}" echo -e "downloading teamspeak3-server_linux-${ts3arch}-${availablebuild}.tar.gz...\c" 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 From cb29924ea116691271e5278292696d401fadfbf0 Mon Sep 17 00:00:00 2001 From: PhilPhonic Date: Fri, 25 Dec 2015 17:49:43 +0100 Subject: [PATCH 7/7] check for libmariadb2 if the user chose to install ts3 with mariadb/mysql, the script checks if libmariadb2 is installed. if not, installation is aborted --- functions/fn_install_ts3db | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/functions/fn_install_ts3db b/functions/fn_install_ts3db index dc7e62003..b1119ee52 100644 --- a/functions/fn_install_ts3db +++ b/functions/fn_install_ts3db @@ -6,7 +6,18 @@ lgsm_version="251215" fn_install_ts3db_mariadb(){ echo "" - echo "Configuring ${gamename} Server for MariaDB" + echo "checking if libmariadb2 is installed" + echo "=================================" + ldd ${filesdir}/libts3db_mariadb.so | grep "libmariadb.so.2 => not found" + if [ $? -eq 0 ]; then + echo "libmariadb2 not installed. Please install it first." + echo "exiting..." + exit + else + echo "libmariadb2 installed." + fi + echo "" + echo "Configuring ${gamename} Server for MariaDB/MySQL" echo "=================================" sleep 1 read -p "Enter MariaDB hostname: " mariahostname