HomeStart / GuidesAnleitungen / Running your own TeamSpeak server on a VPS/ Deinen eigenen TeamSpeak-Server auf einem VPS betreiben

Running your own TeamSpeak server on a VPS: the licence flag, the privilege key, and the port you should never forwardDeinen eigenen TeamSpeak-Server auf einem VPS betreiben: das Lizenz-Flag, der Privilege Key und der Port, den du nie weiterleiten solltest

TeamSpeak has been doing the same thing the same way for close to two decades: no apt package, no vendor Docker image, just a tarball you download, a binary you run, and a first-start message that hands you the one credential you cannot get back later without deleting your whole server database.TeamSpeak macht seit fast zwei Jahrzehnten dasselbe auf dieselbe Weise: kein apt-Paket, kein offizielles Docker-Image vom Hersteller, nur ein Tarball, den du herunterlädst, eine Binary, die du ausführst, und eine Nachricht beim ersten Start, die dir den einen Zugangsschlüssel aushändigt, den du später nicht mehr zurückbekommst, ohne deine gesamte Server-Datenbank zu löschen.

What's actually in the tarballWas tatsächlich im Tarball steckt

There is no apt install teamspeak-server and never has been — the current TeamSpeak server release ships only as a compressed archive from TeamSpeak's own download page, built for Linux on x86_64. Open that page in a browser, right-click the Linux server link, and copy the actual URL — the file name and version change on every release, so a guide that hardcodes one goes stale within months. Pull that exact link onto the VPS:Es gibt kein apt install teamspeak-server und hat es nie gegeben — das aktuelle TeamSpeak-Server-Release wird ausschließlich als komprimiertes Archiv von TeamSpeaks eigener Download-Seite ausgeliefert, gebaut für Linux auf x86_64. Öffne diese Seite in einem Browser, klicke mit rechts auf den Linux-Server-Link und kopiere die tatsächliche URL — Dateiname und Version ändern sich bei jedem Release, sodass eine Anleitung, die eine URL fest einträgt, innerhalb weniger Monate veraltet. Zieh genau diesen Link auf den VPS:

sudo mkdir -p /opt/teamspeak
sudo chown "$(id -un)":"$(id -un)" /opt/teamspeak
cd /opt/teamspeak
curl -LO "<the linux server URL you copied>"

Extract it, and you'll find the server binary (ts3server), a start script (ts3server_startscript.sh), and nothing else that looks like a config file yet:Entpacke es, und du findest die Server-Binary (ts3server), ein Startskript (ts3server_startscript.sh) und sonst nichts, was bisher wie eine Konfigurationsdatei aussieht:

tar xjf teamspeak3-server_linux_amd64-*.tar.bz2 --strip-components=1
rm teamspeak3-server_linux_amd64-*.tar.bz2

Nothing here needs root once it's extracted, and the binary itself actively refuses to start as root — it checks and exits with a message telling you not to — which is TeamSpeak enforcing the same rule this guide would tell you anyway.Nichts davon braucht Root, sobald es entpackt ist, und die Binary selbst weigert sich aktiv, als Root zu starten — sie prüft das und beendet sich mit einer Meldung, die dir genau das sagt — womit TeamSpeak dieselbe Regel durchsetzt, die diese Anleitung dir ohnehin geraten hätte.

The licence flag, because there's no TTY to read it toDas Lizenz-Flag, weil es kein TTY gibt, dem man sie vorlesen könnte

Run the server interactively and it stops to show the licence agreement and wait for you to type an acceptance — reasonable on a desktop, useless over SSH with no intention of babysitting a prompt. The start script and the binary both accept license_accepted=1 as a startup parameter to skip that wait, which is what makes a hands-off systemd unit possible at all:Startest du den Server interaktiv, hält er an, zeigt die Lizenzvereinbarung an und wartet darauf, dass du eine Zustimmung eintippst — sinnvoll auf einem Desktop, nutzlos über SSH, wenn du nicht vorhast, einen Prompt zu beaufsichtigen. Sowohl das Startskript als auch die Binary akzeptieren license_accepted=1 als Startparameter, um diese Wartezeit zu überspringen — genau das macht eine automatisierte systemd-Unit überhaupt erst möglich:

