Как создать сервер Тим Спик 6: установка beta-версии TeamSpeak 6
Как установить сервер TeamSpeak 6 в статусе beta: бинарь с GitHub, официальный Docker-образ, переменные окружения, принятие лицензии, admin-ключ, systemd и обновление между сборками.
TeamSpeak 6 всё ещё числится open beta, но сервер уже можно скачать и поставить самостоятельно - и бинарём, и официальным Docker-образом. Процесс не такой отлаженный, как у TeamSpeak 3: часть параметров меняет название между сборками, а документация местами отстаёт от кода. Тем не менее базовый путь установки стабилен уже несколько бета-релизов подряд. В этой статье разбираем, где брать актуальную сборку, как поднять сервер бинарём и в Docker, какие переменные окружения и порты за что отвечают, как принять лицензию и получить права администратора, и что делать при выходе новой бета-версии.
Текущий статус TeamSpeak 6: это ещё beta
TeamSpeak 6 Server официально называется “beta” в самом описании репозитория - разработчики прямо пишут, что релиз предназначен для тестирования и сбора обратной связи перед стабильным запуском. На момент написания статьи (август 2026) актуальна сборка 6.0.0-beta12.1 от 28 июля 2026 года: в ней поправили падение при старте на Windows Server 2019 и старых Windows 10 (сборки до 1903), а метку времени в логах вернули на UTC по умолчанию с возможностью переключить через параметр --log-timezone. Ей предшествовала 6.0.0-beta12 от 23 июля - там чинили стабильность соединения при потере пакетов, утечки памяти при коннекте/дисконнекте клиентов и обновили лицензию по умолчанию. Ещё раньше вышла 6.0.0-beta11 от 17 июня 2026 - в ней поправили обработку типов групп для дефолтных каналов и завершение передачи файлов в S3-хранилище.
Важно понимать масштаб изменений между сборками. За полтора месяца вышло три релиза с правками в разных подсистемах - от логирования до прав доступа и файлового хранилища. Это нормальная скорость для open beta, но означает, что любой скрипт или интеграция, завязанная на конкретное поведение API или конфига, может сломаться при обновлении. Перед апгрейдом всегда читайте changelog конкретного релиза на странице github.com/teamspeak/teamspeak6-server/releases.
Ключевое архитектурное отличие от TeamSpeak 3: TS6 убрал сырой telnet-протокол ServerQuery, оставив тот же набор команд доступным через SSH-query и HTTP/HTTPS web-query. Подробное сравнение подходов - в статье TeamSpeak 6 против TeamSpeak 3.
Где брать сервер: GitHub-релизы и Docker Hub
Официальных источников два, и оба поддерживает сама TeamSpeak Systems.
Бинарь с GitHub Releases
Репозиторий github.com/teamspeak/teamspeak6-server - основной канал дистрибуции. В разделе Releases лежат архивы под Linux и Windows для каждой бета-сборки, плюс changelog. Скачивать нужно именно оттуда: сторонние сборки в бете не проверить на целостность, а версии могут отставать на несколько релизов с уже закрытыми багами.
Официальный Docker-образ
Для контейнерного запуска есть образ teamspeaksystems/teamspeak6-server на Docker Hub. Он компактный (десятки мегабайт), обновляется вместе с релизами и на сегодняшний день публикуется под тегом latest - версионных тегов под конкретные бета-сборки на момент написания нет, поэтому для воспроизводимых окружений имеет смысл фиксировать образ по digest, а не полагаться на latest.
docker pull teamspeaksystems/teamspeak6-server:latest
Запуск бинаря на Linux
Самый прямой способ - скачать архив, распаковать и запустить исполняемый файл с флагом принятия лицензии:
# распаковать архив релиза
tar -xzf teamspeak6-server_linux_amd64-6.0.0-beta12.1.tar.gz
cd teamspeak6-server
# сделать бинарь исполняемым и запустить
chmod +x tsserver
./tsserver --accept-license
Без флага --accept-license (или соответствующей переменной окружения) сервер не стартует и завершится с сообщением о необходимости принять лицензию - это сознательное ограничение, а не баг.
На Windows аналогичный сценарий выполняется из PowerShell или командной строки: распаковать архив и запустить tsserver.exe из директории с бинарём, лицензия принимается тем же способом через флаг или переменную окружения.
Запуск в Docker и Docker Compose
Для одиночного контейнера с сохранением данных на именованном томе:
docker run -d \
--name teamspeak-server \
-p 9987:9987/udp \
-p 30033:30033 \
-e TSSERVER_LICENSE_ACCEPTED=accept \
-v teamspeak-data:/var/tsserver/ \
teamspeaksystems/teamspeak6-server:latest
Том монтируется на /var/tsserver/ - там лежат база данных, конфигурация и файлы сервера. При пересоздании контейнера данные не теряются, если том сохранён.
Для более серьёзной установки в репозитории есть готовые compose-файлы в каталоге compose/: example-compose-sqlite.yaml для встроенной SQLite-базы (подходит для небольших серверов) и example-compose-mariadb.yaml для внешней MariaDB (лучше держит нагрузку и параллельные запросы к базе). Пример упрощённого compose-файла со SQLite:
services:
teamspeak:
image: teamspeaksystems/teamspeak6-server:latest
container_name: teamspeak-server
restart: unless-stopped
ports:
- "9987:9987/udp"
- "30033:30033/tcp"
- "10022:10022/tcp"
- "10080:10080/tcp"
environment:
TSSERVER_LICENSE_ACCEPTED: "accept"
TSSERVER_QUERY_ADMIN_PASSWORD: "замените-на-свой-пароль"
TSSERVER_QUERY_HTTP_ENABLED: "true"
volumes:
- teamspeak-data:/var/tsserver/
volumes:
teamspeak-data:
Порт HTTP web-query (10080 в примере) стоит закрывать на уровне внешнего firewall или пускать только с доверенных IP - подробнее про безопасность транспортов в статье про REST API TeamSpeak 6.
Переменные окружения и конфиг-файл
TeamSpeak 6 поддерживает три равнозначных способа конфигурации: флаги командной строки, переменные окружения (удобны для Docker) и YAML-файл конфигурации. Полный список параметров смотрите флагом --help или в файле CONFIG.md вашей сборки - он тоже может дополняться между релизами. Ниже - подтверждённые ключевые параметры:
| Назначение | Флаг | Переменная окружения |
|---|---|---|
| Принять лицензию | --accept-license | TSSERVER_LICENSE_ACCEPTED |
| Пароль query-администратора | --query-admin-password <pass> | TSSERVER_QUERY_ADMIN_PASSWORD |
| Голосовой порт | --default-voice-port <port> | TSSERVER_DEFAULT_PORT |
| Порт передачи файлов | --filetransfer-port <port> | TSSERVER_FILE_TRANSFER_PORT |
| Включить HTTP web-query | --query-http-enable | TSSERVER_QUERY_HTTP_ENABLED |
| Порт HTTP web-query | --query-http-port <port> | TSSERVER_QUERY_HTTP_PORT |
| Включить HTTPS web-query | --query-https-enable | TSSERVER_QUERY_HTTPS_ENABLED |
| Включить SSH-query | --query-ssh-enable | TSSERVER_QUERY_SSH_ENABLED |
| Плагин базы данных | --db-plugin <plugin> | TSSERVER_DATABASE_PLUGIN |
| Путь логов | --log-path [path] | TSSERVER_LOG_PATH |
Чтобы сгенерировать полный конфиг-файл со всеми текущими значениями по умолчанию (удобно для дальнейшего редактирования вручную), используйте флаг --write-config-file - сервер запишет tsserver.yaml рядом с бинарём, откуда можно скопировать нужные секции и переопределить точечно.
Принятие лицензии и первый вход
Лицензирование в бете устроено проще, чем в TeamSpeak 3: явного шага загрузки лицензионного ключа нет. При первом запуске сервер сам активирует бесплатную бета-лицензию на 32 слота, которая автоматически продлевается примерно раз в два месяца - вручную ничего продлевать не нужно, пока сервер регулярно на связи с лицензионной инфраструктурой TeamSpeak. Более крупные коммерческие лицензии для TS6 на момент бета-статуса ещё не открыты для покупки, а ключи от TeamSpeak 3 на TS6 не переносятся.
Права администратора сервера завязаны на query-аккаунт ServerAdmin. Если пароль не задан заранее через TSSERVER_QUERY_ADMIN_PASSWORD или --query-admin-password, сервер сгенерирует его сам при первом старте и выведет в лог:
docker logs -f teamspeak-server
Ищите в выводе строку с учётными данными ServerAdmin - это единственный способ получить их после первого запуска, если пароль не был задан заранее. Сохраните значение сразу: пересоздание контейнера без сохранённого тома сгенерирует новые данные, и старые связи между аккаунтом и правами могут быть потеряны.
Дальше подключаетесь клиентом TeamSpeak 6 к IP сервера и вводите полученные данные там, где клиент запрашивает права ServerAdmin - обычно это происходит автоматически при первом подключении к свежему серверу.
Pterohost - хостинг голосовых серверов TeamSpeak с установкой в один клик, без ручной возни с Docker и бинарями. Промокод 4START даёт -20% на первый заказ. Арендовать TeamSpeak 6
Порты, которые нужно открыть
| Назначение | Порт по умолчанию | Протокол |
|---|---|---|
| Голосовой канал | 9987 | UDP |
| Передача файлов | 30033 | TCP |
| SSH-query | 10022 | TCP |
| HTTP web-query | 10080 | TCP |
| HTTPS web-query | 10443 | TCP |
Значения по умолчанию для query-портов могут отличаться между сборками - проверяйте актуальные номера в выводе --help или в CONFIG.md вашей конкретной версии, не полагайтесь слепо на таблицу выше, если сборка новее, чем на момент написания статьи. Query-порты (SSH/HTTP/HTTPS) не обязаны быть открыты наружу - если вы обращаетесь к API только с той же машины или из локальной сети, ограничьте доступ на уровне firewall. Общий подход к настройке правил - в статье про firewall для игровых серверов.
Автозапуск через systemd
Для бинарного запуска на Linux-хосте систему удобнее держать под systemd, а не в screen/tmux. Пример unit-файла:
[Unit]
Description=TeamSpeak 6 Server (beta)
After=network.target
[Service]
Type=simple
User=teamspeak
WorkingDirectory=/opt/teamspeak6-server
ExecStart=/opt/teamspeak6-server/tsserver --accept-license
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
Создайте отдельного непривилегированного пользователя teamspeak, положите бинарь и данные в /opt/teamspeak6-server, выдайте владельцу права на директорию, затем:
sudo useradd -r -s /usr/sbin/nologin teamspeak
sudo chown -R teamspeak:teamspeak /opt/teamspeak6-server
sudo systemctl daemon-reload
sudo systemctl enable --now teamspeak6-server.service
sudo systemctl status teamspeak6-server.service
Если вы используете Docker, аналогом systemd-автозапуска служит флаг restart: unless-stopped в compose-файле или --restart unless-stopped в docker run - Docker сам поднимет контейнер после падения или перезагрузки хоста.
Обновление между бета-сборками
Учитывая частоту релизов (три версии за полтора месяца в примере выше), обновление стоит превратить в рутину, а не разовое действие.
Для Docker:
docker pull teamspeaksystems/teamspeak6-server:latest
docker stop teamspeak-server
docker rm teamspeak-server
# запустить заново с теми же volume и переменными окружения
Поскольку данные лежат в именованном томе /var/tsserver/, пересоздание контейнера с тем же томом не теряет базу, каналы и настройки.
Для бинаря: скачайте новый релиз, остановите systemd-unit, замените бинарь в рабочей директории, запустите снова:
sudo systemctl stop teamspeak6-server.service
cp tsserver /opt/teamspeak6-server/tsserver
sudo systemctl start teamspeak6-server.service
Перед любым обновлением обязательно сделайте бэкап каталога с данными (том Docker или рабочую директорию бинаря) и прочитайте changelog новой версии - в бете встречаются правки, меняющие поведение прав или конфигурации, и лучше узнать о них заранее, а не после того, как сервер не поднялся.
Pterohost - серверы TeamSpeak 6 на NVMe с DDoS-защитой, обновления и бэкапы через панель без ручного SSH. Промокод 4START даёт -20% на первый заказ. Заказать сервер TeamSpeak 6
Часто задаваемые вопросы
TeamSpeak 6 сервер уже можно ставить в продакшн?
Формально да - бинарь и Docker-образ публичны и рабочие, но это open beta: между сборками ломаются мелочи вроде обработки прав или флагов клиента, а лицензия на 32 слота выдаётся во временном бета-режиме. Для критичного продакшна с большим онлайном пока безопаснее TeamSpeak 3, для тестов и небольших сообществ TeamSpeak 6 уже вполне пригоден.
Где скачать сервер TeamSpeak 6?
Официальный источник - репозиторий github.com/teamspeak/teamspeak6-server, раздел Releases: там лежат бинари под Linux и Windows. Для контейнеров есть официальный образ teamspeaksystems/teamspeak6-server на Docker Hub. Сторонние зеркала использовать не стоит - beta часто обновляется, и легко получить устаревшую или битую сборку.
Как узнать пароль администратора после установки TeamSpeak 6?
При первом запуске сервер генерирует учётные данные query-администратора и печатает их в лог: docker logs -f teamspeak-server для контейнера или файл лога рядом с бинарём при обычном запуске. Пароль можно задать заранее переменной TSSERVER_QUERY_ADMIN_PASSWORD или флагом —query-admin-password, тогда генерация не понадобится.
Совместима ли лицензия TeamSpeak 3 с TeamSpeak 6?
Нет. Лицензионные ключи TeamSpeak 3 не работают на TeamSpeak 6 - это отдельная система лицензирования. В бете выдаётся бесплатная лицензия на 32 слота, которая автоматически продлевается примерно раз в два месяца. Коммерческие лицензии большего размера для TS6 на момент бета-статуса ещё не открыты для приобретения.
Можно ли перенести сервер TeamSpeak 3 на TeamSpeak 6 автоматическим переносом?
Официального инструмента миграции пока нет. Каналы, группы и права придётся воссоздавать вручную или через свой скрипт поверх ServerQuery/REST API. Подробный план с чеклистом - в статье про миграцию с TeamSpeak 3 на TeamSpeak 6.