> For the complete documentation index, see [llms.txt](https://docs.instantroot.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.instantroot.de/kvm-server/linux/teamspeak-server-installieren.md).

# TeamSpeak Server installieren

In diesem Artikel erklären wir dir, wie du einen TeamSpeak Server auf deinem KVM-Server installierst und grundlegend einrichtest.

TeamSpeak ist ein Voice-Server, über den sich Nutzer in Sprachkanälen verbinden können. Die Installation erfolgt direkt auf deinem Server. Du benötigst dafür Zugriff per SSH und ein Linux-Betriebssystem.

### Voraussetzungen

Für diese Anleitung benötigst du:

* einen KVM-Server mit Linux
* SSH-Zugriff auf den Server
* Root-Zugriff oder einen Benutzer mit sudo-Rechten
* eine öffentliche IPv4-Adresse
* grundlegende Kenntnisse im Umgang mit der Linux-Konsole

Diese Anleitung verwendet Debian oder Ubuntu als Beispiel.

### Verbindung per SSH herstellen

Verbinde dich zuerst per SSH mit deinem Server.

Beispiel:

`ssh root@SERVER-IP`

Ersetze `SERVER-IP` durch die IP-Adresse deines KVM-Servers.

Wenn du einen anderen SSH-Port verwendest, gib den Port zusätzlich an.

Beispiel:

`ssh root@SERVER-IP -p 2222`

### System aktualisieren

Bevor du TeamSpeak installierst, solltest du dein System aktualisieren.

Führe dazu aus:

`apt update`

Danach installierst du verfügbare Updates:

`apt upgrade`

Falls wichtige Systemupdates installiert wurden, kann ein Neustart sinnvoll sein.

Befehl:

`reboot`

Verbinde dich danach erneut per SSH.

### Benötigte Pakete installieren

Installiere einige grundlegende Pakete, die für Download, Entpacken und Verwaltung benötigt werden.

Befehl:

`apt install wget bzip2 tar`

### Eigenen Benutzer für TeamSpeak erstellen

TeamSpeak sollte nicht dauerhaft als Root-Benutzer laufen.

Erstelle deshalb einen eigenen Benutzer.

Befehl:

`adduser --disabled-login teamspeak`

Der Benutzer `teamspeak` wird ohne normalen Login erstellt. Das ist für einen Serverdienst sinnvoll.

Wechsle danach zu diesem Benutzer:

`su - teamspeak`

### TeamSpeak Server herunterladen

Öffne die offizielle TeamSpeak Downloadseite und kopiere den aktuellen Downloadlink für den Linux Server.

Die Downloadseite findest du unter:

`https://www.teamspeak.com/en/downloads/#server`

Lade anschließend die Serverdateien herunter.

Beispiel:

`wget https://files.teamspeak-services.com/releases/server/VERSION/teamspeak3-server_linux_amd64-VERSION.tar.bz2`

Ersetze `VERSION` durch die aktuelle TeamSpeak-Version.

Da sich die Versionen ändern können, solltest du den Link immer von der offiziellen TeamSpeak-Seite übernehmen.

### TeamSpeak Server entpacken

Entpacke das heruntergeladene Archiv.

Beispiel:

`tar xjf teamspeak3-server_linux_amd64-VERSION.tar.bz2`

Wechsle anschließend in den entpackten Ordner.

Beispiel:

`cd teamspeak3-server_linux_amd64`

### Lizenzbedingungen akzeptieren

TeamSpeak benötigt eine Bestätigung der Lizenzbedingungen.

Erstelle dafür die Datei `.ts3server_license_accepted`.

Befehl:

`touch .ts3server_license_accepted`

Ohne diese Datei startet der Server nicht.

### TeamSpeak Server einmal starten

Starte den TeamSpeak Server testweise.

Befehl:

`./ts3server_startscript.sh start`

Beim ersten Start werden wichtige Zugangsdaten ausgegeben.

Dazu gehören:

* Server Admin Token
* ServerQuery Admin Benutzername
* ServerQuery Admin Passwort

Diese Daten werden nur beim ersten Start angezeigt.

Notiere sie sofort und speichere sie sicher.

**Wichtig:** Ohne den Server Admin Token kannst du dich später nicht als Serveradministrator im TeamSpeak Client berechtigen.

### TeamSpeak Server stoppen

Stoppe den Server nach dem ersten Start wieder.

Befehl:

`./ts3server_startscript.sh stop`

Danach richtest du den Server als Systemdienst ein.

### Zurück zum Root-Benutzer wechseln

Verlasse den TeamSpeak-Benutzer.

Befehl:

`exit`

Du solltest nun wieder als Root oder als sudo-Benutzer angemeldet sein.

### TeamSpeak als systemd-Dienst einrichten

Damit TeamSpeak automatisch gestartet und sauber verwaltet werden kann, richtest du einen systemd-Dienst ein.

Erstelle eine neue Service-Datei:

`nano /etc/systemd/system/teamspeak.service`

Füge folgenden Inhalt ein:

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

`[Service]` `WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_amd64` `User=teamspeak` `Group=teamspeak` `Type=forking` `ExecStart=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start` `ExecStop=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop` `PIDFile=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid` `Restart=always` `RestartSec=15`

`[Install]` `WantedBy=multi-user.target`

Speichere die Datei.

Bei `nano` geht das mit `STRG + O`, danach `Enter` und anschließend `STRG + X`.

### systemd neu laden

Lade systemd neu, damit der neue Dienst erkannt wird.

Befehl:

`systemctl daemon-reload`

Aktiviere TeamSpeak für den automatischen Start beim Booten.

Befehl:

`systemctl enable teamspeak`

Starte den Dienst.

Befehl:

`systemctl start teamspeak`

Prüfe den Status.

Befehl:

`systemctl status teamspeak`

Wenn dort `active (running)` angezeigt wird, läuft der TeamSpeak Server.

### Benötigte Ports öffnen

Damit sich Nutzer mit deinem TeamSpeak Server verbinden können, müssen die benötigten Ports erreichbar sein.

Standardports von TeamSpeak:

| Port    | Protokoll | Zweck            |
| ------- | --------- | ---------------- |
| `9987`  | UDP       | Sprachverbindung |
| `10011` | TCP       | ServerQuery      |
| `30033` | TCP       | Dateiübertragung |

Der wichtigste Port für normale Nutzer ist `9987/udp`.

### Ports mit UFW öffnen

Wenn du UFW nutzt, öffne die benötigten Ports.

Befehle:

`ufw allow 9987/udp`

`ufw allow 10011/tcp`

`ufw allow 30033/tcp`

Prüfe danach den Status:

`ufw status`

**Wichtig:** Öffne nur Ports, die du wirklich benötigst. Wenn du ServerQuery oder Dateiübertragung nicht verwendest, solltest du prüfen, ob diese Ports öffentlich erreichbar sein müssen.

### Mit TeamSpeak verbinden

Installiere den TeamSpeak Client auf deinem Computer.

Öffne den Client und verbinde dich mit der IP-Adresse deines Servers.

Beispiel:

`123.123.123.123`

Wenn dein TeamSpeak Server den Standardport `9987` nutzt, musst du den Port meistens nicht zusätzlich angeben.

Falls du einen anderen Port verwendest, gib ihn mit an.

Beispiel:

`123.123.123.123:9987`

### Server Admin Token verwenden

Beim ersten Start hat TeamSpeak einen Server Admin Token ausgegeben.

Diesen Token benötigst du, um dich im TeamSpeak Client als Administrator zu berechtigen.

Nach dem Verbinden erscheint häufig automatisch ein Fenster zur Eingabe des Tokens.

Falls nicht:

1. Öffne im TeamSpeak Client den Bereich **Rechte**.
2. Wähle **Berechtigungsschlüssel verwenden**.
3. Füge den Server Admin Token ein.
4. Bestätige die Eingabe.

Danach solltest du Serveradministrator-Rechte besitzen.

### TeamSpeak Dienst verwalten

Wenn TeamSpeak als systemd-Dienst eingerichtet wurde, kannst du ihn mit folgenden Befehlen verwalten.

Server starten:

`systemctl start teamspeak`

Server stoppen:

`systemctl stop teamspeak`

Server neustarten:

`systemctl restart teamspeak`

Status prüfen:

`systemctl status teamspeak`

Automatischen Start aktivieren:

`systemctl enable teamspeak`

Automatischen Start deaktivieren:

`systemctl disable teamspeak`

### Logs prüfen

Wenn der TeamSpeak Server nicht startet oder Verbindungsprobleme auftreten, solltest du die Logs prüfen.

systemd-Logs anzeigen:

`journalctl -u teamspeak`

Live-Logs anzeigen:

`journalctl -u teamspeak -f`

Zusätzlich legt TeamSpeak eigene Logdateien im Serververzeichnis ab.

Beispiel:

`/home/teamspeak/teamspeak3-server_linux_amd64/logs`

### TeamSpeak aktualisieren

TeamSpeak sollte regelmäßig aktualisiert werden.

Vor einem Update solltest du ein Backup erstellen.

Stoppe zuerst den Dienst:

`systemctl stop teamspeak`

Sichere anschließend das TeamSpeak-Verzeichnis.

Beispiel:

`cp -a /home/teamspeak/teamspeak3-server_linux_amd64 /home/teamspeak/teamspeak3-server_backup`

Lade danach die neue Version von der offiziellen TeamSpeak-Webseite herunter, entpacke sie und ersetze die Serverdateien vorsichtig.

Achte darauf, wichtige Dateien nicht zu löschen.

Besonders wichtig sind:

* Datenbankdateien
* Konfigurationsdateien
* Lizenzdateien
* Logdateien, falls benötigt

Starte den Dienst danach wieder:

`systemctl start teamspeak`

Prüfe anschließend den Status:

`systemctl status teamspeak`

### Backup erstellen

Ein Backup ist wichtig, bevor du Änderungen am TeamSpeak Server vornimmst.

Sichere mindestens:

* das TeamSpeak Serververzeichnis
* die Datenbankdatei
* Konfigurationsdateien
* Lizenzdateien

Ein einfaches Backup kannst du so erstellen:

`systemctl stop teamspeak`

`cp -a /home/teamspeak/teamspeak3-server_linux_amd64 /home/teamspeak/teamspeak3-server_backup`

`systemctl start teamspeak`

Für regelmäßige Backups solltest du die Sicherung auf einem externen Speicher ablegen. Ein Backup auf demselben Server schützt nicht vor Datenverlust, wenn der Server beschädigt oder kompromittiert wird.

### Häufige Probleme

#### TeamSpeak Server startet nicht

Prüfe zuerst den Dienststatus:

`systemctl status teamspeak`

Prüfe danach die Logs:

`journalctl -u teamspeak`

Häufige Ursachen:

* Lizenzbedingungen wurden nicht akzeptiert
* falscher Pfad in der systemd-Datei
* Dateien gehören dem falschen Benutzer
* benötigte Dateien fehlen
* Port ist bereits belegt
* Archiv wurde nicht korrekt entpackt

#### Lizenz wurde nicht akzeptiert

Wenn die Lizenz nicht akzeptiert wurde, startet TeamSpeak nicht.

Prüfe, ob im TeamSpeak-Verzeichnis folgende Datei vorhanden ist:

`.ts3server_license_accepted`

Falls nicht, wechsle in das TeamSpeak-Verzeichnis und erstelle sie:

`touch .ts3server_license_accepted`

Starte den Dienst danach neu:

`systemctl restart teamspeak`

#### Verbindung zum Server funktioniert nicht

Prüfe:

* läuft der TeamSpeak Dienst?
* ist Port `9987/udp` geöffnet?
* verwendest du die richtige IP-Adresse?
* blockiert eine Firewall die Verbindung?
* wurde TeamSpeak auf einem anderen Port gestartet?
* ist der Server über das Internet erreichbar?

Status prüfen:

`systemctl status teamspeak`

Firewall prüfen:

`ufw status`

#### Server Admin Token verloren

Der Server Admin Token wird beim ersten Start angezeigt.

Wenn du ihn nicht gespeichert hast, kannst du über ServerQuery oder die Datenbank einen neuen Token erstellen. Das ist technischer und hängt von deiner Installation ab.

Einfacher ist es, den Token direkt beim ersten Start sicher zu speichern.

#### ServerQuery funktioniert nicht

Prüfe:

* ist Port `10011/tcp` geöffnet?
* läuft der TeamSpeak Server?
* nutzt du die richtigen ServerQuery-Zugangsdaten?
* blockiert eine Firewall den Zugriff?
* wurde ServerQuery in der Konfiguration geändert?

#### Dateiübertragung funktioniert nicht

Für Dateiübertragungen wird standardmäßig Port `30033/tcp` verwendet.

Prüfe:

* ist Port `30033/tcp` geöffnet?
* blockiert eine Firewall die Verbindung?
* sind die Rechte im TeamSpeak Server korrekt gesetzt?
* ist genug Speicherplatz vorhanden?

#### Port ist bereits belegt

Wenn TeamSpeak nicht startet, weil ein Port bereits genutzt wird, prüfe offene Ports.

Befehl:

`ss -tulpen`

Beende den anderen Dienst oder ändere den TeamSpeak-Port.

### Sicherheit

Ein TeamSpeak Server sollte nicht ungeschützt betrieben werden.

Empfehlungen:

* starkes ServerQuery-Passwort verwenden
* Server Admin Token sicher speichern
* unnötige Ports nicht öffentlich öffnen
* TeamSpeak regelmäßig aktualisieren
* Backups erstellen
* Rechte im TeamSpeak Client sauber vergeben
* keine unbekannten Personen als Server Admin eintragen
* ServerQuery-Zugang nicht weitergeben

**Sicherheit:** Sende niemals ServerQuery-Passwörter, Admin Tokens oder private Zugangsdaten an andere Personen.

### Support kontaktieren

Wenn du TeamSpeak nicht starten oder erreichen kannst, kontaktiere den Support.

Gib dabei bitte folgende Informationen an:

* Betriebssystem
* IP-Adresse des Servers
* verwendete TeamSpeak-Version
* genaue Fehlermeldung
* Ausgabe von `systemctl status teamspeak`
* ob Port `9987/udp` geöffnet ist
* was du bereits versucht hast

Sende keine Passwörter, Admin Tokens oder privaten Zugangsdaten.
