Zum Inhalt springen
CitexNode
Alle Anleitungen

TeamSpeak-3-Server einrichten

Offizieller Download, eigener Benutzer, Lizenz, systemd-Dienst, Ports und der Admin-Token.

4 Min. Lesezeit

Diese Anleitung installiert den TeamSpeak-3-Server von der offiziellen Seite auf deinem vServer und startet ihn als systemd-Dienst.

Gilt für Debian 12 und 13, Ubuntu 22.04 und 24.04, AlmaLinux 9 und Rocky Linux 9. Alle Befehle laufen als root.

Vorbereiten

Zum Entpacken brauchst du bzip2:

bash
apt install -y bzip2        # Debian und Ubuntu
dnf install -y bzip2 tar    # AlmaLinux und Rocky Linux

Der Server läuft unter einem eigenen Benutzer ohne Anmeldung, nie als root:

bash
useradd --system --home-dir /opt/teamspeak --create-home --shell /usr/sbin/nologin teamspeak

Herunterladen

Die aktuelle Version steht auf der offiziellen Seite https://www.teamspeak.com/de/downloads/#server unter Linux, Server 64-bit. Setz die Versionsnummer von dort ein, hier 3.13.7:

bash
VERSION=3.13.7
cd /tmp
curl -LO "https://files.teamspeak-services.com/releases/server/${VERSION}/teamspeak3-server_linux_amd64-${VERSION}.tar.bz2"
tar xjf "teamspeak3-server_linux_amd64-${VERSION}.tar.bz2" -C /opt/teamspeak --strip-components=1
chown -R teamspeak:teamspeak /opt/teamspeak
rm "teamspeak3-server_linux_amd64-${VERSION}.tar.bz2"

Lizenz akzeptieren

Ohne Zustimmung zur Lizenz startet der Server nicht. Lies sie in /opt/teamspeak/LICENSE. Bist du einverstanden, leg diese Datei an:

bash
sudo -u teamspeak touch /opt/teamspeak/.ts3server_license_accepted

Gibt es sudo nicht, geht auch touch /opt/teamspeak/.ts3server_license_accepted und danach chown teamspeak:teamspeak auf die Datei.

Als systemd-Dienst einrichten

Leg /etc/systemd/system/teamspeak.service an:

ini
[Unit]
Description=TeamSpeak 3 Server
After=network-online.target
Wants=network-online.target

[Service]
User=teamspeak
Group=teamspeak
WorkingDirectory=/opt/teamspeak
ExecStart=/opt/teamspeak/ts3server_minimal_runscript.sh
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Laden und starten:

bash
systemctl daemon-reload
systemctl enable --now teamspeak

Ports in der Firewall öffnen

PortWofürÖffnen?
9987/udpSpracheja
30033/tcpDateiübertragung (Icons, Avatare, Dateien im Channel)ja
10011/tcpServerQuery (Verwaltung per Skript oder Bot)nur wenn du es brauchst, und dann nur für deine Adresse

Debian und Ubuntu mit ufw:

bash
ufw allow 9987/udp
ufw allow 30033/tcp

AlmaLinux und Rocky Linux mit firewalld:

bash
firewall-cmd --permanent --add-port=9987/udp --add-port=30033/tcp
firewall-cmd --reload

Brauchst du ServerQuery von außen, erlaube es nur von deiner Adresse (hier 203.0.113.10), z. B. mit ufw allow from 203.0.113.10 to any port 10011 proto tcp.

Admin-Token und Query-Passwort

Beim allerersten Start legt der Server zwei Dinge an und zeigt sie nur einmal an:

  • den Privilege Key (Token) für die Gruppe Server Admin,
  • Benutzername und Passwort für den ServerQuery-Zugang serveradmin.

Beides steht im Journal des Dienstes:

bash
journalctl -u teamspeak --no-pager | grep -E "token=|loginname="

Der Token steht außerdem in den Logs: grep -rh "token=" /opt/teamspeak/logs/.

Heb beides sicher auf, z. B. in deinem Passwortmanager.

Prüfen, ob es geklappt hat

bash
systemctl status teamspeak
ss -ulnp | grep 9987

Der Dienst sollte active (running) sein, und ein Prozess ts3server hört auf UDP 9987.

Dann im TeamSpeak-Client: Verbindungen → Verbinden, als Adresse die IPv4 deines vServers. Beim ersten Verbinden fragt der Client nach dem Privilege Key. Gib den Token ein, dann bist du Server Admin. Den Server kannst du danach unter einem eigenen Namen erreichen, z. B. mit einem A-Eintrag ts.example.de, siehe DNS-Einträge verwalten.

Häufige Fehler

  • Dienst startet nicht, im Journal steht etwas von „license“. Die Datei .ts3server_license_accepted fehlt oder gehört nicht dem Benutzer teamspeak.
  • Token verpasst. Steht er nicht mehr im Journal, schau in die Logs. Ist er dort auch weg, kannst du per ServerQuery einen neuen erzeugen (privilegekeyadd), oder du stoppst den Dienst und löschst ts3server.sqlitedb. Das setzt den Server komplett zurück, alle Channels und Rechte sind dann weg.
  • Client kommt nicht durch („failed to connect“). UDP 9987 ist in der Firewall zu. Prüf ufw status bzw. firewall-cmd --list-all.
  • Icons und Avatare laden nicht. TCP 30033 ist zu.
  • Permission denied beim Start. Die Dateien gehören nicht teamspeak. chown -R teamspeak:teamspeak /opt/teamspeak.

Wie es weitergeht

  • Für ein Update lädst du die neue Version wie oben herunter, stoppst den Dienst und entpackst sie über die alte. Die Datenbank ts3server.sqlitedb bleibt erhalten. Sichere sie vorher.
  • Die Datenbank und den Ordner files regelmäßig sichern: Backups einrichten.

Kommst du nicht weiter, schreib uns ein Ticket.