How to set up a TeamSpeak server
You can set up a TeamSpeak 3 server with a single Docker command, and it runs on very little. TeamSpeak's support page recommends a minimum of 1 GB of RAM, and a bare installation takes about 15 MB of disk. The free use is limited to one virtual server and 32 slots. All it needs to work is for ports 9987/UDP and 30033/TCP to be open.
To become the admin, you use a one-time privilege key generated on the server's first start. This article is about the TeamSpeak 3 server. We cover resource needs, the ports, the license limit, a manual install with Docker and how to get the key.
How many resources does it need?
According to TeamSpeak's official support article, any recent Linux distribution (32 and 64 bit) will do, the CPU must support SSE2, and 1 GB of RAM is recommended. A bare installation takes about 15 MB, and file transfers and icons need extra space. Memory needs grow with the number of users and virtual servers. Because the official recommendation is small, it makes sense to start with a small size and scale up if you need to.
Which ports do you need?
| Port | What for? | Required? |
|---|---|---|
| 9987/UDP | Voice | Yes |
| 30033/TCP | File transfer | Yes |
| 10011/TCP | ServerQuery (command interface) | Optional, keep it closed to the outside |
| 10022, 10080, 10443, 41144 | SSH ServerQuery, WebQuery, TSDNS | Optional |
These are the default ports, and all of them except TSDNS can be changed. If you run a second server on the same machine, it needs different ports.
Licensing and the slot limit
A slot is one user connected at the same time. TeamSpeak's free use is limited to one virtual server and 32 slots, and it is meant for non-commercial groups and individuals. For more slots or for commercial use, you need a license from TeamSpeak. License types and prices can change, so check TeamSpeak's website. The license fee isn't part of the server price, and you buy the license from TeamSpeak yourself.
What is a virtual server?
In TeamSpeak, a single installation can host several virtual servers. Each virtual server has its own port, channels, permissions and users. With free use you can open only one virtual server. The first one uses port 9987 by default, and later ones take different ports.
Manual install with Docker
- Prepare an Ubuntu server with Docker installed.
- Start the server:
docker run -d --name teamspeak --restart unless-stopped -p 9987:9987/udp -p 30033:30033 -e TS3SERVER_LICENSE=accept -v ts_veri:/var/ts3server teamspeak:3.13 - Take the privilege key from the log: look for the line starting with
token=in the output ofdocker logs teamspeak. - In the TeamSpeak client, open Connections > Connect, type the server's IP address and connect.
- If the client asks for the privilege key, paste the value. If it doesn't, use Permissions > Use Privilege Key.
The value TS3SERVER_LICENSE=accept in the command means you accept the TeamSpeak license agreement, so read it first. We deliberately left port 10011 out. Docker opens every port you publish and skips your ufw rules, so publish only the ports you really need with -p. If you'd rather not use Docker, you can download the Linux server archive from TeamSpeak's website and run it.
How does the privilege key work?
- The key is generated on the server's first start and appears in the log of the first virtual server.
- It can be used once. After that it is no use.
- For other admins, create a new key in the client under Permissions > Privilege Keys.
First settings
- If you use the default port 9987, you don't type a port in the client. If you chose another port, write the address as
203.0.113.5:9500. - Organize the channels from the start: open sub-channels such as chat, games and a lounge under the main channel.
- Give permissions to groups, not to individual users. When someone new joins the right group, the permissions come with it, and later changes are easier.
- If the container exits right after starting, check that
TS3SERVER_LICENSE=acceptis in the command.
Running other things on the same server
TeamSpeak is a small load, so it can run next to a website. In that case, size the server for the other application. Note each application's ports so they don't clash, and open only what is needed in the firewall.
If you can't connect
- Check with
docker psthat the container is running. If it isn't,docker logs teamspeakshows why. - Make sure no firewall blocks ports 9987/UDP and 30033/TCP. If you use the panel's firewall, allow these two ports.
- Check that you typed the right IP address in the client.
- Some networks block UDP traffic. Try another network, for example your phone's mobile data.
Backups and security
- The server has no password by default, so anyone who knows the address can connect. To set one, right-click the server name in the client and open Edit Virtual Server.
- Don't open the ServerQuery port (10011) to the internet.
- Settings and channels live in the
ts_verivolume. To back the volume up:docker run --rm -v ts_veri:/veri -v "$PWD":/yedek alpine tar czf /yedek/ts-yedek.tgz -C /veri . - For security updates, pull the image regularly and recreate the container. Your data sits in the volume, so your settings aren't lost.
- If you want your friends to type a domain name instead of an IP, see how to connect your own domain.
A ready-made TeamSpeak server on Seturack
If you pick TeamSpeak when you order, the server is ready in about 3-4 minutes. In the panel you see the Connection address and Admin key rows. Port 9987/UDP for voice and 30033/TCP for file transfer are open, and ServerQuery is closed to the outside. You accept the TeamSpeak license agreement when you order. The connection steps are in the TeamSpeak help article.
If you'd rather skip the manual setup, see the TeamSpeak server page.
Comments0
No Comments Yet
Be the first to share your thoughts.
Please sign in or sign up to leave a comment.