Introduction
Installation and configuration of the Teamspeak server software and setup of a service so that the software can be run in the background.
Requirements
- A Linux or Windows server (Dedicated, KVM or LXC)
- Root / Administrator rights on the system
- A systemd compatible Linux
Step 1 - Preparations
Steps for Linux Systems
Create a new user in whose context the Teamspeak server should be executed later.
root@your_host:~# useradd -m -s /bin/false tsSteps for Windows Systems
Installing NSSM (Non-Sucking Service Manager) will later register the Teamspeak server as a Windows service.
The latest version of NSSM can be downloaded here. (Latest release) https://nssm.cc/download
Then simply open the downloaded ZIP file and navigate to the folder with the appropriate architecture of your server.
Here you can easily copy nssm.exe to C:\Windows\System32\
This completes the installation of NSSM.
Step 2 - Installing the Teamspeak software
Steps for Linux Systems
Copy link of the appropriate Teamspeak software to the clipboard (second button) https://teamspeak.com/en/downloads/#server
For installation, the following steps must be performed on the system
Download Teamspeak software (use the link copied above)
root@your_host:~# su --shell /bin/bash ts
ts@your_host:~$ wget -P /tmp/ https://files.teamspeak-services.com/releases/server/3.6.1/teamspeak3-server_linux_amd64-3.6.1.tar.bz2Unpack the downloaded archive
ts@your_host:~$ tar xjf /tmp/teamspeak3-server_linux_amd64-3.6.1.tar.bz2 -C /home/tsAccept Teamspeak license agreement
ts@your_host:~$ touch /home/ts/.ts3server_license_accepted(optional) There are also other options available to accept the license agreement.
Please set the environment variable TS3SERVER_LICENSE to "accept" in order to accept the license agreement.
Alternatively, create a file named ".ts3server_license_accepted" in the working directory or start the server with the command line parameter "license_accepted=1".
To view the license agreement set TS3SERVER_LICENSE to "view" in order to print the license to the console.
Alternatively view the file "LICENSE" in your favorite text viewer yourself.Change the file permissions
ts@your_host:~$ chmod +x /home/ts/ts3server_startscript.sh
ts@your_host:~$ chmod +x /home/ts/ts3server_minimal_runscript.sh
ts@your_host:~$ chmod +x /home/ts/ts3serverFirst start of the server (this data should be saved)
ts@your_host:~$ /home/ts/ts3server_minimal_runscript.sh
2019-03-16 19:30:44.119638|INFO |SQL | db_CreateTables() tables created
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
Server Query Admin Account created
loginname= "serveradmin", password= "DC+sOsIL"
------------------------------------------------------------------
^
2019-03-16 19:30:45.093089|WARNING |VirtualServer |1 |
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
ServerAdmin privilege key created, please use it to gain
serveradmin rights for your virtualserver. please
also check the doc/privilegekey_guide.txt for details.
token=q20aDScWvOLg+XL5PpWXUPumhPFaDkStVKE9BpSZ
------------------------------------------------------------------
2019-03-16 19:30:45.093331|INFO |Query |listening for query on 0.0.0.0:10011, [::]:10011Steps for Windows Systems
Download the Teamspeak software from: https://teamspeak.com/de/downloads/#server
Unpack the archive into a folder. (e.g. C:\teamspeak)
First start of the server
- Accept license agreement
- Save server query data
- End server via the tray icon
Step 3 - Setting up the service
In order for Teamspeak to be able to run as a background process without an active login, a service must be created.
Steps for Linux Systems
Create the service:
-
Create the systemd service
root@your_host:~# nano /etc/systemd/system/ts.service -
The following must be inserted into the file
[Unit] Description=TeamSpeak 3 Server After=network.service [Service] User=ts Group=ts Type=forking WorkingDirectory=/home/ts/teamspeak3-server_linux_amd64/ ExecStart=/home/ts/teamspeak3-server_linux_amd64/ts3server_startscript.sh start ExecStop=/home/ts/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop PIDFile=/home/ts/teamspeak3-server_linux_amd64/ts3server.pid RestartSec=15 Restart=always [Install] WantedBy=multi-user.target
Register the service:
-
Load new service entries and changes
root@your_host:~# systemctl daemon-reload -
Activate service (will be started automatically after a reboot)
root@your_host:~# systemctl enable ts.service
The following command can be used to manage the service.
root@your_host:~# systemctl start/stop/restart ts.serviceSteps for Windows Systems
Start NSSM via CMD (parameter is the service name)
C:\Users\Administrator>nssm install teamspeakIn the "Application" tab, on "Path" the Teamspeak Server application path must be specified. (e.g. C:\Users\Administrator\teamspeak\ts3server.exe)
On "Startup directory" you have to specify the whole application folder. (in this case C:\Users\Administrator\teamspeak\ )
All other settings are optional. If you want to change something afterwards, you can edit the service with the command nssm edit teamspeak.
Afterwards the Teamspeak server can be used normally as a Windows service.
Conclusion
This article has shown what steps are necessary to install a Teamspeak 3 server on Windows or Linux systems and register the Teamspeak software as a service.