Install Teamspeak 3 Server in 2 Minutes on Ubuntu 16.04

Teamspeak is an amazing piece of free software. While not Open Source, it does at least give you control over your data. In comparison to Skype and Discord, Teamspeak's performance is all up to you. You get to run the server, not relying on a third party to give you the bandwidth you need to have good quality audio.

Why I am using Teamspeak

I have recently decided to start a Podcast, and I was looking for a solution to have good quality audio calls with one or more guests at a time, which I can record. TeamSpeak is the best solution I have found. It is reliable, and I have complete control of the server and data.

Installation Instructions

Create a User for TeamSpeak Server

TeamSpeak server needs a user to do everything as. So, let's create one.

$ sudo adduser --disabled-login teamspeak

Download the server archive from TeamSpeak

It is probably best to grab the latest version of the server from the TeamSpeak website. At the time of writing the latest is 3.3.1 and can be downloaded with the following command

$ wget http://dl.4players.de/ts/releases/3.3.1/teamspeak3-server_linux_amd64-3.3.1.tar.bz2

They even provide a really nice feature on the server downloads page, to copy the url into the clipboard. It's like they know we all need to paste it into a PuTTY or other SSH client :)

Extract the archive

The TeamSpeak installation is sort of just extracting this file and placing the contents into the home directory of the teamspeak user. So let's get a move on it.

$ tar -xvf teamspeak3-server_linux_amd64-3.3.1.tar.bz2

This will extract the contents of the archive into a new folder: teamspeak-server_linux_amd64

Install the files into the correct location

$ cd teamspeak3-server_linux_amd64
$ sudo mv * /home/teamspeak 
$ cd .. 
$ rm -rf teamspeak3*

Permissions Changes

Now that the files are in place, we need to change the owner of them to the teamspeak user created at the beginning of the installation.

$ sudo chown -R teamspeak:teamspeak /home/teamspeak

And then type or paste the following into that file.

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

[Service]
WorkingDirectory=/home/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/home/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/teamspeak/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/ts3server.pid
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

Don't forget in nano you will need to press Ctrl+X and then Y To save and exit.

The above file gives SystemD all of the information needed to run teamspeak as a service. We just need to enable it, and start it.

$ sudo systemctl --system deamon-reload
$ sudo systemctl enable teamspeak
$ sudo systemctl start teamspeak
$ sudo systemctl status teamspeak

After which you should see something like the following screenshot

Finally, Get Admin Connection

The first time you connect to the ts3 server, it is going to ask you to claim admin access by entering a security token. This can be found in a log file created when we ran the server.

$ sudo -i cat /home/teamspeak/logs/ts3server_*

at the bottom of the output, you should see something about ServerAdmin privilege key created, providing a token. Copy that token and paste it into the client application. Then you are able to configure the server from the client, and do all of the admin things.

--------------------------------------------------------
ServerAdmin privilege key created, please use the line below
token=.............................
--------------------------------------------------------

Conclusion

That is all there is to installing TeamSpeak 3 on Ubuntu 16.04 LTS. It should only take a couple of minutes from start to finish. These guys have done an amazing job at keeping it simple. Soon I will have an article out about how I am using TeamSpeak for my Podcast Dysfunctional Bytes (http://dysfunctionalbytes.com)