Teamspeak3 Server Installation
In diesem Beitrag wird die Installation des beliebten Voice Dienstes TeamSpeak 3 beschrieben.
Inhalt:
Vorwort
TeamSpeak gehört mit zu den erfolgreichsten Voicediensten überhaupt. Die Free Lizenz beinhaltet 1 Server mit bis zu 32 Slots, weitere Lizenzen können bis zu 1000 User simultan einen Zugang zum Server ermöglichen. Im folgenden Beitrag wird die Installation auf einem Linux Ubuntu Server 20.04 näher beschrieben.
Installation
Zuerst wird der Server auf den aktuellen Stand gebracht:
apt update && apt upgrade -y
Anschließend wird ein neuer User angelegt, unter welchem der TeamSpeak Server anschließend laufen wird. Da für den Betrieb keine root-Rechte benötigt werden, sollte der Server auch zu keiner Zeit mit administrativen Rechten ausgeführt werden.
Der folgende Befehl erzeugt einen neuen Benutzer ›teamspeak‹:
- das Attribut ›--disabled-login‹ verbietet eine Anmeldung am Server (beispielsweise via SSH)
- als Shell wird die Login Shell ›--shell /bin/false‹ definiert, auch hier wird keine übergeben, was einen Login ebenso unmöglich macht
- mit ›--gecos ""‹ wird der Dialog zum Eingeben von Vor- & Nachname etc. übersprungen.
Der Command sieht im folgenden so aus:
adduser --disabled-login --shell /bin/false --gecos "" teamspeak
Nachdem der User angelegt wurde, wechseln wir in sein Home Verzeichnis mit ›su teamspeak‹ und ›cd ~‹.
Anschließend navigieren wir zur TeamSpeak Download Seite und kopieren den Download Link in die Zwischenablage. Mittels ›wget‹ kann das Archiv direkt auf dem Server heruntergeladen werden:
wget https://files.teamspeak-services.com/releases/server/3.13.6/teamspeak3-server_linux_amd64-3.13.6.tar.bz2
Nach Abschluss des Download Vorgangs wird der Hashwert des Archivs geprüft:
In meinem Fall habe ich Version ›3.13.6‹ für Linux heruntergeladen und kann mit folgendem Befehl das Archiv verifizieren:
sha256sum teamspeak3-server_linux_amd64-3.13.6.tar.bz2
Stimmt dieser Hashwert mit der auf der Download Seite überein, kann das Paket entpackt werden:
tar xfvj teamspeak3-server_linux_amd64-3.13.6.tar.bz2
Danach wird in den neu entstandenen Ordner gewechselt, hier müssen zum einen die Lizenzbedingungen akzeptiert und das Startscript ausführbar gemacht werden.
Mit dem Command werden die Lizenzbedingungen akzeptiert:
touch .ts3server_license_accepted
Im letzten Schritt vor Serverstart wird das Startscript noch ausführbar gemacht. Dieser Schritt ist unter anderem für das Autostart Script wichtig, welches den Server später bei Neustart ebenso mitstarten wird:
chmod +x ts3server_startscript.sh
Sind die obenstehenden Schritte abgearbeitet, kann der Server zunächst Initial gestartet werden. Hierbei werden ServerAdmin Token sowie Zugangsdaten zum ServerQuery generiert.
Hinweis: Es empfiehlt sich diese Daten zu speichern.
Die Syntax zum Server Start sieht folgendermaßen aus:
./ts3server_startscript.sh start
Konfiguration
Serverkonfiguration
Damit der Server nach Neustarts auch den TeamSpeak Server mitstartet ist ein Script notwendig, welches zunächst angelegt werden muss:
nano /etc/init.d/teamspeak
Es bekommt anschließend folgenden Inhalt:
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak3
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO
# TODO: Customize values USER / DIR
USER="teamspeak"
DIR="/home/teamspeak/teamspeak3-server_linux_amd64"
###### Teamspeak 3 server start/stop script ######
case "$1" in
start)
su $USER -c "${DIR}/ts3server_startscript.sh start"
;;
stop)
su $USER -c "${DIR}/ts3server_startscript.sh stop"
;;
restart)
su $USER -c "${DIR}/ts3server_startscript.sh restart"
;;
status)
su $USER -c "${DIR}/ts3server_startscript.sh status"
;;
*)
echo "Usage: {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0
Zuletzt werden die passenden Berechtigungen vergeben:
chmod 755 /etc/init.d/teamspeak
Mit einem Reload des Daemons wird das Script eingelesen und kann ab sofort verwendet werden:
update-rc.d teamspeak defaults
Das Script verfügt über folgende Funktionen:
- Start:
/etc/init.d/teamspeak3 start
- Stop:
/etc/init.d/teamspeak3 stop
- Status:
/etc/init.d/teamspeak3 status
- Restart:
/etc/init.d/teamspeak3 restart
Anpassungen an der Firewall
Der Teamspeak Server braucht zum korrekten Betrieb die folgenden Ports:
Dienst | Port | Protokoll | Richtung |
---|---|---|---|
Voice | 9987 | UDP | Eingehend |
ServerQuery Telnet | 10011 | TCP | Eingehend |
ServerQuery SSH | 10022 | TCP | Eingehend |
Filetransfer | 30033 | TCP | Eingehend |
Daraus ergeben sich die folgenden Regeln für die UFW:
sudo ufw allow outgoing
sudo ufw allow 9987/udp comment 'TS3 Voice'
sudo ufw allow 10011/tcp comment 'TS3 ServerQuery'
sudo ufw allow 10022/tcp comment 'TS3 ServerQuery'
sudo ufw allow 30033/tcp comment 'TS3 Filetransfer'