Skip to content

Instantly share code, notes, and snippets.

@kslimani
Last active December 31, 2022 15:17
Show Gist options
  • Save kslimani/5173183d22c346b48d86 to your computer and use it in GitHub Desktop.
Save kslimani/5173183d22c346b48d86 to your computer and use it in GitHub Desktop.
LINUX TEAMSPEAK SERVER

LINUX TEAMSPEAK SERVER

About teamspeak 3

  • Teamspeak default UDP voice port is 9987
  • Teamspeak default TCP file transfert port is 30033
  • Teamspeak default TCP query port is 10011
  • For query server, just connect with SSH to server and use telnet locally
  • logrotate is not supported

Linux Debian quick install and manual start

cd /usr/src
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 -O teamspeak3-server_linux_amd64-3.13.7.tar.bz2
tar xvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
mv teamspeak3-server_linux_amd64 /opt/teamspeak3-server
useradd -d /opt/teamspeak3-server teamspeak
chown -R teamspeak:teamspeak /opt/teamspeak3-server
cd /opt/teamspeak3-server

IMPORTANT: the default_voice_port is used ONLY ON FIRST START and wrote in database !

screen
su teamspeak
touch .ts3server_license_accepted
./ts3server_minimal_runscript.sh

Be sure to note admin password and token, because admin password is NOT write in log !

Use custom voice port (at first start)

./ts3server_minimal_runscript.sh default_voice_port=6666 query_port=6667 logappend=1

Force serveradmin password at startup

./ts3server_minimal_runscript.sh default_voice_port=6666 query_port=6667 logappend=1 serveradmin_password=PASSWORD

Manually change default_voice_port using telnet

Note: this example set default voice port to 6666

telnet 127.0.0.1 6667
Login serveradmin PASSWORD
serverstop sid=1
use sid=1 -virtual
serveredit virtualserver_port=6666
use 0
serverstart sid=1

Additional usefull parameters

 query_ip_blacklist=/path/to/query_ip_blacklist.txt
 logappend=1
 logpath=/var/log/
 serveradmin_password=new_password

Firewall

Default voice port : 9987 UDP

Default file transfert port : 30033 TCP

Init script

Create service file :

nano /lib/systemd/system/teamspeak.service
[Unit]
Description=TeamSpeak 3 Server
After=network.target

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

[Install]
WantedBy=multi-user.target

Enable the service :

systemctl --system daemon-reload
systemctl enable teamspeak.service

Start the service :

service start teamspeak

TODO

  • test to use createinifile=1 to create an ini file.
  • Then use inifile=/path/to/filename.ini to start server
  • init.d script
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment