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:
> quit
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/3.0.13.4/teamspeak3-server_linux_amd64-3.0.13.4.tar.bz2
We can now decompress the downloaded file and move the folder in the correct location:
> tar -jxvf teamspeak3-server_linux_amd64-3.0.13.4.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-3.0.13.4.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.
Related Posts:
- Have you ever visited the web’s busiest hosting forum? LowEndTalk awaits. - September 27, 2022
- Grab the deals first by subscribing to our new deal alerts - September 16, 2022
- LowEndBox is on Instagram and TikTok! - August 5, 2022
When creating TS-user I recommend to disable login shell (something like “-s /usr/sbin/nologin”). And I think Ubuntu in recent versions is using systemd, tutorial should take this into account. My /etc/systemd/system/ts3server.service looks like:
_______________
[Unit]
Description=Team Speak 3 Server
After=network.target
[Service]
WorkingDirectory=/opt/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
PIDFile=/opt/teamspeak/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target
________________
TS-server is then started by “systemctl start ts3server.service”
Can you please expand on the technical reasons on why we should do this? I know it may be a noob question.. still learning.
noshell = no ssh login access less accounts with shell = less accounts that can be compromised
the auto start is for if the vps goes down and comes back up the ts service starts at boot time removing your need to start it up manually
Clearly I still have some gaps in my understanding, but this helps me at a high level. Thank you.
Thank you! I have been looking for a reliable setup for Ventrilo… as the old ones do not work anymore and I only have one vent server left! I am going to try this out on Saturday… would anyone have reliable setup instructions for Ventrilo?
Out of curiosity, why not just let the TS3 server use its own internal database instead of using an external database? I think the internal database is more than adequate for someone wanting to run a single 32 slot personal server. It would also simplify the install and running of the server too.
Indeed. External database function is something intended only for hosting providers to lighten the load from main cluster and you don’t get any benefits from using it.
Well, if you are the owner of a huge teamspeak it is much easier to maintain / manage the database!
It appears that MPServ/OrbitServers (HVH sister company????) has no interest in supporting new OS version and told me they won’t be adding Ubuntu 16 as an option… FYI. Keep this in mind if you ever decide to use them for hosting.
Unable to install this as I cannot run the following code on Ubuntu 14.04…
I used this video to set up on version 14.04 because the host did not support Ubuntu 16.04.
https://www.youtube.com/watch?v=Fqs3-VKHwSs&list=LL4w7XUmtUo3RZn2RQXQo5eg
You may want to start looking into some User / Start guides for Ubuntu, Linux terminal etc.
It seems from that perspective that you are not able to use apt-get / apt, you did not include any error messages after you ran that command, thats why nobody responds to your question / problem.
You may also want to take a look at https://hub.docker.com/r/aheil/teamspeak3-server/ which is a docker container for ts3, with docker you do not need to install anything except for docker run and you are ready to go. This helps people that are not hardly into dependencies / package installation and / because docker is fairly simple
Nevertheless, the updates are so easy to install and not such a pain like they are at the moment if you do it manually with a standalone..
When I run the command “/etc/init.d/ts3 start” after setting everything up, I get an error saying
“Starting the TeamSpeak 3 server
2016-11-26 12:21:15.767095|CRITICAL|ServerLibPriv | |Server() unable to initialize database
TeamSpeak 3 server could not start”
got a different workaround to work
I know that Linux is not system for many games, but sometimes you want to play multiplayer with friends. TeamSpeak is very useful fo multi so thx for your article. If someone is looking for the latest version, you can find it here: http://www.instalki.pl/programy/download/Windows/komunikatory/TeamSpeak.html
Thanks for sharing such informative post…. haosting Teamspeak serveris easy and very much useful for online gaming users. Want to visit my blog for Teampseak 3 server http://seeromega.com/things-make-ts3-server-bot-must-online-tool/
Why users still make use of to read news papers when in this technological world all is existing on web?
Thanks for the value. Will see if GrooveKart https://shopifyshops.groovepages.com/groovekart can apply the same princilples.
Thanks for sharing such informative post, Want to visit my blog for Teampseak server https://shopifyshops.groovepages.com/groovekart/