./ts3server_startscript.sh start license_accepted=1

That single test run is only to confirm the binary launches. Stop it again — ./ts3server_startscript.sh stop — before setting up the systemd unit in the next step, so you're not fighting two things trying to manage the same process.Dieser einzelne Testlauf dient nur dazu, zu bestätigen, dass die Binary startet. Stoppe ihn wieder — ./ts3server_startscript.sh stop — bevor du im nächsten Schritt die systemd-Unit einrichtest, damit nicht zwei Dinge gleichzeitig versuchen, denselben Prozess zu verwalten.

Three ports, one of which should never leave the boxDrei Ports, von denen einer nie die Maschine verlassen sollte

TeamSpeak talks over three ports, and they don't all deserve the same treatment:TeamSpeak spricht über drei Ports, und die verdienen nicht alle dieselbe Behandlung:

Open only what you mean to use:Öffne nur das, was du tatsächlich nutzen willst:

sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
sudo ufw allow OpenSSH
sudo ufw enable

10011 is deliberately absent. If you need ServerQuery occasionally, ssh -L 10011:127.0.0.1:10011 you@your-vps gets a local tunnel without ever opening the port on the firewall.10011 fehlt hier bewusst. Brauchst du ServerQuery gelegentlich, verschafft dir ssh -L 10011:127.0.0.1:10011 you@your-vps einen lokalen Tunnel, ohne den Port jemals in der Firewall zu öffnen.

Read this before you buy: the NAT-IPv4 forwarding catchLies das, bevor du kaufst: die NAT-IPv4-Weiterleitungsfalle

A NAT-IPv4 plan hands you one shared address and a small, fixed list of forwarded ports, not an address that's entirely yours. TeamSpeak's default ports — 9987, 10011, 30033 — aren't part of any standard forwarded set, so on NAT IPv4 you need to check whether your plan's forwarded ports include them, and if not, move the server onto ports that are forwarded or arrange a dedicated IPv4. Voice on 9987/UDP is the one that actually matters for people to connect; get that sorted before the other two.Ein NAT-IPv4-Plan gibt dir eine gemeinsam genutzte Adresse und eine kleine, feste Liste weitergeleiteter Ports, keine Adresse, die vollständig dir gehört. TeamSpeaks Standardports — 9987, 10011, 30033 — sind nicht Teil irgendeines Standard-Weiterleitungssets, daher musst du unter NAT-IPv4 prüfen, ob die weitergeleiteten Ports deines Plans sie enthalten, und wenn nicht, den Server auf Ports verlegen, die weitergeleitet sind, oder eine dedizierte IPv4 vereinbaren. Sprache auf 9987/UDP ist der Port, auf den es tatsächlich ankommt, damit Leute sich verbinden können; kläre den, bevor du dich um die anderen beiden kümmerst.

Two honest paths through it:Zwei ehrliche Wege dorthin:

Read NAT IPv4 vs a dedicated IP and NAT IPv4, ports and forwarding before you order and check which situation you're actually in — and connect to your VPS over SSH if you haven't connected to a fresh VPS before.Lies NAT IPv4 vs. dedizierte IP und NAT IPv4, Ports und Weiterleitung, bevor du bestellst, und prüfe, welche Situation bei dir tatsächlich vorliegt — und über SSH mit deinem VPS verbinden, falls du dich noch nie mit einem frischen VPS verbunden hast.

First start: the privilege key you only see onceErster Start: der Privilege Key, den du nur einmal siehst

Start the server for real, with the licence flag, and watch the output — don't background it yet:Starte den Server jetzt wirklich, mit dem Lizenz-Flag, und beobachte die Ausgabe — schick ihn noch nicht in den Hintergrund:

cd /opt/teamspeak
./ts3server_startscript.sh start license_accepted=1

