> ## Documentation Index
> Fetch the complete documentation index at: https://help.freakhosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Install a TeamSpeak 3 Server on Linux

> Install a TeamSpeak 3 server on Linux with Docker or the tarball, accept the licence, open UDP 9987 and TCP 30033, then claim admin with the privilege key.

To install a TeamSpeak 3 server on Linux, run TeamSpeak's official Docker image with `TS3SERVER_LICENSE=accept`, or download the Linux tarball, accept the licence and start it with `./ts3server_startscript.sh start`. Open UDP port 9987 (voice) and TCP port 30033 (file transfer), then connect with the TeamSpeak client and enter the privilege key from the server log to become admin.

| Difficulty | Time | Works on | Needs |
| - | - | - | - |
| Beginner | 15 minutes | Ubuntu 24.04, Debian 13, AlmaLinux / Rocky 9 / 10 | Root or sudo, [Docker](https://help.freakhosting.com/portals/other/how-to-install-docker.md) for the Docker method |

FREAKHOSTING also offers managed servers on its Game Panel if you'd rather not run one yourself: see [how to log in to the Game Panel](https://help.freakhosting.com/portals/game-panel/how-to-login-and-access-the-game-panel.md).

## Before you start

* Running the server means you accept the TeamSpeak licence. Without a licence key, TeamSpeak 3 allows 1 virtual server with up to 32 slots.
* The current TeamSpeak 3 server is version 3.13.8. TeamSpeak 6 server is available as a beta; this guide covers TeamSpeak 3.
* Log in as root or a [sudo user](https://help.freakhosting.com/portals/other/how-to-create-a-sudo-user-on-linux.md). Root users can leave out `sudo`.

## Which ports does a TeamSpeak 3 server use?

| Port | Protocol | Used for | Needed? |
| - | - | - | - |
| 9987 | UDP | Voice | Yes |
| 30033 | TCP | File transfer | Yes |
| 10011 | TCP | ServerQuery (raw) | Optional |
| 10022 | TCP | ServerQuery (SSH) | Optional |
| 10080 / 10443 | TCP | WebQuery (HTTP / HTTPS) | Optional |
| 41144 | TCP | TSDNS | Optional |

Open only what you use. ServerQuery gives full control of the server, so keep 10011 and 10022 closed to the internet unless you need them.

## How to install the TeamSpeak 3 server

> [tab] Docker (recommended)
>
> **1. Create a project folder**
>
> ```bash theme={null}
> mkdir -p ~/teamspeak && cd ~/teamspeak
> ```
>
> **2. Create compose.yaml**
>
> ```yaml theme={null}
> services:
>   teamspeak:
>     image: teamspeak:3.13.8
>     restart: unless-stopped
>     ports:
>       - "9987:9987/udp"
>       - "30033:30033"
>     environment:
>       TS3SERVER_LICENSE: accept
>     volumes:
>       - ts3-data:/var/ts3server
>
> volumes:
>   ts3-data:
> ```
>
> The `teamspeak` image is the official image maintained by TeamSpeak. All server data lives in `/var/ts3server`, stored here in the `ts3-data` volume.
>
> **3. Start the server**
>
> ```bash theme={null}
> docker compose up -d
> ```
>
> **4. Get the admin password and privilege key**
>
> ```bash theme={null}
> docker compose logs teamspeak | grep -iE "password|token"
> ```
>
> Save the ServerQuery admin password and the `token=` value. They are shown only on the first start.

> [tab] Manual (tarball)
>
> **1. Create a user**
>
> ```bash theme={null}
> sudo useradd -m -d /opt/teamspeak -s /bin/bash teamspeak
> sudo -iu teamspeak
> ```
>
> **2. Download and unpack the server**
>
> ```bash theme={null}
> wget https://files.teamspeak-services.com/releases/server/3.13.8/teamspeak3-server_linux_amd64-3.13.8.tar.bz2
> tar -xjf teamspeak3-server_linux_amd64-3.13.8.tar.bz2
> cd teamspeak3-server_linux_amd64
> ```
>
> If `tar` reports a missing `bzip2`, install it with `sudo apt install bzip2` or `sudo dnf install bzip2` from your sudo user.
>
> **3. Accept the licence**
>
> ```bash theme={null}
> touch .ts3server_license_accepted
> ```
>
> Creating this file in the server folder accepts the licence terms. Read them first in the `LICENSE` file.
>
> **4. Start the server**
>
> ```bash theme={null}
> ./ts3server_startscript.sh start
> ```
>
> On the first start, the console shows the ServerQuery admin password and the privilege key (`token=`). Save both. The token is also written to the log in the `logs` folder.

## How to open the ports

> [tab] Ubuntu / Debian (ufw)
>
> ```bash theme={null}
> sudo ufw allow 9987/udp
> sudo ufw allow 30033/tcp
> ```

> [tab] AlmaLinux / Rocky (firewalld)
>
> ```bash theme={null}
> sudo firewall-cmd --permanent --add-port=9987/udp
> sudo firewall-cmd --permanent --add-port=30033/tcp
> sudo firewall-cmd --reload
> ```

With the Docker method, the published ports bypass `ufw` and `firewalld`, so they are open even without these rules. The rules matter for the manual method.

> [!WARNING]
>
> If you turn on `ufw` for the first time, run `sudo ufw allow OpenSSH` before `sudo ufw enable`, or you lock yourself out. Recovery: [VNC console](https://help.freakhosting.com/portals/vps-panel/how-to-enable-and-use-vnc-console-access.md).

## How to become server admin

**1. Connect with the client**

In the TeamSpeak 3 client, open **Connections > Connect** and enter your server's IP, for example `203.0.113.10`.

**2. Enter the privilege key**

The client asks for a privilege key on the first connection. Paste the `token=` value. If it doesn't ask, use **Permissions > Use Privilege Key**.

You are now in the **Server Admin** group and can create channels, groups and bans.

## How to check it worked

```bash theme={null}
ss -ulnp | grep 9987
```

You see a line with `:9987`. Connecting from the client shows your server's default channel.

## Frequently asked questions

### I lost the privilege key. How do I get a new one?

Connect to ServerQuery with the admin password and create a new key with the `privilegekeyadd` command, or with the Docker method look in the logs again: `docker compose logs teamspeak | grep token`. Keys are single-use.

### How many users can a free TeamSpeak 3 server have?

Without a licence key: one virtual server with up to 32 slots.

### Can I use a domain instead of an IP?

Yes. Create an `A` record such as `ts.example.com` pointing to your server. See [point a domain to your server](https://help.freakhosting.com/portals/other/how-to-point-a-domain-to-your-server.md).

### How do I update the server?

Docker: change the image tag in `compose.yaml` to the new version, then run `docker compose pull && docker compose up -d`. Manual: stop the server, back up the folder, unpack the new version over it and start it again.

## Related guides

> [card] [VPS and dedicated server guides](https://help.freakhosting.com/portals/other/vps-and-dedicated-server-guides.md)
>
> Every guide in this section.

> [card] [Docker Compose tutorial](https://help.freakhosting.com/portals/other/how-to-use-docker-compose.md)
>
> How compose.yaml works.

> [card] [Host game servers with LinuxGSM](https://help.freakhosting.com/portals/other/how-to-host-game-servers-with-linuxgsm.md)
>
> LinuxGSM also manages ts3server.

> [card] [Host a Discord bot](https://help.freakhosting.com/portals/other/how-to-host-a-discord-bot-on-a-vps.md)
>
> Run a bot 24/7 on the same VPS.

> [card] [Set up a firewall with UFW](https://help.freakhosting.com/portals/other/how-to-set-up-a-firewall-with-ufw.md)
>
> Open only the ports you need.

***

> [!NOTE]
>
> **Checked against the official [TeamSpeak ports article](https://support.teamspeak.com/hc/en-us/articles/360002712257-Which-ports-does-the-TeamSpeak-3-server-use), the [TeamSpeak downloads page](https://www.teamspeak.com/en/downloads/#server) and the [official Docker image docs](https://hub.docker.com/_/teamspeak)** on 4 November 2026 (TeamSpeak 3 server 3.13.8); `compose.yaml` validated on Ubuntu 24.04 LTS. Commands can differ on other releases.

> [!NOTE]
>
> ### Need Extra Help?
>
> If you encounter any issues, our support team is ready to assist:
>
> * **Live Chat:** Quick assistance via our website.
> * **Support Ticket:** [Open a Ticket](https://freakhosting.com/clientarea/submitticket.php)
> * **Discord:** [Join our Community](https://discord.gg/freakhosting)
> * **Email:** [support@freakhosting.com](mailto:support@freakhosting.com)

> [!TIP]
>
> ### Save on Your Hosting
>
> Ready to upgrade your hosting? Use code **KB20** at checkout for **20% off** your first order!

***

**Last Updated:** November 2026


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.