So hosten Sie einen TeamSpeak-Server unter Linux

Sind Sie ein Linux-Spieler, der eine Sprachkommunikation sucht, aber keine Cloud-basierten Dienste wie Discord nutzen möchte? Falls Sie einen eigenen Server betreiben, wäre eine selbst gehostete Lösung, wie beispielsweise ein TeamSpeak-Server, eine ausgezeichnete Alternative.

Einen neuen Benutzer anlegen

Der erste Schritt zur Einrichtung Ihres eigenen TeamSpeak-Servers unter Linux besteht darin, einen dedizierten Benutzer für die sichere Ausführung der Software zu erstellen. Öffnen Sie ein Terminalfenster und verwenden Sie den Befehl sudo, um eine Root-Shell zu erhalten. Der Root-Zugriff vereinfacht die Interaktion mit dem Server und ermöglicht die Ausführung diverser Root-Befehle.

sudo -s

Nachdem wir nun Root-Zugriff haben, nutzen wir den Befehl adduser, um einen neuen Benutzer anzulegen. Beachten Sie, dass wir --disabled-login verwenden, da dieser Benutzer keine Anmeldefunktion benötigt.

adduser --disabled-login teamspeak
usermod -a -G teamspeak teamspeak

Ein Passwort für diesen Benutzer ist nicht erforderlich, das System sollte dies automatisch handhaben. Anschließend können wir mit dem Download der Serversoftware fortfahren.

TeamSpeak-Server installieren

Die TeamSpeak-Serversoftware ist proprietär, was es üblichen Linux-Distributionen untersagt, sie legal zu verpacken und als einfach installierbare Anwendung anzubieten. Daher müssen Nutzer die Software manuell herunterladen. Navigieren Sie zur offiziellen Website und wählen Sie die passende Version für Ihre CPU. TeamSpeak bietet offiziell Unterstützung sowohl für 32-Bit als auch für 64-Bit Systeme. Laden Sie die Datei herunter und übertragen Sie sie per FTP, Samba oder einer anderen Methode auf Ihren Server. Falls Sie keine dieser Übertragungsmethoden nutzen möchten, können Sie die Software auch direkt mit wget herunterladen.

Um die aktuellste Version des TeamSpeak-Servers zu erhalten, besuchen Sie den Release-Ordner. Klicken Sie mit der rechten Maustaste auf die neueste Version, wählen Sie „Link-Adresse kopieren“ und verwenden Sie dann den folgenden Befehl:

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_amd64-3.1.1.tar.bz2

oder

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_x86-3.1.1.tar.bz2

Extrahieren Sie nun die Inhalte der TeamSpeak-Serversoftware mithilfe des Befehls tar:

tar -xvf teamspeak3-server_linux_*.tar.bz2
rm *.tar.bz2

Verwenden Sie den Befehl chown, um dem zuvor erstellten Benutzer die vollen Zugriffsrechte zu gewähren. Die Änderung des Ordnerbesitzers ist wichtig, damit der TeamSpeak-Benutzer den Ordner korrekt und fehlerfrei nutzen kann.

Hinweis: Aus Sicherheitsgründen sollte der TS3-Server niemals als Root ausgeführt werden.

mv teamspeak3-server_linux_* /usr/local/teamspeak
chown -R teamspeak:teamspeak /usr/local/teamspeak
cd /usr/local/teamspeak

Erstellen Sie nun mit touch eine Datei, welche der Serversoftware mitteilt, dass Sie den Nutzungsbedingungen zugestimmt haben.

touch .ts3server_license_accepted

Erstellen Sie im nächsten Schritt eine individuelle systemd-Dienstdatei für TeamSpeak:

cd /etc/systemd/system
echo '' > teamspeak3.service
nano teamspeak3.service

Fügen Sie den folgenden Code in den Nano-Texteditor ein und speichern Sie ihn mit Strg + O.