On a genuinely first start (no ts3server.sqlitedb yet in the directory), the server creates its default virtual server and prints two things to the console and to the log in logs/: a ServerQuery admin login and password, and a privilege key — a token pasted into the TeamSpeak client's "Use Privilege Key" dialog to claim server admin on your own registered identity. Neither is shown again on a later restart. Copy both into a password manager immediately; lose the privilege key and the honest recovery path is deleting the database and starting over, throwing away every channel and permission already set.Bei einem wirklich ersten Start (noch kein ts3server.sqlitedb im Verzeichnis) legt der Server seinen Standard-Virtual-Server an und gibt zwei Dinge auf der Konsole und im Log unter logs/ aus: einen ServerQuery-Admin-Login mit Passwort und einen Privilege Key — ein Token, das du in den „Use Privilege Key“-Dialog des TeamSpeak-Clients einfügst, um Server-Admin auf deiner eigenen registrierten Identität zu beanspruchen. Keins von beiden wird bei einem späteren Neustart erneut angezeigt. Kopiere beides sofort in einen Passwort-Manager; verlierst du den Privilege Key, ist der ehrliche Wiederherstellungsweg, die Datenbank zu löschen und neu anzufangen, wodurch jeder bereits eingerichtete Channel und jede Berechtigung verloren geht.

Stop the test run once you've captured both — ./ts3server_startscript.sh stop — the systemd unit in the next step is what actually keeps it running.Stoppe den Testlauf, sobald du beides gesichert hast — ./ts3server_startscript.sh stop — die systemd-Unit im nächsten Schritt ist das, was ihn tatsächlich am Laufen hält.

A systemd unit that runs as nobody specialEine systemd-Unit, die als niemand Besonderes läuft

Create a system account with no shell and no login, and hand it the directory:Lege ein Systemkonto ohne Shell und ohne Login an und übergib ihm das Verzeichnis:

sudo useradd --system --no-create-home --shell /usr/sbin/nologin teamspeak
sudo chown -R teamspeak:teamspeak /opt/teamspeak

The start script daemonizes and manages its own PID file, which fights systemd's own process tracking, so point the unit at the ts3server binary directly instead and let systemd be the only thing supervising it:Das Startskript daemonisiert sich und verwaltet seine eigene PID-Datei, was sich mit systemds eigener Prozessverfolgung beißt, also zeige die Unit stattdessen direkt auf die ts3server-Binary und lass systemd das einzige sein, was sie überwacht:

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

[Service]
Type=simple
User=teamspeak
Group=teamspeak
WorkingDirectory=/opt/teamspeak
Environment=LD_LIBRARY_PATH=/opt/teamspeak
ExecStart=/opt/teamspeak/ts3server license_accepted=1
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
ProtectSystem=strict
ReadWritePaths=/opt/teamspeak
PrivateTmp=true

[Install]
WantedBy=multi-user.target

WorkingDirectory matters here — the binary writes its database, logs, and files directory relative to wherever it's run from, and ProtectSystem=strict with ReadWritePaths keeps that write access scoped to the one directory the server needs. Environment=LD_LIBRARY_PATH matters just as much and is easy to miss: ts3server loads shared libraries that ship next to it in the tarball rather than from a system path, and the start script normally sets that variable for you — bypass the script, as this unit does, and you have to set it yourself or the binary fails on load with a missing-library error and restart-loops under Restart=on-failure. If you had to move off the default ports in the previous section, append default_voice_port=<port> and filetransfer_port=<port> to the same ExecStart line rather than editing a separate config file — there isn't one until you create it. Save the unit as /etc/systemd/system/teamspeak.service, then bring it up:WorkingDirectory ist hier entscheidend — die Binary schreibt ihre Datenbank, Logs und das Files-Verzeichnis relativ zu dem Ort, von dem aus sie ausgeführt wird, und ProtectSystem=strict zusammen mit ReadWritePaths beschränkt diesen Schreibzugriff auf genau das eine Verzeichnis, das der Server braucht. Environment=LD_LIBRARY_PATH ist genauso wichtig und leicht zu übersehen: ts3server lädt gemeinsame Bibliotheken, die im Tarball direkt daneben mitgeliefert werden statt aus einem Systempfad, und normalerweise setzt das Startskript diese Variable für dich — umgehst du das Skript, wie diese Unit es tut, musst du sie selbst setzen, sonst schlägt die Binary beim Laden mit einem Fehler wegen fehlender Bibliothek fehl und läuft unter Restart=on-failure in eine Neustartschleife. Musstest du im vorigen Abschnitt von den Standardports weg, hänge default_voice_port=<port> und filetransfer_port=<port> an dieselbe ExecStart-Zeile an, statt eine separate Konfigurationsdatei zu bearbeiten — es gibt keine, bis du eine anlegst. Speichere die Unit als /etc/systemd/system/teamspeak.service und fahr sie dann hoch:

