How to Make a TeamSpeak 3 Server on Linux: Step by Step
How to make a TeamSpeak 3 server on Linux: installation, accepting the license, the privilege key, ports 9987 and 30033, a systemd service and backups.

Contents
TeamSpeak is low-latency voice communication software that's especially popular with gamers and clans. When you set up your own TeamSpeak server, channels, permissions and logs are entirely under your control, and the server uses very few resources. It runs comfortably on the same machine alongside a game server or a Discord bot.
This guide covers setting up a TeamSpeak 3 server on Linux from scratch, getting the first admin key, the ports, running the server as a service, backups and security settings.
Requirements
- Operating system: The TeamSpeak 3 server is released for Linux, Windows and macOS. In this guide we use Ubuntu and Debian.
- Resources: A few hundred MB of RAM is enough for a few dozen users; CPU usage is very low.
- License: Without a license, you're limited to a single virtual server and 32 users.
All you need to know is how to connect to the server over SSH; we give you the rest of the commands step by step.
Step 1: User and files
For security, run TeamSpeak as a separate user instead of root:
sudo apt update
sudo apt install bzip2 wget
sudo useradd -m -s /bin/bash teamspeak
sudo su - teamspeak
On the download page of TeamSpeak's official website, copy the link to the Server 64-bit package for Linux, then download and extract it on the server:
wget -O ts3server.tar.bz2 "https://.../teamspeak3-server_linux_amd64-X.X.X.tar.bz2"
tar -xjf ts3server.tar.bz2
cd teamspeak3-server_linux_amd64
The URL contains the current version number from the website.
Step 2: Accept the license
The TeamSpeak server won't start without a file stating that you accept the terms of use. After reading the terms in the license file in the server folder, accept them with:
touch .ts3server_license_accepted
Step 3: First start and the admin key
./ts3server_startscript.sh start
On the first start, the server generates two important pieces of information. Save them somewhere safe right away:
- ServerQuery admin account: The
serveradminusername and password. Used to manage the server from the command line or with management tools. - Privilege key (token): A single-use key you'll use to make yourself Server Admin the first time you connect to the server with the TeamSpeak client.
This information appears in the startup output and in the log file in the logs folder inside the server folder:
grep -i "token=" logs/*.log
Step 4: Ports and the firewall
| Port | Protocol | What for? | Open to everyone? |
|---|---|---|---|
| 9987 | UDP | Voice traffic (default virtual server) | Yes |
| 30033 | TCP | File transfer (icons, avatars, files) | Yes |
| 10011 | TCP | ServerQuery (plain text) | No; only your own IP |
| 10022 | TCP | ServerQuery (SSH) | No; only your own IP |
If you use ufw on Ubuntu:
sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
The ServerQuery ports are doors to full control of your server; don't open them to everyone. If you're going to use management tools, open these ports only to your own IP address or reach them through an SSH tunnel. We cover UFW in detail in our How to use UFW guide.
Step 5: Connect and become an admin
- In the TeamSpeak client, go to Connections → Connect.
- Enter your server's IP address as the server address (since the default port is 9987, you don't need to enter a port).
- Once you're connected, you'll be asked for a privilege key; enter the key you saved in step 3.
You're now in the Server Admin group. You can manage channels, server groups and permissions from inside the client. To put a password on the server, right-click the server name and open the server settings.
If you'd like to use your own domain name, all you need to do is add an A record for a subdomain such as ts.yourdomain.com that points to your server's IP address; the details are in our What is a subdomain? article.
Step 6: Running it as a system service
So the server starts automatically after reboots, create a systemd service. Switch back to the root user and write the /etc/systemd/system/teamspeak.service file:
[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
User=teamspeak
Group=teamspeak
Type=forking
WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_amd64
ExecStart=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid
Restart=on-failure
[Install]
WantedBy=multi-user.target
First stop the server you started by hand, then enable the service:
sudo -u teamspeak /home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
sudo systemctl daemon-reload
sudo systemctl enable --now teamspeak
Backups and updates
All of the TeamSpeak server's data (channels, permissions, users and uploaded files) is kept in the server folder. In a default installation, the most important parts are the ts3server.sqlitedb database file and the files folder. For a consistent backup, stop the server briefly and archive the whole folder:
sudo systemctl stop teamspeak
sudo tar -czf ~/teamspeak-backup-$(date +%F).tar.gz -C /home/teamspeak teamspeak3-server_linux_amd64
sudo systemctl start teamspeak
Updating: Download the new version and extract it over the existing folder while the server is stopped; your database and files are kept. Always take a backup before updating. We cover taking regular backups that are independent of the server in our Server backups guide.
Security tips
- Don't open the ServerQuery ports to the internet; allow only your own IP address or an SSH tunnel.
- Don't share the
serveradminpassword or privilege keys with anyone. - Remove unnecessary permissions from the default groups; limit new users' permissions to create channels and upload files.
- TeamSpeak servers are frequent DDoS targets, so it's important to have network-level protection in front of your server. The details are in our What is DDoS? article.
Nodesty for your TeamSpeak server
Because a TeamSpeak server uses so few resources, it runs comfortably on the same machine as your game server. Nodesty game server plans give you full administrator access, so you can install TeamSpeak alongside your game server with the steps in this guide. If you'd like a separate server, our AMD Ryzen 9 9950X VPS plans are available in Frankfurt and New York with L3–L7 nShield DDoS protection and free daily backups kept for 7 days.
TeamSpeak is a trademark of TeamSpeak Systems GmbH. Nodesty is not affiliated with or endorsed by TeamSpeak Systems.
Frequently Asked Questions
Is a TeamSpeak server free?
The TeamSpeak 3 server software can be used for free without a license. Without a license, you're limited to a single virtual server and 32 users. If you need more users or virtual servers, look into TeamSpeak's license options.
How many resources does a TeamSpeak server need?
Very few. For a few dozen users, a TeamSpeak server uses only a few hundred MB of RAM and very little CPU. That's why it usually runs comfortably on the same server alongside a game server or a bot.
I lost the privilege key. What should I do?
You can connect to the server with ServerQuery and create a new admin key. If you've also lost the ServerQuery admin password, stop the server and start it once with the serveradmin_password parameter to set a new password; don't leave that parameter in place permanently.
TeamSpeak or Discord?
Discord is free, needs no setup and has strong text chat and community features. TeamSpeak runs on your own server, so you have full control over voice communication, and its low latency and low resource usage mean competitive players and clans still prefer it.
Why can't anyone connect to my server?
The most common cause is that UDP port 9987 isn't open in the firewall; TeamSpeak's voice traffic uses UDP. If file transfers don't work, open TCP port 30033 too. You can check that the server is running and which ports it listens on with ss -tulpn.
Is TeamSpeak 3 still used?
Yes. Newer generations of TeamSpeak are being released too, but the TeamSpeak 3 server is still widely used and most clients can connect to it. Before a new installation, check the current server options on TeamSpeak's website.
About the author
Nodesty Team · Infrastructure & Support
The Nodesty team runs our servers, network and DDoS protection day to day and answers customer support requests around the clock. These guides come from that work.
Related articles

FiveM Server Optimization: Fixing Lag and High ms
Why is your FiveM server lagging? Measuring with resmon and profiler, high-ms scripts, database queries, large assets and choosing the right hardware.

How to Set Up a Minecraft Velocity Network: Lobby and Multiple Servers
How to build a Minecraft server network with Velocity: velocity.toml settings, modern forwarding, Paper backend config, the firewall and network plugins.

How to Set Up a Minecraft Modpack Server: Forge, NeoForge and Fabric
How to set up a Minecraft modpack server: server packs, installing Forge, NeoForge and Fabric, the Java version, RAM settings, client mods and updates.