Use case · Voice server

TeamSpeak server hosting on Linux: release, licence, ports and first start

TeamSpeak server hosting on your own machine means running TeamSpeak 3 Server 3.13.8, the current stable release on teamspeak.com, or the TeamSpeak 6 Server, which TeamSpeak still ships as a beta on GitHub. Without a licence file, TeamSpeak 3 runs one virtual server with up to 32 slots, for non-commercial use. Clients need 9987/udp for voice and 30033/tcp for files; the ServerQuery ports 10011, 10022 and 10080 belong on localhost. The first start prints a one-time ServerAdmin privilege key: redeem it yourself, before anyone else reads the log.

See the game server machines

Which server release to run

Run TeamSpeak 3 Server for anything people depend on; treat the TeamSpeak 6 Server as a test bed. The download page lists TeamSpeak 3 Server 3.13.8 for Linux, Windows, macOS and FreeBSD, with an official Docker image. The same page labels the TeamSpeak 6 Server a beta and links its GitHub repository, whose latest release on the day this page was written is 6.0.0-beta13.1 (22 September 2026).

TeamSpeak 3 ServerTeamSpeak 6 Server
StatusStable, 3.13.8Beta, 6.0.0-beta13.1
Where to get itteamspeak.com downloadsGitHub releases, Docker image
Linux buildsamd64 and x86amd64 and arm64
Licence without purchase1 virtual server, 32 slots, non-commercial32-slot beta licence, renewed every two months
Larger licencePaid licence file from TeamSpeakNot obtainable yet
Query interfacesRaw 10011, SSH 10022, Web 10080SSH 10022, Web 10080, HTTPS 10443

TeamSpeak's own README for the 6 beta states that TeamSpeak 3 licences do not work on TeamSpeak 6 servers and that there is no migration path between the two. A community built on TeamSpeak 3 today stays on TeamSpeak 3 until TeamSpeak publishes one.

What the free licence covers

The licence text shipped inside the 3.13.8 archive defines the tiers. The quickstart guide in the same archive adds that a server instance with more than one virtual server or more than 32 slots needs a licence file, and that without one the server refuses to start or falls back to limited functionality.

Model in the TS3 licenceScopeWho may use it
Unlicensed1 virtual server, up to 32 slots, no time limitNon-commercial groupings and consumers
Non-Profit (NPL)2 virtual servers, up to 512 slots, 6 monthsNon-commercial groupings and consumers
Annual Activation (AAL)From 1 virtual server with 32 slots to 2 with 1,024, one year, paidPaying customers; no sub-licensing
Hosting Provider (ATHP)Unlimited, slots may be resold, one year, paidAuthorised hosting providers

The licence text puts no time limit on the Unlicensed tier. Separately, the changelog entry for 3.13.7 dates the embedded default licence: valid until 1 July 2027. And the licensing page on teamspeak.com now describes TeamSpeak 6 server licences as coming soon, managed through a myTeamSpeak account; until then the 6 beta cannot grow past its 32 slots.

Ports: what the internet sees

Two ports face the clients; the rest are administration and stay closed. Defaults from the 3.13.8 quickstart:

PortProtocolPurposeExpose?
9987UDPVoice, first virtual serverYes
30033TCPFile transfer (avatars, icons, channel files)Yes
10011TCPRaw (telnet) ServerQuery, unencryptedNo
10022TCPServerQuery over SSHNo, or one admin IP
10080TCPWebQuery over HTTP, off by default on TS3No

The trap is the default bind address: query_ip, query_ssh_ip and query_http_ip all default to every IPv4 and IPv6 address on the machine, and the default query_protocols is raw,ssh. TeamSpeak itself strongly recommends a more secure protocol than raw. The first start and the unit file below both turn raw off and bind SSH query to 127.0.0.1, so a firewall mistake cannot expose it.

Sizing the machine

TeamSpeak publishes operating-system requirements for the server, not CPU or memory figures: any reasonably modern Linux with libstdc++ 6 and the epoll API. There is no official per-user number to size from, so this page does not invent one. What a voice server is sensitive to is distance: every packet crosses the network twice, speaker to server and server to listener. Pick the city first, then the machine.

  • Location. Put the server where most speakers are. Our data centers are in New York, Miami, San Francisco, Amsterdam and Bucharest; the looking glass runs ping and traceroute from our edge routers in New York and Bucharest so you can measure before ordering.
  • Shared box. One machine can also carry your game servers beside the voice server, which is a common reason to rent a whole server rather than a slot.
  • Storage. The default SQLite database and uploaded files live in the install directory. Size disk for file transfers if you allow them, and for backups.

Installing TeamSpeak 3 Server 3.13.8

  1. Read LICENSE in the archive. Creating .ts3server_license_accepted records that you accept it.
  2. Create an unprivileged account. TeamSpeak's own start script prints DO NOT RUN THE SERVER AS ROOT.
  3. Install curl, bzip2 and ufw, and enable the firewall before the server ever runs: SSH plus the two client ports, nothing else. Then download, unpack and hand the directory to the new account.
  4. Start it once in the foreground, with the same query parameters the service will use. The console prints the serveradmin query password and the ServerAdmin privilege key.
  5. Connect with your TeamSpeak client, paste the key into the privilege key dialog, confirm you hold Server Admin, then stop the server with Ctrl+C.