sudo systemctl daemon-reload
sudo systemctl enable --now teamspeak.service
sudo systemctl status teamspeak.service

journalctl -u teamspeak.service -f is where to look if a client can't connect after the port checks above are done — most failures at this stage are the firewall or the NAT forwarding, not the service itself.journalctl -u teamspeak.service -f ist die Stelle, an der du nachschaust, wenn sich ein Client nicht verbinden kann, nachdem die Port-Prüfungen von oben erledigt sind — die meisten Fehlschläge in dieser Phase liegen an der Firewall oder der NAT-Weiterleitung, nicht am Dienst selbst.

Backups: the sqlite database and the files directoryBackups: die SQLite-Datenbank und das Files-Verzeichnis

Everything that makes your server your server — channels, permissions, registered clients, server groups — lives in one file, ts3server.sqlitedb, next to the files/ directory holding anything uploaded through file transfer. Both need to leave the VPS to count as a real backup:Alles, was aus deinem Server deinen Server macht — Channels, Berechtigungen, registrierte Clients, Servergruppen — steckt in einer einzigen Datei, ts3server.sqlitedb, neben dem files/-Verzeichnis, das alles enthält, was über Dateiübertragung hochgeladen wurde. Beide müssen den VPS verlassen, um als echtes Backup zu zählen:

sudo systemctl stop teamspeak.service
sudo tar czf /root/teamspeak-backup-$(date +%F).tar.gz \
  -C /opt/teamspeak ts3server.sqlitedb files
sudo systemctl start teamspeak.service

Stopping the service first avoids copying the database mid-write. Copy that tarball off the VPS on a schedule — a copy sitting on the same disk disappears with the disk. back up your VPS covers what our machines handle by default versus what's on you to run yourself.Den Dienst zuerst zu stoppen vermeidet, die Datenbank mitten im Schreibvorgang zu kopieren. Kopiere diesen Tarball regelmäßig vom VPS herunter — eine Kopie auf derselben Platte verschwindet mit der Platte. Backup deines VPS behandelt, was unsere Maschinen standardmäßig übernehmen und was du selbst betreiben musst.

Updates: syncing the tarball, not apt upgradeUpdates: den Tarball synchronisieren, nicht apt upgrade

Because there's no package, there's no apt upgrade to lean on. Updating means downloading the current tarball again, stopping the service, and syncing everything it ships — the binary and the shared libraries it loads at startup, not just the binary alone — while leaving the database and files/ directory untouched, since those live outside the archive and only need excluding explicitly:Weil es kein Paket gibt, gibt es auch kein apt upgrade, auf das du dich stützen kannst. Updaten heißt, den aktuellen Tarball erneut herunterzuladen, den Dienst zu stoppen und alles zu synchronisieren, was er mitliefert — die Binary und die gemeinsamen Bibliotheken, die sie beim Start lädt, nicht nur die Binary allein — während Datenbank und files/-Verzeichnis unangetastet bleiben, weil die außerhalb des Archivs liegen und nur explizit ausgeschlossen werden müssen:

sudo systemctl stop teamspeak.service
cd /tmp
curl -LO "<the current linux server URL from the downloads page>"
tar xjf teamspeak3-server_linux_amd64-*.tar.bz2 --strip-components=1
sudo rsync -a --exclude 'ts3server.sqlitedb' --exclude 'files/' ./ /opt/teamspeak/
sudo chown -R teamspeak:teamspeak /opt/teamspeak
sudo systemctl start teamspeak.service

