Private customers Business customers

Set up a TeamSpeak server on your VPSYour own voice server for community and clan

TeamSpeak 3 needs surprisingly few resources and runs reliably even on the smallest VPS plan. This guide takes you from installation and autostart via systemd to the first login as admin - and explains when your own server is worth it compared to a ready-made offer.

TeamSpeak 3systemd autostartFrom plan XS30 minutes

Published on

Is your own server worth it?

Compared to modern voice services, TeamSpeak 3 is downright frugal: a server with 32 slots gets by with a few hundred megabytes of memory and generates hardly any CPU load. Resource requirements are therefore no argument against your own server - quite the opposite.

Your own VPS mainly makes sense if you want to bundle several things: TeamSpeak plus game server plus bot plus a small website on one machine, all under your control and for one price. If you need only a voice server and do not want to deal with server administration, a ready-made offer serves you better.

On the licence: TeamSpeak's free licence allows up to 32 slots on one virtual server instance. For more, you need a commercial licence directly from TeamSpeak Systems. Stick to it - the licence terms are queried at startup and are binding.

And on the version question: TeamSpeak is developing a server for TeamSpeak 6 in parallel. As of September 2026, however, it is still labelled as a beta and explicitly intended for testing. For a server where your community reliably meets, the stable TeamSpeak 3 server software therefore remains the right choice - and that is exactly what this guide installs.

Rent a VPS from €2.95 / month

Prepaid without a contract, full root access.

View plans & prices

Preparation

The VPS should be set up and secured, see First steps and Secure SSH. Then install the library that the TeamSpeak server needs for its SQLite database:

sudo apt update
sudo apt install libsqlite3-0 wget bzip2 -y

The server should not run as root - for a service reachable from the internet, that is an unnecessary risk. So create a dedicated system user without a login:

sudo adduser --disabled-login --gecos "TeamSpeak" teamspeak

Install the TeamSpeak server

Switch to the new user and download the current server version. You will find the current version number on TeamSpeak's official download page - adjust it in the following command:

sudo -u teamspeak -s
cd /home/teamspeak
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
tar xfj teamspeak3-server_linux_amd64-3.13.7.tar.bz2
mv teamspeak3-server_linux_amd64/* .
rm -rf teamspeak3-server_linux_amd64 teamspeak3-server_linux_amd64-3.13.7.tar.bz2

You have to accept the licence terms actively, otherwise the server will not start:

touch .ts3server_license_accepted
exit

The last command takes you back to your normal user.

Set up autostart via systemd

A server that does not come up on its own after a reboot is no good. So create a systemd unit:

sudo nano /etc/systemd/system/teamspeak.service
[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
WorkingDirectory=/home/teamspeak
User=teamspeak
Group=teamspeak
Type=forking
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

Enable and start:

sudo systemctl daemon-reload
sudo systemctl enable --now teamspeak
sudo systemctl status teamspeak --no-pager

The status display should report active (running). Restart=always ensures that the service starts again automatically after a crash.

Secure the admin token

On the very first start, the server writes a privilege key to the log - you use it later to make yourself server admin. This key exists exactly once.

sudo journalctl -u teamspeak --no-pager | grep -A 3 "token"

If you find nothing there, look directly in the log file:

sudo grep -r "token=" /home/teamspeak/logs/ | head

Copy the token into a password manager. If it gets lost, you can generate a new one via the ServerQuery interface, but that is considerably more cumbersome.

Open the ports in the firewall

TeamSpeak uses three ports with different tasks:

  • 9987/UDP - the actual voice transmission. The only port your users absolutely need.
  • 30033/TCP - file transfer, for avatars and icons, for example.
  • 10011/TCP - ServerQuery for remote administration. Do not open this port publicly.
sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
sudo ufw status

When needed, you reach the ServerQuery port via an SSH tunnel without opening it to the internet:

ssh -L 10011:127.0.0.1:10011 yourname@YOUR-SERVER-IP

Connect and become admin

Start the TeamSpeak client and connect to your VPS's IP address. If the server runs on the default port 9987, the plain IP address without a port is enough.

On the first connection, the client asks for the privilege key. Enter the token you saved - this gives you server admin rights. If the prompt does not appear, you will find it in the menu under Permissions > Use Privilege Key.

Sensible next steps in server administration:

  • Set the server name and welcome message
  • Create the channel structure and set the default channel
  • Set up permission groups for moderators and members
  • Set a server password if needed

Backup and updates

The entire state of your TeamSpeak server - channels, permissions, groups, users - is stored in a few files in the directory /home/teamspeak. A backup is correspondingly simple, but the service has to stop briefly for it, otherwise you back up an inconsistent database:

sudo systemctl stop teamspeak
sudo tar czf /root/ts3-backup-$(date +%F).tar.gz -C /home teamspeak
sudo systemctl start teamspeak

The key files in it are ts3server.sqlitedb (the database) and query_ip_whitelist.txt or ts3server.ini if you have customized them.

For an update, download the new version, unpack it over the existing installation and restart the service. Back up beforehand - an overwritten TeamSpeak database cannot be repaired. How to automate this is covered in the guide Set up backups.

If no connection is established

  • Service is not running: check sudo systemctl status teamspeak. The most common cause is the missing file .ts3server_license_accepted.
  • Port not open: sudo ufw status must list 9987/udp. Note that it is UDP, not TCP - a common typo.
  • Wrong port in the client: if the server does not run on 9987, you have to enter the address as IP:PORT.
  • Server is not listening: check with sudo ss -lunp | grep 9987 whether the process actually occupies the port.

The same VPS can also run other community services: a Discord bot or your own Minecraft server fit alongside TeamSpeak from plan S upwards.

Frequently asked questions

Plan XS is enough for a TeamSpeak 3 server with up to 32 slots - the free licence does not allow more anyway. Go for S or M if a game server, bots or a website should also run on the same VPS.

The free licence from TeamSpeak Systems allows up to 32 slots on one virtual server instance. For more slots or several instances, you need a commercial licence directly from TeamSpeak. You actively accept the terms during installation and they are binding.

A new token can be generated via the ServerQuery interface. To do this, connect locally on port 10011, log in with the serveradmin credentials from the first-start log and generate a new key with "tokenadd". It is much easier to store the original token in a password manager right after installation.

Only with a systemd unit set up. After "sudo systemctl enable teamspeak", the service starts automatically on every boot, and with "Restart=always", it also comes back on its own after a crash. Without this setup, the server stays off after a reboot.

Yes. The protection with 250 Gbit/⁠s capacity works at network level and therefore applies to all services on your VPS, including voice servers. Gaming communities in particular are a popular target of volumetric attacks - the protection is included in all plans at no extra cost.

If you only need a voice server and do not want to deal with server administration: yes. Your own VPS pays off as soon as you want to bundle several services - such as TeamSpeak together with a game server, a Discord bot and a community website on one machine.

A VPS for your voice server

A TeamSpeak server with up to 32 slots already runs on plan XS. If you also want to run a game server, bots or a website on the same server, go for S or M. All plans with DDoS protection up to 250 Gbit/⁠s.

View VPS plans & prices