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.
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 statusmust 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 9987whether 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
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 & pricesRent a VPS
from €2.95 / month
Prepaid without a contract, full root access, DDoS protection up to 250 Gbit/s.
View plans & pricesRead more
- VPS - plans & prices
- Host a Discord bot
- First steps on your VPS
- Secure SSH access
- Host Minecraft on a VPS
- Set up backups
- Rent a ready-made game server
- Web hosting or VPS?
Discover more