TeamSpeak сервер на FreeBSD

TeamSpeak - проприетарная программа для голосового общения через VoIP.

Предварительная настройка

Для начала работы с сервером TeamSpeak необходимо убедиться что в межсетевой экране (NAT) открыты и указывают на нужный сервер следующие порты:

Порт Назначение Обязателен
9987/udp голос да
30033/tcp файлы да
10011/tcp ServerQuery (raw) нет
10022/tcp ServerQuery (ssh) нет
10080/tcp WebQuery (http) нет
10443/tcp WebQuery (https) нет
41144/tcp TSDNS нет

ServerQuery - это интерфейс командной строки встроенный в сервер TeamSpeak 3, который предоставляет инструмент для автоматизации управления виртуальных серверов. Более подробно о командах ServerQuery можно узнать из внутренней документации: doc/serverquery/serverquery.html.

WebQuery - инструмент, предоставляющий интерфейс для управления сервером TeamSpeak через HTTP. Он требует иметь TeamSpeak сервер версии 3.12.0 и выше, а в версии 3.13.0 он включен по умолчанию. WebQuery является наследником и поддерживает те же команды, что и ServerQuery. Более подробно об этом инструменте можно узнать из внутренней документации: doc/webquery.md.

TSDNS - это система, которая позволяет пользователям TeamSpeak подключаться к серверам с нестандартными портами без их прямого указания (например к "1.2.3.4:4321" через "1.2.3.4"). Более подробно об этом инструменте можно узнать из внутренней документации: tsdns/README.

Установка через порт

В FreeBSD есть порт сервера TeamSpeak: audio/teamspeak3-server, установить его можно через pkg(8): # pkg install teamspeak3-server

Заметка: Портами называют приложения, изначально написанные под другие операционные системы (в основном GNU/Linux), адаптированные, скомпилированные и протестированные в FreeBSD.

Установка вручную

В некоторых случаях (например без root-прав) есть смысл установить сервер TeamSpeak как пользователь.

TL;DR: Полный скрипт (версия 3.13.7):

#!/bin/sh
#
# Installs TeamSpeak 3 server.

mkdir ~/ts3server
cd ~/ts3server
curl -O -J -L https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_freebsd_amd64-3.13.7.tar.bz2
tar -xf teamspeak3-server_freebsd_amd64-3.13.7.tar.bz2
cd teamspeak3-server_freebsd_amd64
touch .ts3server_license_accepted
sh ts3server_startscript.sh start

Для TeamSpeak не нужно устанавливать сторонние библиотеки или программы, однако начиная с версии 3.1.0 WebQuery начинает использовать HTTPS, поэтому для работы может понадобиться сертификат Mozilla: security/ca_root_nss. Установить его можно через pkg(8): # pkg install ca_root_nss

Далее скачиваем последнюю сервера TeamSpeak с оффициального сайта и загружаем на наш сервер, предварительно создав для него директорию.

Распаковываем архив: tar -xf teamspeak3-server_freebsd_amd64-X.Y.Z.tar.bz2

Подтверждаем EULA соглашение: $ touch .ts3server_license_accepted

Запускаем сервер: $ sh ts3server_startscript.sh start

Первый запуск

После первого запуска сервер создаст следующие данные ServerAdmin:

  1. Логин (ServerQuery, по умолчанию "serveradmin").
  2. Пароль (ServerQuery).
  3. Ключ API (WebQuery).
  4. Токен (клиент).

Записываем эти данные (и не теряем). Заходим на сервер через клиент TeamSpeak. Там нас встречает окно в котором вставляем только что созданный новый токен, теперь пользователь, через которого вы зашли на сервер находится в группе администраторов.

Поздравляю, теперь сервер готов к работе. Приятного общения!