ts3 install script
#!/bin/bash
#########################################
# Teamspeak 3 Server Installer
# Version 3.12.1
# last Update 19.02.2020
# by SIGNALTRANSMITTER.de
#########################################
c=`tput setaf 6`
w=`tput setaf 7`
r=`tput setaf 1`
y=`tput setaf 3`
### DIESE VARIABLEN KOENNEN GEAENDERT WERDEN
#TEAMSPEAK USERNAME
user="teamspeak"
#INSTALLATIONS-PFAD
installdir="/home/$user/ts/"
#TEAMSPEAK VERSION
version="3.12.1"
############################################
x64="https://files.teamspeak-services.com/releases/server/$version/teamspeak3-server_linux_amd64-$version.tar.bz2"
x86="https://files.teamspeak-services.com/releases/server/$version/teamspeak3-server_linux_x86-$version.tar.bz2"
echo "Dieses Script installiert Teamspeak Server in der Version $r[$version]$w vollkommen automatisch. Die Funktion wird nicht garantiert! $w"
echo "$y[ ACHTUNG ] Um die Version anzupassen, bitte die Variablen im Script editieren!"
if [ -e /etc/locale.gen ]; then
echo "$c[ INFO ]$w Locales werden installiert"
sed -i "s/^# de_DE/de_DE/" /etc/locale.gen >/dev/null
grep -v "^#" /etc/locale.gen >/dev/null
/usr/sbin/locale-gen >/dev/null
update-locale LANG=de_DE.UTF-8 >/dev/null
else
echo "$c[ INFO ]$w Fehler beim konfigurieren von locales"
fi
if [ $(dpkg-query -W -f='${Status}' bzip2 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
echo "$c[ INFO ]$w Installiere Abhängigkeit bzip2"
apt-get update;
apt-get install -y bzip2;
fi
if [ $(dpkg-query -W -f='${Status}' ca-certificates 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
echo "$c[ INFO ]$w Installiere Abhängigkeit ca-certificates"
apt-get update;
apt-get install -y ca-certificates;
fi
ts3u=`cut -d: -f1 /etc/passwd | grep teamspeak`
if [ "$ts3" = "teamspeak" ]; then
echo "$c[ INFO ]$w Der User $ts3u existiert schon. Bitte den User im Script anpassen."
exit
else
echo "$c[ INFO ]$w Erstelle Teamspeak-User..."
useradd $user
fi
echo "$c[ INFO ]$w Die Installation beginnt automatisch in 5 Sekunden..."
sleep 5
if [ -d "$installdir" ]; then
echo "$r[ ERROR ]$w Das Verzeichnis $installdir existiert bereits. Breche ab!"
exit
else
echo "$c[ INFO ]$w Das Verzeichnis $installdir existiert nicht. $installdir wird erstellt..."
mkdir -p $installdir
fi
cd $installdir
if [ $(uname -m) == 'x86_64' ]; then
#64bit
wget -q $x64
tar xfj teamspeak3-server_linux_amd64*
echo "$c[ INFO ]$w Entferne gepacktes Archiv..."
cd "teamspeak3-server_linux_amd64"
mv * .. && cd .. && rm -rf teamspeak3-server_linux_amd64* && cd .. && chown -R $user:$user $installdir
echo "$c[ INFO ]$w Der Teamspeak Server wird erstmalig gestartet..."
cd $installdir
touch .ts3server_license_accepted
su -c "./ts3server_minimal_runscript.sh > ADMIN &" -s /bin/bash $user
sleep 5 && ps aufwx | grep teamspeak | grep -v grep | awk '{print $2}'
echo "$c[ INFO ]$w Bitte den Token sowie Serveradmin-Login gut hinterlegen..."
else
#32bit
wget -q $x86
tar xfj teamspeak3-server_linux_x86*
echo "$c[ INFO ]$w Entferne gepacktes Archiv..."
cd "teamspeak3-server_linux_x86"
mv * .. && cd .. && rm -rf teamspeak3-server_linux_amd64* && cd .. && chown -R $user:$user $installdir
echo "$c[ INFO ]$w Der Teamspeak Server wird erstmalig gestartet..."
touch .ts3server_license_accepted
cd $installdir
su -c "./ts3server_minimal_runscript.sh > ADMIN &" -s /bin/bash $user
sleep 5 && ps aufwx | grep teamspeak | grep -v grep | awk '{print $2}'
echo "$c[ INFO ]$w Bitte den Token sowie den Serveradmin-Login gut hinterlegen..."
fi
echo "$c[ INFO ]$w Soll Teamspeak in den Autostart installiert werden? [y/n]"
read -n1 -p "" autostart
case $autostart in
y|Y)
echo -e "\n$c[ INFO ]$w Der Startparameter wurde im Autostart hinterlegt."
echo "su -c '$installdir/ts3server_startscript.sh start' -s /bin/bash $user" | tee --append /etc/rc.local > /dev/null
;;
*)
echo -e "\n$c[ INFO ]$w Der Startparameter wird$y nicht$w in den Autostart geschrieben."
;;
esac
echo "$c[ INFO ]$w Der Teamspeak Server wird nun automatisch gestartet..."