Installing Teamspeak on CentOS 7

Updated on October 16, 2017
Installing Teamspeak on CentOS 7 header image

Teamspeak is a VOIP server that can be used for teams/multiple people to communicate. It is relatively lightweight, and secure, as updates are released regularly.

In this tutorial, we'll be installing Teamspeak on your CentOS 7 instance.


Before we begin, you'll need:

  • CentOS 7 system (64 bit only).
  • 512 MB of RAM or higher.
  • wget (utility used for downloading files).
  • nano or vim (any text editor is fine).



Update the system packages. This may take some time.

yum update -y

Install tools needed for this tutorial.

yum install nano wget perl tar net-tools bzip2 -y


Add an unprivileged user to run Teamspeak. When prompted, enter your desired password.

useradd ts
passwd ts

Retrieve the Teamspeak server software.

cd ~

Extract the Teamspeak tarball and copy all of the files to our unprivileged user's home directory.

tar -xvf teamspeak3-server_linux_amd64-
cd teamspeak3-server_linux_amd64
cp * -R /home/ts

Remove temporary files.

cd ~
rm -rf teamspeak3-server_linux_amd64
rm -rf teamspeak3-server_linux_amd64-

Grant the appropriate permissions to our ts user.

chown -R ts:ts /home/ts

Create a Systemd service for Teamspeak.

nano /lib/systemd/system/teamspeak.service

Paste the following:

Description=Team Speak 3 Server
ExecStart=/home/teamspeak/ start inifile=ts3server.ini
ExecStop=/home/teamspeak/ stop

Save and exit (press CTRL and O simultaneously, followed by the Enter key).

Reload Systemd units.

systemctl --system daemon-reload

Make Teamspeak run on startup.

systemctl enable teamspeak.service

Starting, stopping and restarting Teamspeak

Controlling Teamspeak is simple. You can control Teamspeak with the following command:

systemctl (option) teamspeak.service

Replace (option) with start, stop, or restart.

Configuring the firewall

CentOS 7 no longer uses iptables. As an alternative, CentOS 7 comes with firewalld by default.

Find the default zone. On Vultr instances running CentOS 7, the default zone is public.

firewall-cmd --get-default-zone

Open the default ports for Teamspeak. If each rule is added successfully, the output will read "success".

firewall-cmd --zone=public --permanent --add-port=10011/tcp
firewall-cmd --zone=public --permanent --add-port=30033/tcp
firewall-cmd --zone=public --permanent --add-port=9987/udp

Reload firewalld.

firewall-cmd --reload


Congratulations! You've successfully created a Teamspeak server. You can connect to it with the Teamspeak Client.

Have fun!