Skip to content

TeamSpeak 3 Server — Install on Ubuntu

This guide sets up a fresh TeamSpeak 3 server on Ubuntu and runs it as a persistent systemd service.

Latest stable version at time of writing: 3.13.8 (2026-05-27).

For upgrading an existing installation, see TeamSpeak 3 Server — Upgrade Script.


Before You Start — Know Your Setup

Two values appear throughout this guide. Decide on them before proceeding:

Installation path (TSPATH) — the directory where the TS3 server files will live. This guide uses /opt/teamspeak. Choose any path that makes sense for your system.

System user — the Linux user that will own the files and run the process. This guide uses teamspeak.

Replace both values everywhere they appear below if you choose differently.


Prerequisites

  • Ubuntu 22.04 or 24.04
  • Root or sudo access

Install required packages:

apt install -y wget bzip2

wget downloads the archive. bzip2 decompresses it — the TS3 archive uses .tar.bz2 format and bzip2 is not installed by default on all Ubuntu images. tar is pre-installed.


Create a Dedicated User

useradd -r -m -d /opt/teamspeak -s /usr/sbin/nologin teamspeak

This creates a system user with no login shell. The home directory (-d) is set to your chosen TSPATH — adjust if you picked a different path.


Download and Extract

Replace 3.13.8 with the version you want. Check the TeamSpeak downloads page for the current release.

wget -O /tmp/ts3server.tar.bz2 \
  https://files.teamspeak-services.com/releases/server/3.13.8/teamspeak3-server_linux_amd64-3.13.8.tar.bz2

tar -xjf /tmp/ts3server.tar.bz2 -C /opt/teamspeak/ --strip-components=1
chown -R teamspeak:teamspeak /opt/teamspeak
rm /tmp/ts3server.tar.bz2

--strip-components=1 removes the top-level directory from the archive so files land directly in /opt/teamspeak/. Without it, a subdirectory is created and the server will not start from the expected path.

The main binary is named ts3server — not ts3server_linux_amd64.


Accept the License

TeamSpeak requires explicit license acceptance before first start. Create the marker file:

touch /opt/teamspeak/.ts3server_license_accepted
chown teamspeak:teamspeak /opt/teamspeak/.ts3server_license_accepted

The file only needs to exist — its content is irrelevant.


Create the systemd Service

nano /etc/systemd/system/teamspeak.service

Paste the following. Adapt the three highlighted values if your TSPATH is not /opt/teamspeak:

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

[Service]
User=teamspeak
Group=teamspeak
WorkingDirectory=/opt/teamspeak
ExecStart=/opt/teamspeak/ts3server license_accepted=1
Restart=on-failure
RestartSec=10s
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Values to adapt if your setup differs:

Line What to change
User= / Group= Your system user name
WorkingDirectory= Your TSPATH
ExecStart= <TSPATH>/ts3server license_accepted=1

Enable and start:

systemctl daemon-reload
systemctl enable teamspeak.service
systemctl start teamspeak.service
systemctl status teamspeak.service

The service will now start automatically on every reboot.


Retrieve the Admin Token

On first start, the server generates a privilege key. You need this token once to claim server admin rights in the TeamSpeak client.

journalctl -u teamspeak.service | grep token

Connect with your TS client, right-click the server name, and select Permissions → Use Privilege Key to enter it.


Verify

Check the running version:

journalctl -u teamspeak.service -n 20 | grep "TeamSpeak 3 Server"

Expected output:

TeamSpeak 3 Server 3.13.8 (2026-05-27 09:34:31)

Common Issues

Symptom Cause Fix
Service fails with 203/EXEC Wrong binary path or name Binary is ts3server, not ts3server_linux_amd64 — check ExecStart=
Address already in use on start Another ts3server process is running pkill -x ts3server, then systemctl start teamspeak.service
No token in journal Server already ran before and token was generated in an older log Search all logs: grep -r token /opt/teamspeak/logs/