NetworkingAugust 4, 20264 min read

How to Set Up a TeamSpeak 3 Server on a VPS

Install a TeamSpeak 3 server on a Linux VPS: download the server, create a user, grab the admin token and ServerQuery password, open the ports, and run it with systemd.

NBy Nxeon

TeamSpeak 3 is a long-standing favorite for gaming voice chat, and a self-hosted server gives you full control with no per-slot fees beyond the license terms. This guide installs a TeamSpeak 3 server on a Linux VPS and keeps it online. If you'd rather use a free, open-source alternative, see how to set up a Mumble (Murmur) voice server.

Requirements and licensing

  • A VPS: Ubuntu 22.04 or Debian 12. TeamSpeak is very light — 1 vCPU and 1 GB RAM handles a busy server.
  • Ports: UDP 9987 (voice), TCP 10011 (ServerQuery), TCP 30033 (file transfer).
  • License: the free non-profit license allows up to 32 slots and a limited number of virtual servers. Larger deployments need a license from TeamSpeak.

Step 1: Create a dedicated user

Never run TeamSpeak as root:

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

Step 2: Download the server

Get the latest Linux amd64 build from the TeamSpeak site (check for the current version link), then extract:

wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
tar xf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
cd teamspeak3-server_linux_amd64

Step 3: Accept the license

TeamSpeak requires you to accept its license before it will start:

touch .ts3server_license_accepted

Step 4: First start — capture the token and password

Start the server once in the foreground so you can copy the important one-time values it prints:

./ts3server_startscript.sh start

On first run it prints:

  • A ServerAdmin privilege key (token) — you'll paste this into the client to become server admin.
  • A ServerQuery admin login and password — for remote administration.

Copy both immediately and store them safely. If you miss them, they're also written to the logs in the logs folder.

The Nxeon game-server control panel — live console, player slots, and TPS
The Nxeon game-server control panel — live console, player slots, and TPS

Step 5: Open the firewall

sudo ufw allow 9987/udp
sudo ufw allow 10011/tcp
sudo ufw allow 30033/tcp
sudo ufw reload

Open the same ports in your provider's network firewall. UDP 9987 carries the voice traffic.

Step 6: Run it under systemd

Stop the manual instance (./ts3server_startscript.sh stop), then create /etc/systemd/system/teamspeak.service:

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

[Service]
Type=forking
User=teamspeak
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
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now teamspeak
sudo systemctl status teamspeak

Step 7: Connect and claim admin

In the TeamSpeak client, connect to your VPS IP (default port 9987). When prompted, paste the privilege key from step 4 to gain Server Admin rights. Now you can create channels, set permissions, and manage users.

TeamSpeak vs Mumble

TeamSpeak is polished and widely used, with a per-slot license model for larger servers; Mumble is fully free and open-source with excellent latency. Both are light enough to run beside a game server — see how to host multiple game servers on one VPS. Secure the box either way with securing your first Linux VPS: 10 steps.

ServerQuery: remote administration

TeamSpeak's ServerQuery interface (TCP 10011) lets you administer the server from a script or telnet session using the admin login captured at first start:

telnet localhost 10011
login serveradmin YOUR_QUERY_PASSWORD
use 1
serverinfo

From ServerQuery you can create tokens, manage channels, and automate bans. Many community tools and stats panels connect this way, so keep the query password secret and consider restricting port 10011 to localhost or trusted IPs.

Channels, permissions, and tokens

As Server Admin you build a channel tree and a permission structure (guest, member, admin) using TeamSpeak's granular permissions. Generate privilege keys to hand out roles:

tokenadd tokentype=0 tokenid1=<groupid> tokenid2=0

Give a new moderator the token and they claim the role on their next connect.

Troubleshooting

  • Server won't start: you didn't accept the license — touch .ts3server_license_accepted.
  • Can't connect: open UDP 9987 on both firewalls; it carries the voice traffic.
  • Lost admin token: find it in the logs folder, or generate a new one via ServerQuery.

FAQ

What ports does TeamSpeak 3 use?

UDP 9987 for voice, TCP 10011 for ServerQuery, and TCP 30033 for file transfer. Open all three on both firewalls.

I lost the admin token — how do I get admin?

The privilege key is written to the server logs in the logs folder. You can also generate a new token via ServerQuery using the admin login from first start.

Is TeamSpeak free to host?

The non-profit license covers small servers (up to 32 slots and a few virtual servers). Larger deployments require a paid license from TeamSpeak.

How much RAM does a TeamSpeak server need?

Very little — 1 GB is plenty for a busy server. TeamSpeak is one of the lightest services you can host.

Host your voice server on an affordable NVMe VPS from Nxeon — full root access, low latency, and free migration help if you're moving from another host.

#teamspeak#voice server#voip#systemd#vps#seobatch

Deploy your first server in under a minute

Creating an account is free and takes no card details. You pay when you deploy — choose a billing term and pay from your wallet or by card at checkout.