Teamspeak Server on Ubuntu
I set this one up for a friend on my Linux client, super easy on a VPS of your choice:
SSH into server
ssh root@yourvpsip
Update
apt update && apt upgrade
Set hostname
hostnamectl set-hostname teamspeak-server
hostname
Edit hosts file
vi /etc/hosts
127.0.0.1 localhost
yourvpsip teamspeak-server
Add user and give sudo privs
adduser teamspeak
adduser teamspeak sudo
Log in to new user
exit
ssh teamspeak@yourvpsip
Set up SSH
mkdir ~/.ssh
Copy your local public SSH key to your server
scp ~/.ssh/id_rsa.pub teamspeak@yourvpsip:~/.ssh/authorized_keys
On your server, change permissions and configure SSH to disallow root login and password auth
sudo chmod 700 ~/.ssh/
sudo chmod 600 ~/.ssh/*
sudo vi /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
sudo systemctl restart sshd
Install and configure firewall
sudo apt install ufw
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh
sudo ufw enable
Install teamspeak server
cd ~
wget https://files.teamspeak-services.com/releases/server/3.9.1/teamspeak3-server_linux_amd64-3.9.1.tar.bz2
tar xvf teamspeak3-server_linux_amd64-3.9.1.tar.bz2
cd teamspeak3-server_linux_amd64-3.9.1
mv * ../
cd ~
rmdir teamspeak3-server_linux_amd64-3.9.1
rm teamspeak3-server_linux_amd64-3.9.1.tar.bz2
Restart server on boot
sudo vi /lib/systemd/system/teamspeak.service
[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
Enable service on boot
sudo systemctl --system daemon-reload
sudo systemctl enable teamspeak.service
sudo systemctl start teamspeak.service
Set firewall rules
sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
sudo ufw allow 10011/tcp
Enable lingering so the systemd service wont be killed when you exit your ssh session
sudo loginctl enable-linger teamspeak
Retrieve the privilege key
cat /home/teamspeak/logs/ts3server_* | grep token=
Log in to your teamspeak server at your VPS ip and use the key, that's it. The server is now set up to restart in case it ever reboots.
Reboot to check
sudo reboot