Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Linux 13.06.2026 · 8 min Lesezeit

TeamSpeak-Server auf einem netcup VPS einrichten – mit eigener Domain

TeamSpeak-3-Server auf einem netcup-VPS einrichten: eigener Benutzer, systemd-Dienst, SCP-Firewall mit INGRESS- und EGRESS-Regel für UDP, A-Record im CCP und Verbindung über die eigene Subdomain.

Geprüft am 30.09.2026 · für TeamSpeak 3 Server 3.13.8

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Mehr dazu

TeamSpeak-Server auf netcup mit eigener Domain einrichten

Ein eigener TeamSpeak-3-Server gibt Verein, Team oder Gaming-Gruppe einen Sprachserver unter eigener Kontrolle. Er braucht wenig Ressourcen und läuft schon auf dem kleinsten netcup-VPS. Diese Anleitung führt von der Installation über den systemd-Dienst und die SCP-Firewall bis zum DNS-Eintrag, sodass sich Ihre Nutzer über ts.ihredomain.de ohne Portangabe verbinden.

Voraussetzungen

  1. netcup-VPS mit x86_64-CPU: 1 vCore und 1 GB RAM genügen für kleine Gruppen, ab etwa 20 gleichzeitigen Nutzern 2 vCores und 4 GB RAM; 1 GB freier Speicher
  2. Ubuntu 22.04 oder 24.04 LTS
  3. Eine bei netcup verwaltete Domain für den Subdomain-Eintrag im CCP
  4. SSH-Zugang zum VPS (Root-Passwort aus dem SCP oder SSH-Key)
  5. TeamSpeak 3-Client auf dem eigenen Rechner zum Verbindungstest
  6. ca. 45 Minuten Zeit

Netcup VPS-Pakete im Vergleich

Die Tabelle ordnet typische Paketgrößen dem TeamSpeak-Bedarf zu. Paketnamen und Ausstattung ändern sich; maßgeblich ist das aktuelle netcup-Angebot.

PaketvCPURAMSSDTS3-Nutzer (ca.)
VPS piko G11s1 vCore1 GB30 GBbis ~5
VPS 500 G122 vCores4 GB DDR5128 GB NVMebis ~50
VPS 1000 G124 vCores8 GB DDR5256 GB NVMebis ~100+

TeamSpeak 3 benötigt im Leerlauf nur etwa 50–150 MB RAM. Wächst die Nutzerzahl, erweitern Sie den VPS über das CCP ohne Neuinstallation (siehe unten).

Schritt 1: System aktualisieren und teamspeak-User anlegen

Melden Sie sich per SSH als root an, aktualisieren Sie das System und legen Sie einen eigenen Benutzer ohne Passwort an. Betreiben Sie den TS3-Server aus Sicherheitsgründen nie als root.

sudo -s
apt update -y && apt upgrade -y
adduser --disabled-password --gecos "" teamspeak

Verifizieren: id teamspeak gibt UID und GID des neuen Benutzers aus.

Schritt 2: TS3-Server herunterladen und einrichten

Wechseln Sie zum Benutzer teamspeak, laden Sie das Server-Paket 3.13.8 für Linux amd64 herunter, prüfen Sie die SHA256-Prüfsumme (a3c4658e09892d3dbd8ea752d0de42dc7d111bf44d09721927f0f4782496eb2d, laut teamspeak.com/versions/server.json) und entpacken Sie es. Die Lizenzdatei .ts3server_license_accepted beginnt mit einem Punkt; ohne sie startet der Server nicht.

