TeamSpeak 3 Server auf Debian 12 (IONOS VPS) installieren
In dieser Anleitung installieren wir einen TeamSpeak 3 Server auf einem IONOS VPS mit Debian 12 (Bookworm). Als Referenz dient ein VPS mit 2 vCore, 2 GB RAM und 80 GB NVMe – die Schritte funktionieren aber auf jedem Debian-12-Server.
| Server | Details |
|---|---|
| Anbieter | IONOS VPS |
| Betriebssystem | Debian 12 (Bookworm) 64-bit |
| Hardware (Referenz) | 2 vCore · 2 GB RAM · 80 GB NVMe |
| TS3 Server Version | 3.13.8 (aktuell) |
Voraussetzungen
| Anforderung | Details |
|---|---|
| Betriebssystem | Debian 12 (Bookworm) 64-bit |
| RAM | Mindestens 512 MB (2 GB empfohlen) |
| SSH-Zugang | PuTTY (Windows) oder Terminal (Linux/macOS) |
| IONOS Firewall | UDP 9987, TCP 10011, TCP 30033 freigeben |
Schritt 1 – PuTTY verbinden
- Host Name:
<Server-IP> - Port:
22 - Connection Type: SSH
→ Open → Login as: root → Passwort eingeben.
Schritt 2 – System aktualisieren
apt update && apt upgrade -y
Schritt 3 – bzip2 installieren
bzip2 nicht vorinstalliert – ohne diesen Schritt lässt sich
das TS3-Archiv nicht entpacken.
apt install -y bzip2
Schritt 4 – TS3-Benutzer anlegen
Der TeamSpeak-Server sollte niemals als root laufen:
adduser --disabled-login ts3
Alle Felder (Name, Raum usw.) mit Enter bestätigen, am Ende Y eingeben.
Danach Shell für den Benutzer aktivieren:
usermod -s /bin/bash ts3
Schritt 5 – Server herunterladen & entpacken
Zum neuen Benutzer wechseln und die aktuelle Version aus dem offiziellen Repository laden. Den aktuellen Link findest du unter teamspeak.com/downloads.
su ts3
cd ~
wget https://files.teamspeak-services.com/releases/server/3.13.8/teamspeak3-server_linux_amd64-3.13.8.tar.bz2
tar xfvj teamspeak3-server_linux_amd64-3.13.8.tar.bz2
rm teamspeak3-server_linux_amd64-3.13.8.tar.bz2
cd teamspeak3-server_linux_amd64
touch .ts3server_license_accepted
.ts3server_license_accepted im Serververzeichnis startet der
Server nicht und gibt eine Fehlermeldung aus.
Schritt 6 – Server erstmalig starten
./ts3server_startscript.sh start
loginname= "serveradmin" password= "XXXXXXXXXXXXXXXX"
token= "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
- Das Token wird später im TS-Client für Admin-Rechte benötigt.
- Das ServerQuery-Passwort wird für YATQA / Bots benötigt.
Server wieder stoppen:
./ts3server_startscript.sh stop
exit
exit wechselt zurück zum Root-Benutzer.
Schritt 7 – Autostart via systemd einrichten
Service-Datei erstellen (als root):
nano /etc/systemd/system/ts3server.service
Folgenden Inhalt einfügen (in PuTTY mit Strg+Shift+V):
[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
WorkingDirectory=/home/ts3/teamspeak3-server_linux_amd64
User=ts3
Group=ts3
Type=forking
ExecStart=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
PIDFile=/home/ts3/teamspeak3-server_linux_amd64/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target
Speichern: Strg+X → y → Enter.
Service aktivieren und starten:
systemctl daemon-reload
systemctl enable ts3server
systemctl start ts3server
systemctl status ts3server
active (running) zeigen. Der Server startet jetzt
automatisch nach jedem Systemneustart.
Schritt 8 – IONOS Firewall konfigurieren
my.ionos.de → Server & Cloud → VPS auswählen → Firewall – folgende Regeln hinzufügen:
| Aktion | Protokoll | Port | Beschreibung |
|---|---|---|---|
| Zulassen | UDP | 9987 | TS3 Voice |
| Zulassen | TCP | 10011 | TS3 ServerQuery |
| Zulassen | TCP | 30033 | TS3 Dateiübertragung |
ufw: command not found ist also normal. Bei IONOS regelt ohnehin die
externe Firewall im Control Panel den Zugriff.
Schritt 9 – Im TeamSpeak Client verbinden
-
1
TeamSpeak öffnen → Verbindungen → Verbinden.
-
2
Server-Adresse:
<Server-IP> -
3
Es erscheint ein Dialog „Berechtigungs-Token" → Token aus Schritt 6 einfügen.
-
4
Du bist Server-Admin ✅
Nützliche Befehle
# Status prüfen
systemctl status ts3server
# Server neu starten
systemctl restart ts3server
# Logs anzeigen
journalctl -u ts3server -n 50
# TS3-Logs anzeigen
cat /home/ts3/teamspeak3-server_linux_amd64/logs/ts3server_*.log | tail -50
Dateipfade & FileZilla
FileZilla – Zugriff auf Serverdateien
| Feld | Wert |
|---|---|
| Host | sftp://<Server-IP> |
| Benutzer | root |
| Passwort | Root-Passwort |
| Port | 22 |
TS3-Dateien liegen unter: /home/ts3/teamspeak3-server_linux_amd64/
Wichtige Dateipfade
| Datei/Ordner | Pfad |
|---|---|
| Serververzeichnis | /home/ts3/teamspeak3-server_linux_amd64/ |
| Startscript | /home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh |
| Konfiguration | /home/ts3/teamspeak3-server_linux_amd64/ts3server.ini |
| Logdateien | /home/ts3/teamspeak3-server_linux_amd64/logs/ |
| systemd Service | /etc/systemd/system/ts3server.service |
UFW Firewall einrichten (optional)
Bei IONOS regelt bereits die externe Firewall den Zugriff. Zusätzlich kannst du auf dem Server selbst eine UFW-Firewall als zweite Schutzebene einrichten.
Installation
apt install -y ufw
Regeln setzen
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 9987/udp
ufw allow 10011/tcp
ufw allow 30033/tcp
UFW aktivieren
ufw enable
→ Frage mit y bestätigen.
Status prüfen
ufw status numbered
fail2ban einrichten (optional)
fail2ban sperrt automatisch IP-Adressen, die zu viele fehlerhafte SSH-Logins versuchen – ein wirksamer Schutz gegen Brute-Force-Angriffe.
Installation
apt install -y fail2ban
Konfiguration erstellen
nano /etc/fail2ban/jail.local
Inhalt:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
banaction = ufw
[sshd]
enabled = true
port = 22
backend = systemd
/var/log/auth.log nicht – SSH wird über journald
geloggt. Daher backend = systemd statt logpath.
Speichern: Strg+X → y → Enter.
fail2ban starten
systemctl restart fail2ban
systemctl status fail2ban
Status & nützliche Befehle
# Gebannte IPs anzeigen
fail2ban-client status sshd
# IP manuell entbannen
fail2ban-client set sshd unbanip <IP>
# Logs anzeigen
journalctl -u fail2ban -n 50