====== Teamspeak3 ======
===== Installation =====
Create a directory
mkdir /teamspeak
and a non-root user
adduser teamspeak --system --home /teamspeak --disabled-login
Get the server package downloadlink from either the website or directly from the fileserver
https://www.teamspeak.com/de/downloads/#server
https://files.teamspeak-services.com/releases/server/
Change to your directory and download the package
cd /teamspeak
wget
Unpack
tar -xjf
Change the owner of the files to your user
chown -R teamspeak /teamspeak/
===== Configuration =====
If you feel the need to change ports or add a proxy, you can create an .ini file and edit it
Change to your non-root user and execute the following in your teamspeak directory
su teamspeak -s /bin/sh
./ts3server createinifile=1
You can also create a white- and blacklist to prevent users from joining
vi query_ip_whitelist.txt
#example
127.0.0.1
::1
192.168.0.0/16
vi query_ip_blacklist.txt
#example
127.0.0.1
::1
192.168.0.0/16
===== Finalize the Setup =====
Change to your non-root user, accept the license and start the server for the first time
su teamspeak -s /bin/sh
touch .ts3server_license_accepted
./ts3server_minimal_runscript.sh
Keep the window open and login to your server with the client
The login details are shown in your CLI, also the "ServerAdmin privilege key" which you need to enter.
If you were logged in, stop the server via strg + c
===== Create Service =====
Create a new unit "/etc/systemd/system/teamspeak.service" with the following content
[Unit]
Description=TeamSpeak3 Server
Wants=network-online.target
After=syslog.target network.target
[Service]
WorkingDirectory=/teamspeak/teamspeak3-server_linux-amd64/
User=teamspeak
Type=forking
ExecStart=/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start initfile=ts3server.ini
ExecStop=/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
ExecReload=/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh restart
PIDFile=/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid
[Install]
WantedBy=multi-user.target
Incase you already had this file and/or changed anything, run "systemctl daemon-reload" to reload the units
Add the service to autostart
systemctl enable teamspeak
You can now start/stop/restart and see the status of the service via the following commands
systemctl start teamspeak
systemctl stop teamspeak
systemctl restart teamspeak
systemctl status teamspeak
[[https://teamspeak.wiki/index.php/Systemd_Unit|https://teamspeak.wiki/index.php/Systemd_Unit]]
===== Troubleshooting =====
==== failed to register local accounting service: File exists ====
The server doesnt start and the log shows the following error \\
failed to register local accounting service: File exists
__Reason:__ \\
A file was created by root and cant be used by your non-root user\\
__Fix:__ \\
Check for a cryptic file in /dev/shm/\\
ls -al /dev/shm/
total 39228
drwxrwxrwt 2 root root 1800 Dez 5 11:41 .
drwxr-xr-x 17 root root 3640 Nov 13 06:47 ..
-rw-r--r-- 1 root root 128 Dez 5 11:41 7gbhujb54g8z9hu43jre8
and remove it
rm /dev/shm/7gbhujb54g8z9hu43jre8
If you start teamspeak now, the file will be created with the correct user\\
ls -al /dev/shm/
total 39228
drwxrwxrwt 2 root root 1800 Dez 5 12:10 .
drwxr-xr-x 17 root root 3640 Nov 13 06:47 ..
-rw-r--r-- 1 teamspeak teamspeak 128 Dez 5 12:10 7gbhujb54g8z9hu43jre8
[[https://forum.teamspeak.com/threads/93623-Instance-check-error-failed-to-register-local-accounting-service-on-Linux/page8|https://forum.teamspeak.com/threads/93623-Instance-check-error-failed-to-register-local-accounting-service-on-Linux/page8]]
==== Failed loading default license file ====
The server doesnt start and the log shows the following error \\
|CRITICAL|Accounting | |Failed loading default license file!
__Reason:__ \\
Your license expired\\
__Fix:__ \\
Update your Teamspeakserver to renew the license\\
Get the server package downloadlink from either the website or directly from the fileserver
https://www.teamspeak.com/de/downloads/#server
https://files.teamspeak-services.com/releases/server/
Change to your directory and download the package
cd /teamspeak
wget
Backup your old folder in case something is broken after overwriting
cp -a teamspeak3-server_linux_amd64 teamspeak3-server_linux_amd64_bak_20211124
Unpack (overwrite the existing folder)
tar -xvf
and start as usual
systemctl start teamspeak
[[https://forum.teamspeak.com/threads/137119-Server-error-quot-Failed-loading-default-license-file!-quot/page5|https://forum.teamspeak.com/threads/137119-Server-error-quot-Failed-loading-default-license-file!-quot/page5]]