sudo su - teamspeak
cd ~
wget https://files.teamspeak-services.com/releases/server/3.13.8/teamspeak3-server_linux_amd64-3.13.8.tar.bz2
sha256sum teamspeak3-server_linux_amd64-3.13.8.tar.bz2
tar xvf teamspeak3-server_linux_amd64-3.13.8.tar.bz2
rm teamspeak3-server_linux_amd64-3.13.8.tar.bz2
mv teamspeak3-server_linux_amd64/* .
rmdir teamspeak3-server_linux_amd64
touch .ts3server_license_accepted
exit

Verifizieren: sha256sum zeigt den oben genannten Wert. ls -la /home/teamspeak/ listet .ts3server_license_accepted (mit Punkt), ts3server und ts3server_startscript.sh.

Schritt 3: systemd-Service erstellen

Ein systemd-Dienst startet den Server beim Booten und nach einem Absturz neu; RestartSec=15 wartet dabei 15 Sekunden. Weil das Startskript den Server in den Hintergrund schickt und sich beendet, braucht der Dienst Type=forking. Ohne diese Zeile wertet systemd das Ende des Skripts als Dienstende und beendet den Server gleich wieder.

Legen Sie als root die Datei /etc/systemd/system/teamspeak.service mit folgendem Inhalt an:

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

[Service]
Type=forking
WorkingDirectory=/home/teamspeak
User=teamspeak
ExecStart=/home/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/teamspeak/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/ts3server.pid
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

Verifizieren: systemd-analyze verify /etc/systemd/system/teamspeak.service gibt keine Fehlermeldung aus.

Schritt 4: Service aktivieren, starten und Admin-Token sichern

Laden Sie die systemd-Konfiguration neu, aktivieren und starten Sie den Dienst. Beim allerersten Start erzeugt der Server den Admin-Token (Privilege Key) für die Serverrechte im Client. Notieren Sie ihn sofort.

systemctl daemon-reload
systemctl enable teamspeak
systemctl start teamspeak
systemctl status teamspeak

Der Token steht in einer Zeile der Form token=XXXXXXXX… im Journal und in der ersten Log-Datei:

journalctl -u teamspeak | grep token
# alternativ:
grep -r "token=" /home/teamspeak/logs/

Verifizieren: systemctl is-active teamspeak gibt active aus. ss -ulnp | grep 9987 zeigt ts3server auf UDP-Port 9987.

Schritt 5: SCP-Firewall in netcup konfigurieren

Die netcup SCP-Firewall ist für TCP zustandsbehaftet (Antwortpakete werden automatisch durchgelassen), für UDP jedoch nicht. Für 9987/UDP brauchen Sie deshalb eine INGRESS- und eine EGRESS-Regel (netcup Helpcenter, Firewall). Öffnen Sie nur, was Clients brauchen: Sprache und Dateiübertragung. ServerQuery (10011, 10022, 10080, 10443) erlaubt die Fernverwaltung des Servers und bleibt von außen geschlossen; Sie erreichen es bei Bedarf per SSH-Tunnel. TSDNS (41144) brauchen Sie mit einem A-Record auf den Standardport nicht.

Navigation im SCP: Server auswählen → „Firewall Policies“ → „Create Firewall Policy“ (Name z. B. teamspeak-ts3), dann folgende Regeln anlegen:

RichtungProtokollPortAktionZweck
INGRESSUDP9987ACCEPTTS3 Sprache eingehend
EGRESSUDP9987ACCEPTTS3 Sprache ausgehend (UDP stateless!)
INGRESSTCP30033ACCEPTDateiübertragung
INGRESSTCP22ACCEPTSSH (falls die Policy nicht schon eine SSH-Regel enthält)

Policy auf den Server anwenden: Server → „Firewall“ → „Edit Policies“ → Policy per Pfeil in das rechte Panel ziehen → „Apply“ → „Save“.

Verifizieren: Die Policy steht im SCP unter „Firewall“ als angewendet; von einem anderen Rechner meldet nc -vz IHRE-IP 30033 „succeeded“.

Schritt 6: UFW auf dem VPS einrichten (optional)

UFW filtert zusätzlich auf dem VPS selbst und greift auch dann, wenn die SCP-Policy einmal geändert wird.

ufw allow 22/tcp
ufw allow 9987/udp
ufw allow 30033/tcp
ufw enable

Verifizieren: ufw status verbose zeigt genau die drei Regeln. SSH muss vor ufw enable freigegeben sein, sonst sperren Sie sich aus.

Das Zusammenspiel beider Firewalls erklärt die Anleitung netcup SCP-Firewall einrichten: Policies, Regeln und Zusammenspiel mit ufw.

Schritt 7: IPv4-Adresse des VPS ermitteln

Für den DNS-Eintrag brauchen Sie die öffentliche IPv4-Adresse des VPS. Sie steht im SCP unter Server auswählen → „Network“. Alternativ reicht auf dem Server selbst:

ip -4 addr show eth0 | grep inet

Verifizieren: Beide Wege liefern dieselbe öffentliche IPv4-Adresse.

Schritt 8: A-Record im netcup CCP anlegen

Öffnen Sie im netcup CCP (customercontrolpanel.de) Domains → Lupe bei Ihrer Domain → Tab „DNS“ und fügen Sie einen Eintrag hinzu:

  1. Host: ts (ergibt ts.ihredomain.de)
  2. Type: A
  3. Destination: IPv4-Adresse des VPS (aus Schritt 7)

Klicken Sie auf „Save DNS Records“. Bis der Eintrag überall sichtbar ist, kann es je nach TTL einige Zeit dauern; so lange verbinden Sie sich per IP-Adresse.

Verifizieren: Nach der internen Propagierung: nslookup ts.ihredomain.de gibt die IPv4-Adresse des VPS zurück.

Mehr zu DNS-Records bei netcup erklärt die Anleitung DNS-Records bei netcup im CCP verwalten: A, AAAA, CNAME, MX und TXT richtig setzen.

Schritt 9: Verbindungstest mit dem TeamSpeak-Client

Öffnen Sie den TeamSpeak-Client, klicken Sie auf „Verbinden“ und tragen Sie ts.ihredomain.de (oder die IP-Adresse) ein. Port 9987 ist Standard. Beim ersten Verbinden fragt der Client nach dem Privilege Key; tragen Sie den Token aus Schritt 4 ein.

Verifizieren: Der Client zeigt „Verbunden“, der Kanalbaum lädt und Ihr Name trägt das Server-Admin-Symbol.

VPS upgraden, wenn die Nutzerzahl wächst

Zeigt der VPS unter Last hohe CPU-Auslastung oder Speicherknappheit, erweitern Sie ihn im CCP: CCP → „Server“ → gewünschten VPS auswählen → „Upgrade“ → neues Paket auswählen → bestätigen. Der Server wird dabei kurz neugestartet, alle Daten und Konfigurationen bleiben erhalten. Eine Neuinstallation ist nicht nötig.

Details beschreibt die Anleitung netcup VPS-Generation upgraden: Instance Upgrade im CCP ohne Datenverlust.

TeamSpeak-Server auf eine neue Version aktualisieren

Bei einer neuen Server-Version gehen Sie so vor:

# Als root: Dienst stoppen
systemctl stop teamspeak

# Als teamspeak-User: neue Version herunterladen
sudo su - teamspeak
cd ~
wget https://files.teamspeak-services.com/releases/server/NEUE_VERSION/teamspeak3-server_linux_amd64-NEUE_VERSION.tar.bz2
tar xvf teamspeak3-server_linux_amd64-NEUE_VERSION.tar.bz2
# Programmdateien kopieren; ts3server.ini und ts3server.sqlitedb liegen nicht im Paket und bleiben erhalten
cp -r teamspeak3-server_linux_amd64/* /home/teamspeak/
rm -rf teamspeak3-server_linux_amd64*
exit

# Als root: Dienst starten
systemctl start teamspeak

Sichern Sie vorher ts3server.sqlitedb (Kanäle, Benutzer, Rechte). Das Paket enthält auch die SQL-Skripte und Bibliotheken der neuen Version, deshalb kopieren Sie den gesamten Inhalt.

Troubleshooting / Typische Fehler

Clients können sich nicht verbinden, obwohl der Server läuft

Ursache Nummer eins: Port 9987/UDP ist in der SCP-Firewall nur als INGRESS, nicht aber als EGRESS freigegeben. Ohne EGRESS-Regel erreichen die UDP-Antworten den Client nicht. Lösung: EGRESS-Regel für UDP 9987 ergänzen und „Apply“ klicken.

Server startet nicht – „license file not found“

Die Lizenzdatei heißt .ts3server_license_accepted mit führendem Punkt. Prüfen mit ls -la /home/teamspeak/, anlegen mit sudo -u teamspeak touch /home/teamspeak/.ts3server_license_accepted.

Server startet nicht – „permission denied“ oder läuft als root

Dateien gehören root, weil sie als root entpackt oder kopiert wurden. Lösung: chown -R teamspeak:teamspeak /home/teamspeak. Die Service-Datei muss User=teamspeak enthalten (systemctl cat teamspeak | grep User).

Startet der Dienst und endet sofort wieder, fehlt Type=forking (siehe Schritt 3).

Admin-Token nicht mehr auffindbar

Er ist nachträglich abrufbar: journalctl -u teamspeak | grep token oder in der Log-Datei unter /home/teamspeak/logs/ts3server_*.log. Ist er dort nicht mehr vorhanden, erzeugen Sie per ServerQuery (lokal oder per SSH-Tunnel) mit privilegekeyadd einen neuen.

systemd ignoriert Änderungen an der Service-Datei

Nach jeder Änderung an /etc/systemd/system/teamspeak.service muss systemctl daemon-reload ausgeführt werden, bevor systemctl restart teamspeak die neue Konfiguration lädt.

DNS-Name funktioniert noch nicht

Bis die TTL abgelaufen ist, ist die Subdomain nicht überall auflösbar. Verbinden Sie sich so lange per IPv4-Adresse und prüfen Sie mit nslookup ts.ihredomain.de 1.1.1.1.

Häufige Fragen

Welche IP-Adresse trage ich im A-Record ein?

Die öffentliche IPv4-Adresse des VPS – ablesbar im netcup SCP unter Server auswählen → „Network“. Dort steht sie unter „IPv4 Address“.

Reicht ein VPS mit 1 GB RAM für TeamSpeak?

Für kleine Gruppen ja; der Server braucht im Leerlauf etwa 50 bis 150 MB RAM. Ab etwa 20 gleichzeitigen Nutzern planen Sie 2 vCores und 4 GB RAM ein.

Muss ich den Port beim Verbinden angeben?

Nein. Port 9987 ist der Standard-TeamSpeak-Port und wird vom Client implizit verwendet. ts.ihredomain.de ohne Portnummer genügt.

Kann ich mehrere virtuelle TeamSpeak-Server auf einem VPS betreiben?

Ja, der TeamSpeak 3-Server unterstützt mehrere virtuelle Server auf einer Instanz. Die Verwaltung erfolgt über ServerQuery (Port 10011/TCP, lokal oder per SSH-Tunnel). Ohne Lizenz ist allerdings nur ein virtueller Server mit bis zu 32 Slots erlaubt.

Was passiert beim VPS-Upgrade mit meinen TS3-Daten?

Beim Instance Upgrade im CCP bleiben Betriebssystem und Daten erhalten. Nach dem Neustart startet der Dienst dank systemctl enable teamspeak automatisch.

Fazit

Ein eigener TeamSpeak-3-Server auf einem netcup-VPS ist in unter einer Stunde eingerichtet. Entscheidend sind drei Punkte: Type=forking im systemd-Dienst, INGRESS und EGRESS für 9987/UDP in der SCP-Firewall und ein geschlossener ServerQuery-Port. Mit A-Record und automatischem Neustart läuft der Server danach wartungsarm; bei wachsender Nutzerzahl erweitern Sie den VPS im CCP. Ohne Lizenz ist der Betrieb laut TeamSpeak-Lizenzbedingungen nur für nicht kommerzielle Gruppen und Privatpersonen erlaubt und auf einen virtuellen Server mit 32 Slots begrenzt; Vereine mit mehr Bedarf beantragen eine NPL.

Weiterführende Anleitungen und Quellen

  1. netcup SCP-Firewall einrichten: Policies, Regeln und Zusammenspiel mit ufw
  2. DNS-Records bei netcup im CCP verwalten: A, AAAA, CNAME, MX und TXT richtig setzen
  3. netcup VPS-Generation upgraden: Instance Upgrade im CCP ohne Datenverlust
  4. systemd-Service selbst erstellen und verwalten
  5. VPS absichern und härten: Anleitung mit UFW, SSH-Keys und Fail2Ban
  6. Erster eigener Cloud-Server: VPS bei Hetzner oder Netcup aufsetzen und absichern
  7. netcup Community Tutorial: TeamSpeak-Server installieren (englisch)
  8. netcup Helpcenter: SCP-Firewall-Dokumentation
  9. TeamSpeak: Offizielle Server-Downloads