====== 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]]