Copying only the ts3server binary and leaving the old bundled libraries in place risks a version mismatch when a release updates those libraries alongside the binary — the new binary running against a stale library, which can crash on start or misbehave rather than fail cleanly. Syncing the whole extracted tree, minus the two paths you're intentionally preserving, keeps the binary and the libraries it depends on moving together.Nur die ts3server-Binary zu kopieren und die alten mitgelieferten Bibliotheken an Ort und Stelle zu lassen, riskiert eine Versionsinkompatibilität, wenn ein Release diese Bibliotheken zusammen mit der Binary aktualisiert — die neue Binary läuft dann gegen eine veraltete Bibliothek, was beim Start abstürzen oder sich fehlerhaft verhalten kann, statt sauber fehlzuschlagen. Den gesamten entpackten Baum zu synchronisieren, minus der beiden Pfade, die du absichtlich bewahrst, hält die Binary und die Bibliotheken, von denen sie abhängt, gemeinsam auf demselben Stand.

Take the backup from the previous section immediately beforehand, not after — a version jump that changes the database schema runs a migration on that first start, and the backup that matters is the one taken minutes before, not the one you improvise once something looks wrong.Mach das Backup aus dem vorigen Abschnitt unmittelbar vorher, nicht danach — ein Versionssprung, der das Datenbankschema ändert, führt bei diesem ersten Start eine Migration aus, und das Backup, auf das es ankommt, ist das, das Minuten vorher entstanden ist, nicht das, das du improvisierst, sobald etwas komisch aussieht.

Honest sizing: friends group to small communityEhrliche Dimensionierung: von der Freundesgruppe bis zur kleinen Community

A TeamSpeak server's actual job — relaying small UDP voice packets between connected clients — is genuinely light. Resident memory for a friends group or a small community sits at a modest double-digit number of megabytes; the OS, sshd, and everything else already running on the box account for most of what a 1 GiB machine holds. A Starter VPS (1 vCPU / 1 GiB / 25 GB) covers that with room to spare, voice channels included.Die eigentliche Aufgabe eines TeamSpeak-Servers — kleine UDP-Sprachpakete zwischen verbundenen Clients weiterzuleiten — ist wirklich leichtgewichtig. Der residente Speicher für eine Freundesgruppe oder eine kleine Community liegt bei einer bescheidenen zweistelligen Anzahl an Megabyte; das Betriebssystem, sshd und alles andere, was bereits auf der Maschine läuft, macht den Großteil dessen aus, was eine 1-GiB-Maschine an Speicher hält. Ein Starter-VPS (1 vCPU / 1 GiB / 25 GB) deckt das mit Luft nach oben ab, Sprachkanäle inklusive.

What grows the footprint is file transfer, not voice: every avatar, icon, and shared file a community uploads sits in files/ and counts against the 25 GB disk, and an active file-sharing community will notice that limit long before it notices any RAM pressure. Mostly-talking use, size Starter and don't look back; heavy file sharing on top of that, watch disk rather than CPU or RAM as the thing that decides when to move up.Was den Fußabdruck wachsen lässt, ist Dateiübertragung, nicht Sprache: Jeder Avatar, jedes Icon und jede geteilte Datei, die eine Community hochlädt, landet in files/ und zählt gegen die 25-GB-Platte, und eine aktive Community mit viel Dateiaustausch wird dieses Limit lange bevor sie irgendeinen RAM-Druck bemerkt zu spüren bekommen. Bei überwiegender Sprachnutzung dimensioniere Starter und schau nicht zurück; kommt intensiver Dateiaustausch dazu, behalte die Platte im Auge, nicht CPU oder RAM, als das, was darüber entscheidet, wann du hochstufen musst.

On overnight.hostBei overnight.host

