Введение
Установка и настройка сервера Teamspeak и запуск его как службы для работы в фоне.
Требования
- Linux или Windows сервер (выделенный, KVM или LXC)
- Права Root / Администратора в системе
- Linux cовместимый с systemd
Шаг 1 - Подготовка
Шаги для Linux систем
Создаем нового пользователя, под которым сервер Teamspeak будет позже запущен.
root@your_host:~# useradd -m -s /bin/false ts
Шаги для Windows систем
Устанавливаем NSSM (Non-Sucking Service Manager). С помощью него мы зарегистрируем сервер Teamspeak в качестве службы Windows.
Последняя версия NSSM может быть скачана здесь (последний релиз) https://nssm.cc/download
Просто откройте скачанный ZIP файл и выберите папку с подходящей под ваш сервер архитектурой.
Скопируйте nssm.exe
из выбранной папки в C:\Windows\System32\
На этом установка NSSM закончена.
Шаг 2 - Установка ПО Teamspeak
Шаги для Linux систем
Скопируйте ссылку необходимой вам версии Teamspeak в буфер (вторая кнопка) https://teamspeak.com/en/downloads/#server
Для установки, в системе необходимо выполнить следующие шаги
Скачайте ПО Teamspeak (используя скопированную выше ссылку)
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.bz2
Распаковываем скачанный архив
ts@your_host:~$ tar xjf /tmp/teamspeak3-server_linux_amd64-3.6.1.tar.bz2 -C /home/ts
Принимаем лицензионное соглашение
ts@your_host:~$ touch /home/ts/.ts3server_license_accepted
(опционально) Также существуют и другие способы принять лицензионное соглашение.
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.
Изменяем права доступа
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/ts3server
Первый старт сервера (эти данные должны быть сохранены)
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, [::]:10011
Шаги для Windows систем
Загрузите ПО Teamspeak отсюда: https://teamspeak.com/de/downloads/#server
Распакуйте архив в папку (например, C:\teamspeak)
При первом запуске сервера необходимо:
- Принять лицензионное соглашение
- Сохранить данные запроса к серверу
- Завершить работу сервера через иконку в трее
Шаг 3 - Установка службы
Чтобы Teamspeak мог работать как фоновый процесс без входа пользователя в систему, необходимо создать службу.
Шаги для Linux систем
Создание службы:
-
Создание службы в systemd
root@your_host:~# nano /etc/systemd/system/ts.service
-
Вставьте следующие строки в файл
[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
Регистрируем службу:
-
Для вступления изменений в силу перезапускаем systemd
root@your_host:~# systemctl daemon-reload
-
Активируем новую службу (будет автоматически запускаться при загрузке системы)
root@your_host:~# systemctl enable ts.service
Следующая команда может использоваться для управления службой
root@your_host:~# systemctl start/stop/restart ts.service
Шаги для Windows систем
Запускаем NSSM в командной строке (в качестве параметра указываем имя службы)
C:\Users\Administrator>nssm install teamspeak
На вкладке "Application", в поле "Path" должен быть указан путь к серверу Teamspeak (например, C:\Users\Administrator\teamspeak\ts3server.exe)
В поле "Startup directory" укажите рабочую директорию приложения (в данном случае C:\Users\Administrator\teamspeak\ )
Остальные настройки опциональны. Если вы решите изменить позже что-либо, вы сможете сделать это с помощью команды nssm edit teamspeak
.
После данной настройки Teamspeak сервер будет работать как обычная служба Windows.
Заключение
В этой статье было показано что необходимо, чтобы установить сервер Teamspeak 3 на Windows и Linux систему и настроить его как службу.