Today, we will go over the basics of how to install a TeamSpeak 3 server on your Ubuntu 16.04 VPS.
Before you install TeamSpeak 3, it is recommended that you check your VPS provider’s terms and conditions just to make sure that your TeamSpeak 3 server doesn’t violate any rules.
If you are looking for a VPS provider that will allow you to host TeamSpeak 3 servers, simply search for “TeamSpeak 3” on LowEndBox.com and you will find several providers that allow you to run TeamSpeak 3 on virtual private servers. Even if it’s not specifically mentioned, most providers will allow VOIP software like TeamSpeak 3, but as mentioned earlier, it never hurts to ask first!
Getting Started with TeamSpeak 3
Let’s go ahead and connect to our VPS via SSH. You can use PuTTy or your favorite terminal CLI.
Once we are logged into the VPS, we will need to gain root access using the following command:
> sudo -i
Go ahead and type in the root password and you will be ready to start!
Before we begin with the install, we will need to install MariaDB. Some administrators prefer SQLLite, however we have selected MariaDB for this tutorial. We will use this database instance to hold our user’s pertinent details and settings.
To kickoff the install of MariaDB, type the following command:
> apt-get install mariadb-client mariadb-server
During the installation process, you will be asked to choose a root password for you MariaDB installation.
You will need to remember this password, because we will need it during the next steps. Let’s go ahead configure the database now.
We will create a new user and database for the TeamSpeak 3 server. Connect to the MariaDB server using the following command:
> mysql -u root -p
We will now create a database:
> create database teamspeak3;
We will also need to create a user with all the privileges to manage it. Type the following:
GRANT ALL PRIVILEGES ON teamspeak3.* TO teamspeak3@localhost IDENTIFIED BY 'CHOOSE-A-PASSWORD';
Before exiting, it is always a good idea to make sure that all the changes have been applied to the running environment. In order to do so use the following command:
> flush privileges;
You can now exit the database prompt:
Installing TeamSpeak 3 on your VPS
We are now ready to install our TeamSpeak 3 server. Before starting, we will create a new user with its own directory in /opt/:
> useradd -d /opt/teamspeak3-server -m teamspeak3-user
It is now time to download the server application. Connect to the following webpage using your favorite browser and copy the link to the last stable version of the server.
Now type the following command in your VPS shell to download the package on your server. It would look something like this:
> wget http://dl.4players.de/ts/releases/220.127.116.11/teamspeak3-server_linux_amd64-18.104.22.168.tar.bz2
We can now decompress the downloaded file and move the folder in the correct location:
> tar -jxvf teamspeak3-server_linux_amd64-22.214.171.124.tar.bz2 > mv teamspeak3-server_linux_amd64/teamspeak3-server_linux_amd64/* /opt/teamspeak3-server
Let’s now give the newly created user permissions on this folder and delete the temporary file:
> chown teamspeak3-user:teamspeak3-user /opt/teamspeak3-server -R > rm -fr teamspeak3-server_linux_amd64-126.96.36.199.tar.bz2 teamspeak3-server_linux-amd64
We will now need to install and configure symlink library libmariadb.so.2:
> ln -s /opt/teamspeak3-server/redist/libmariadb.so.2 /lib/libmariadb.so.2
Next, we must configure TeamSpeak3 server with the MySQL-MariaDB database. We will need to create some files manually. Let’s get started by creating a blacklist configuration file:
> touch /opt/teamspeak3-server/query_ip_blacklist.txt
Create whitelist configuration file:
> echo “127.0.0.1” > /opt/teamspeak3-server/query_ip_whitelist.txt
Create the configfile with MySQL-MariaDB database option using your favorite editor:
> vim /opt/teamspeak3-server/ts3server.ini
With the following inside of it:
machine_id= default_voice_port=9987 voice_ip=0.0.0.0 licensepath= filetransfer_port=30033 filetransfer_ip=0.0.0.0 query_port=10011 query_ip=0.0.0.0 query_ip_whitelist=query_ip_whitelist.txt query_ip_blacklist=query_ip_blacklist.txt dbsqlpath=sql/ dbplugin=ts3db_mariadb dbsqlcreatepath=create_mariadb/ dbpluginparameter=ts3db_mariadb.ini dbconnections=10 logpath=logs logquerycommands=0 dbclientkeepdays=30 logappend=0 query_skipbruteforcecheck=0
In the next step we will create the configuration file for the database for the TeamSpeak3 server.
Change PASSWORD with the one you used when you created the user and granted permission on the TeamSpeak:
> vim /opt/teamspeak3-server/ts3db_mariadb.ini
[config] host=127.0.0.1 port=3306 username=teamspeak3 password=PASSWORD database=teamspeak3 socket=
Now it’s time to change the permissions of the new configuration files:
> chown teamspeak3-user:teamspeak3-user /opt/teamspeak3-server -R
We are almost ready to start our new server. We just need one more step in order to make sure that the server will start automatically at boot.
> vim /etc/init.d/ts3
Write the following in the file:
#! /bin/sh ### BEGIN INIT INFO # Provides: ts3 # Required-Start: $network mysql # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: TeamSpeak3 Server Daemon # Description: Starts/Stops/Restarts the TeamSpeak Server Daemon ### END INIT INFO set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="TeamSpeak3 Server" NAME=teamspeak3-server USER=teamspeak3-user DIR=/opt/teamspeak3-server OPTIONS=inifile=ts3server.ini DAEMON=$DIR/ts3server_startscript.sh #PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 sleep 2 sudo -u $USER $DAEMON $1 $OPTIONS
Now we just have to change permissions for the scripts and add it to the boot sequence using the following commands:
> chmod a+x /etc/init.d/ts3 > chmod a+x /opt/teamspeak3-server/ts3server_startscript.sh > chmod a+x /opt/teamspeak3-server/ts3server_minimal_runscript.sh > update-rc.d ts3 defaults
We are now ready to start the Teamspeak3 server for the first time!
> /etc/init.d/ts3 start
You will be prompted with the server’s admin password and token key. Make sure you save them both. Just hit enter and you are ready to go! You can now connect to your server using its IP address or domain name with any TeamSpeak client.
TeamSpeak 3 is a conferencing application that is most commonly utilized by gamers. Have you installed and used TeamSpeak 3 on your VPS? Tell us in the comments section below.