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:
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
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
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.
Connect with your TS client, right-click the server name, and select Permissions → Use Privilege Key to enter it.
Verify
Check the running version:
Expected output:
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/ |