Full disclosure: this is what we sell. A TeamSpeak server for a friends group or a small community idles comfortably on a Starter (1 vCPU / 1 GiB / 25 GB); move up only once heavy file-transfer use — icons, avatars, shared files — starts pressing on that RAM or the 25 GB disk, not because of voice traffic itself.Zur vollen Transparenz: Das ist, was wir verkaufen. Ein TeamSpeak-Server für eine Freundesgruppe oder eine kleine Community läuft auf einem Starter (1 vCPU / 1 GiB / 25 GB) bequem im Leerlauf; steig erst hoch, sobald intensive Dateiübertragung — Icons, Avatare, geteilte Dateien — auf diesen RAM oder die 25-GB-Platte drückt, nicht wegen des Sprachverkehrs selbst.

Linux KVM VPS — EUR 4.99 to EUR 59.99 a month, on our own single-tenant bare metal in Dallas, TX and Charlotte, NC. Full hardware virtualisation (KVM), your own kernel, full root. Six tiers, vps-starter to vps-ultra. Starter is 1 vCPU, 1 GiB RAM, 25 GB disk.Linux-KVM-VPS — 4,99 bis 59,99 EUR im Monat, auf unserer eigenen Single-Tenant-Bare-Metal-Hardware in Dallas, TX und Charlotte, NC. Vollständige Hardware-Virtualisierung (KVM), eigener Kernel, volles Root. Sechs Tarife, vps-starter bis vps-ultra. Starter hat 1 vCPU, 1 GiB RAM, 25 GB Speicher.

You order in the shop, pay by card (Stripe) or SEPA bank transfer, and your login details are e-mailed to you once the service is set up. Support is e-mail, run by one person, with no guaranteed response time. All prices are final totals under the German small-business rule (§19 UStG); no VAT is added or shown.Du bestellst im Shop, zahlst per Karte (Stripe) oder SEPA-Überweisung, und deine Zugangsdaten werden dir per E-Mail zugeschickt, sobald der Dienst eingerichtet ist. Support läuft per E-Mail, von einer einzelnen Person betrieben, ohne garantierte Reaktionszeit. Alle Preise sind Endpreise. Gemäß § 19 UStG wird keine Umsatzsteuer ausgewiesen.

Order vps-starter → · Linux KVM VPS overviewvps-starter bestellen → · Übersicht Linux-KVM-VPS

Written by the person who runs overnight.host: a small, honest hosting company on dedicated bare metal — Linux VPS, game servers, web hosting. Live status at up.overnight.host.Geschrieben von der Person, die overnight.host betreibt: ein kleines, ehrliches Hosting-Unternehmen auf dedizierter Bare-Metal-Hardware — Linux-VPS, Gameserver, Webhosting. Live-Status unter up.overnight.host.

Technical guidance is informational. Plans, specifications and final prices are listed in the shop and can be ordered directly; VPS, game server, web hosting, one-click app and automation plans are provisioned automatically after payment. Custom configurations are still arranged by e-mail.Technische Hinweise dienen der Information. Pläne, Spezifikationen und Endpreise stehen im Shop und können direkt bestellt werden; VPS-, Gameserver-, Webhosting-, One-Click-App- und Automatisierungs-Pläne werden nach der Zahlung automatisch bereitgestellt. Sonderkonfigurationen werden weiterhin per E-Mail vereinbart.

FAQFAQ

Do I need a dedicated IPv4 to run a TeamSpeak server?Brauche ich eine dedizierte IPv4, um einen TeamSpeak-Server zu betreiben?

Only if you want the default ports — 9987, 10011, 30033 — to work exactly as documented with nothing to check first. On NAT IPv4, the server works fine as long as 9987/UDP (voice, the one clients actually need) is among your plan's forwarded ports, or you move the voice port to one that is. A dedicated address just means never having to hand out a non-standard port number.Nur wenn du willst, dass die Standardports — 9987, 10011, 30033 — genau wie dokumentiert funktionieren, ohne vorher etwas prüfen zu müssen. Unter NAT-IPv4 funktioniert der Server einwandfrei, solange 9987/UDP (Sprache, der Port, den Clients tatsächlich brauchen) zu den weitergeleiteten Ports deines Plans gehört, oder du den Voice-Port auf einen verlegst, der es ist. Eine dedizierte Adresse bedeutet nur, dass du nie eine abweichende Portnummer herausgeben musst.

