Skip to content
Musiker15
  • Home
  • News
  • FAQ
  • Community
GitHub
Musiker15

Tutorials & Guides

Personal website of Moritz Kohm with tutorials, guides and background info on Linux/Debian, server administration and self-hosting.

Content

  • Tutorials
  • News
  • FAQ

About

  • About Musiker15
  • Community
  • MSK Scripts

Socials

  • Discord
  • GitHub Musiker15
  • GitHub MSK Scripts

Legal

  • Imprint
  • Privacy

© 2026 Moritz Kohm

DiscordGitHub
  • PC Hardware
  • Debian Tutorials
    • Upgrade from Debian 10 to Debian 11
    • Apache 2, PHP 8, MariaDB and phpMyAdmin
    • MariaDB upgrade on Debian / Ubuntu
    • Certbot: Let's Encrypt (free SSL certificates)
    • TeamSpeak 3 Server
    • Sinusbot
    • pgAdmin 4: Setup Runbook
  1. Home
  2. Tutorials
  3. Debian Tutorials
  4. TeamSpeak 3 Server

TeamSpeak 3 Server

Manually set up, update and troubleshoot a TS3 server on Debian.

Edit this page

Installation

We'll now install a TeamSpeak 3 server manually, without any installer scripts.

The version 3.13.7 used here was the latest at the time of writing. You can find the most recent version at files.teamspeak-services.com/releases/server. Adjust the version number in the commands accordingly.

adduser --disabled-login ts3
cd /home/ts3/
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
tar -xjvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
cd teamspeak3-server_linux_amd64
chmod +x ts3server_startscript.sh
touch .ts3server_license_accepted
chown -R ts3:ts3 /home/ts3/
su ts3
./ts3server_startscript.sh start

With the command su ts3 we log in to the ts3 user, since we don't want to start a server as the root user.

I also recommend changing the query port of our TeamSpeak server. You can either pass it at startup as the parameter query_port=PORT or, permanently and without having to specify it every time, set it in a ts3server.ini.

Option 1 (per start, temporary):

/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh start query_port=12345

Option 2, permanently via the ts3server.ini (create it in the server directory, the start script reads it automatically):

query_port=12345

Important: Copy the admin server query login and the token!

Full path: /home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh {start/stop/restart}

For permanent operation (autostart on boot, clean start/stop) a systemd service is recommended instead of the manual start. A unit at /etc/systemd/system/ts3server.service with User=ts3 and ExecStart=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh start (type forking) handles this reliably.


Updating

cd /home/ts3/
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
tar -xjvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
chown -R ts3:ts3 /home/ts3/
cd teamspeak3-server_linux_amd64
su ts3
./ts3server_startscript.sh start

To update, simply download and extract the server with the new version again. The required files then overwrite themselves automatically. The rest (configs etc.) is preserved.


Errors

If the server doesn't start, or stops again right after starting, it's best to look through the logs for the error. Alternatively you can run ts3server_minimal_runscript.sh.

If the following error appears, two commands have to be run. This can happen, for example, if you accidentally started the TeamSpeak server as the root user:

ERROR | Accounting | could not register the local accounting service: The file already exists

Now run this command as root:

ls -al /dev/shm/

Now something like this should be shown:

-rw-r--r-- 1 root root 128 Dec 5 11:41 7gbhujb54g8z9hu43jre8

If that's the case, this file has to be deleted:

rm /dev/shm/7gbhujb54g8z9hu43jre8

Now you can start the TeamSpeak server again as usual with the ts3 user.

On this page

  • Installation
  • Updating
  • Errors