[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
WorkingDirectory=/usr/local/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/usr/local/teamspeak/ts3server_startscript.sh startinifile=ts3server.ini
ExecStop=/usr/local/teamspeak/ts3server_startscript.sh stop
PIDFile=/usr/local/teamspeak/ts3server.pid
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

Starten und aktivieren Sie die neue Dienstdatei teamspeak3.service mit den folgenden Befehlen des systemd-Init-Tools:

systemctl enable teamspeak3
systemctl start teamspeak3

Sie können den Server jederzeit über systemd mit diesem Befehl neu starten:

systemctl stop teamspeak3

Deaktivieren Sie den Server vollständig mit:

systemctl disable teamspeak3

Einloggen

Der schwierige Teil der Einrichtung Ihres TeamSpeak3-Servers ist nun abgeschlossen. Jetzt müssen Sie lediglich Ihren Admin-Schlüssel (auch bekannt als Berechtigungstoken) abrufen. Dieses Token wird beim ersten Start der Serversoftware zufällig generiert. Um das Token zu erhalten, öffnen Sie Ihren TeamSpeak3-Client und verbinden Sie sich mit Ihrem Server. Bei der erstmaligen Verbindung mit dem Server sollten Sie aufgefordert werden, einen „Berechtigungsschlüssel“ einzugeben. Falls keine solche Aufforderung erscheint, müssen Sie in den Servereinstellungen nach dieser Option suchen und sie aktivieren.

Verwenden Sie diesen Befehl, um Ihr TeamSpeak-Server-Admin-Token automatisch zu finden und in eine Datei umzuleiten:

cat /usr/local/teamspeak/logs/* | grep "token"

Kopieren Sie die Zahlenfolge direkt nach „token=“ und fügen Sie sie in den folgenden Befehl zwischen den einfachen Anführungszeichen ein:

echo 'token string' > /usr/local/teamspeak/admin-token.txt

Durch die Speicherung der Zeichenfolge auf diese Weise wird die Token-Datei an einem sicheren Ort aufbewahrt.

Mit dem Befehl cat können Sie den Inhalt der Token-Textdatei einsehen.

Um Ihrem Benutzer Administratorrechte zu gewähren, kopieren Sie den Inhalt der Datei und fügen Sie ihn in die entsprechende Eingabeaufforderung ein.

cat /usr/local/teamspeak/admin-token.txt

Beachten Sie, dass Sie für jeden Administrator eventuell ein neues Berechtigungstoken generieren müssen. Informieren Sie sich auf der TeamSpeak-Webseite und im Handbuch, wie dies funktioniert.

TeamSpeak-Server deinstallieren

TeamSpeak ist eine nützliche Software, aber einige Benutzer sind von dem damit verbundenen Aufwand nicht begeistert. Wenn Sie es ausprobiert haben und sich gegen einen TeamSpeak-Server entscheiden, führen Sie die folgenden Schritte aus, um die Software vollständig zu deinstallieren.

Verwenden Sie zunächst systemd, um den TeamSpeak-Dienst zu deaktivieren und zu stoppen:

sudo systemctl disable teamspeak3 -f
sudo systemctl stop teamspeak3

Löschen Sie anschließend die benutzerdefinierte systemd-Dienstdatei, die im Setup erstellt wurde:

sudo rm /etc/systemd/system/teamspeak3.service

Löschen Sie danach die Serversoftware vom Server:

sudo rm -rf /usr/local/teamspeak/

Löschen Sie zuletzt die TeamSpeak-Gruppe und den Benutzer:

sudo userdel -r teamspeak
sudo groupdel teamspeak

Die Ausführung all dieser Befehle sollte alle Verweise auf TeamSpeak vom Server entfernen. sudo sollte funktionieren, falls nicht, entfernen Sie sudo aus den obigen Befehlen und versuchen Sie, zuerst eine Root-Shell zu erhalten (sudo -s).