sudo apt install -y curl bzip2 ufw
sudo ufw allow OpenSSH
sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
sudo ufw enable
sudo useradd --system --home-dir /opt/teamspeak --shell /usr/sbin/nologin teamspeak
sudo mkdir -p /opt/teamspeak && cd /opt/teamspeak
sudo curl -fLO https://files.teamspeak-services.com/releases/server/3.13.8/teamspeak3-server_linux_amd64-3.13.8.tar.bz2
sudo tar xjf teamspeak3-server_linux_amd64-3.13.8.tar.bz2 --strip-components=1
sudo touch .ts3server_license_accepted
sudo chown -R teamspeak:teamspeak /opt/teamspeak
sudo chmod 750 /opt/teamspeak
# first start, foreground: copy the password and token it prints
sudo -u teamspeak ./ts3server_minimal_runscript.sh query_protocols=ssh query_ssh_ip=127.0.0.1 query_ssh_port=10022

The serveradmin password is shown once. TeamSpeak's quickstart says the only way to get a new one is to wipe the database (clear_database=1 or deleting ts3server.sqlitedb), which loses every setting. Store it in a password manager before you press Ctrl+C.

Running it under systemd, query kept local

Put the unit below in /etc/systemd/system/teamspeak.service; load it with sudo systemctl daemon-reload, then start it at boot and now with sudo systemctl enable --now teamspeak. The parameters are the quickstart's own; the unit is ours.

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

[Service]
User=teamspeak
WorkingDirectory=/opt/teamspeak
ExecStart=/opt/teamspeak/ts3server_minimal_runscript.sh query_protocols=ssh query_ssh_ip=127.0.0.1 query_ssh_port=10022
Restart=on-failure

[Install]
WantedBy=multi-user.target

The firewall is already up from the install step, with SSH allowed first so you cannot lock yourself out. ServerQuery now answers only on the machine itself; reach it from your desk through an SSH tunnel:

# admin query from your desk, through an SSH tunnel
ssh -L 10022:127.0.0.1:10022 you@your-server
ssh -p 10022 serveradmin@127.0.0.1

The privilege key is a one-time admin password

Whoever redeems the ServerAdmin privilege key first joins the Server Admin group. TeamSpeak's privilege key guide says a key works once and only on the virtual server it was made for; it is written to the console and to the files in logs/. Until you redeem it, anyone who can read those files can take the server.

  • Redeem it within minutes of the first start, from your own client.
  • Keep logs/ readable by the service account only, and do not paste log excerpts into public help threads.
  • Need another admin later? Log in to ServerQuery as serveradmin, run use sid=1, find the group with servergrouplist, then run privilegekeyadd tokentype=0 tokenid2=0 with tokenid1= set to that group's ID. Send the new key privately.

Updates, backups and the machines that fit

Update by stopping the service, unpacking the new release over the old files and starting again; that is TeamSpeak's own upgrade procedure. Do not sit on old builds: 3.13.8 fixes three denial-of-service flaws, CVE-2026-4390, CVE-2026-4391 and CVE-2026-4392. For backups, stop the service and copy the whole install directory, which holds ts3server.sqlitedb; keep the copy off the machine.

Our game server machines are HPE enterprise servers on our own network, AS19624, in five cities, with root access and support by phone, email and live chat around the clock. Every dedicated server comes with an unmetered port, so voice traffic and file transfers are never counted. Rack servers and blades add an out-of-band console for the night a firewall rule goes wrong. Install Ubuntu or Debian from the Linux images; a racked machine is live about 30 minutes after the order is approved.

When this is the wrong place: if you only want a small room for a few friends and never want to patch a server, a whole machine is more than the job needs. And if you need TeamSpeak 6 with more than 32 slots, a self-hosted server cannot give you that until TeamSpeak sells TS6 licences; for now only TeamSpeak's own hosted Communities service offers more slots.

Questions

Is the TeamSpeak 6 server ready for a live community?

TeamSpeak still calls it a beta. Its README says the self-hosted server is not yet feature-complete, some features may be unstable, and it runs on a 32-slot beta licence renewed every two months. Larger TS6 licences cannot be bought yet, so a community that needs more slots or long-term stability is better served by TeamSpeak 3 Server 3.13.8 for now.

How many people can join a free TeamSpeak 3 server?

Up to 32 slots on one virtual server, under the Unlicensed model in the licence that ships with the server. That model is for non-commercial groups and private individuals. More slots or a second virtual server needs a licence file from TeamSpeak.

Which ports must be open for players to connect?

UDP 9987 for voice and TCP 30033 for file transfers, both inbound. The ServerQuery ports (10011 raw, 10022 SSH, 10080 web) are for administration and should not be reachable from the internet; bind them to 127.0.0.1 and reach them through an SSH tunnel.

Someone used my privilege key before I did. What now?

Treat the server as taken over. If you still have the serveradmin query password, log in over ServerQuery, remove the intruder from the Server Admin group, delete unused keys with privilegekeydelete and create a fresh one. If you lost that password too, the documented way back is a new database, which wipes every channel and permission.

Can I move my TeamSpeak 3 licence or data to TeamSpeak 6?

No. TeamSpeak's TS6 README states that TS3 licences are not compatible with TS6 servers and that there is no migration path between the two versions at present.

A machine for your voice server

Pick the city closest to your speakers, install Linux and run TeamSpeak on a machine nobody else shares.

See the game server machines

Related on Server Room

Other use cases