Why shouldn't I forward the ServerQuery port?Warum sollte ich den ServerQuery-Port nicht weiterleiten?

Because 10011 is a plaintext administrative interface with a login prompt, and leaving it open to the entire internet only invites brute-force attempts against it for no real benefit — almost nobody needs to reach ServerQuery from outside their own machine. An SSH tunnel gets you the same access without ever exposing the port.Weil 10011 eine unverschlüsselte administrative Schnittstelle mit einem Login-Prompt ist: Ihn für das gesamte Internet offen zu lassen lädt nur zu Brute-Force-Versuchen gegen ihn ein, ohne echten Nutzen — fast niemand muss von außerhalb der eigenen Maschine auf ServerQuery zugreifen. Ein SSH-Tunnel verschafft dir denselben Zugriff, ohne den Port jemals offenzulegen.

What happens if I lose the privilege key?Was passiert, wenn ich den Privilege Key verliere?

There's no way to regenerate it after the fact for an existing database — it's only issued once, on a genuine first start. If it's truly gone and you have no other admin identity registered, the practical recovery is deleting ts3server.sqlitedb and starting over, which loses every channel and permission already configured. This is exactly why it goes into a password manager the moment you see it, not into a scratch file.Es gibt keine Möglichkeit, ihn nachträglich für eine bestehende Datenbank neu zu erzeugen — er wird nur einmal ausgegeben, bei einem wirklich ersten Start. Ist er tatsächlich weg und du hast keine andere Admin-Identität registriert, ist die praktische Wiederherstellung, ts3server.sqlitedb zu löschen und neu anzufangen, wodurch jeder bereits konfigurierte Channel und jede Berechtigung verloren geht. Genau deshalb wandert er in dem Moment, in dem du ihn siehst, in einen Passwort-Manager, nicht in eine Wegwerfdatei.

Can I run the start script instead of a raw systemd unit?Kann ich das Startskript statt einer rohen systemd-Unit verwenden?

You can, but it fights systemd's own process tracking, since the script daemonizes and manages its own PID file rather than staying in the foreground the way Type=simple expects. Pointing ExecStart at the ts3server binary directly, as this guide does, keeps systemd as the only thing deciding whether the service is running.Du kannst, aber das beißt sich mit systemds eigener Prozessverfolgung, weil das Skript sich daemonisiert und seine eigene PID-Datei verwaltet, statt im Vordergrund zu bleiben, so wie Type=simple es erwartet. ExecStart direkt auf die ts3server-Binary zu zeigen, wie diese Anleitung es tut, hält systemd als das Einzige, was entscheidet, ob der Dienst läuft.

How big a VPS do I actually need for a small TeamSpeak server?Wie groß muss ein VPS für einen kleinen TeamSpeak-Server tatsächlich sein?

A Starter VPS (1 vCPU / 1 GiB / 25 GB) comfortably runs a server for a friends group or a small community — voice barely registers against either the CPU or the RAM. Disk is the number to watch, and only if the community uploads a lot through file transfer; a voice-only server can sit on Starter indefinitely.Ein Starter-VPS (1 vCPU / 1 GiB / 25 GB) betreibt einen Server für eine Freundesgruppe oder eine kleine Community bequem — Sprache schlägt weder bei der CPU noch beim RAM nennenswert zu Buche. Die Platte ist die Zahl, die du im Auge behalten solltest, und nur, wenn die Community viel über Dateiübertragung hochlädt; ein reiner Sprachserver kann unbegrenzt auf Starter bleiben.

Ready to order?Bereit zu bestellen?

Prices are final totals; no VAT is shown (§19 UStG). Need something the shop does not list? Email us for a written offer.Alle Preise sind Endpreise ohne ausgewiesene USt. (§19 UStG). Du brauchst etwas, das nicht im Shop steht? Schreib uns für ein schriftliches Angebot.

Order now →Jetzt bestellen → Request a custom configIndividuelle Konfiguration anfragen