Гид по технологиям

Установка TeamSpeak 3 на Debian 11: пошаговый гид

• 7 min read • Серверы • Обновлено 24 Nov 2025
Установка TeamSpeak 3 на Debian 11 — пошаговый гид
Установка TeamSpeak 3 на Debian 11 — пошаговый гид

Интерфейс TeamSpeak и логотип

Введение

TeamSpeak — кроссплатформенное голосовое приложение для геймеров, команд и образовательных учреждений. Оно лёгкое, быстрое и даёт больше контроля, так как вы можете хостить сервер на своём хосте. TeamSpeak поддерживает персонализацию интерфейса, личные сообщения, неограниченную передачу файлов и возможность анонимного подключения.

Этот материал научит вас установить сервер TeamSpeak на сервер с Debian 11 и подключиться к нему с помощью клиента под Windows. Руководство ориентировано на администратора сервера с доступом sudo.

Important: сохраняйте генерируемые ключи и пароли при первом запуске — они нужны для получения прав администратора.

Что нужно до начала

  • Сервер под Debian 11.
  • Нерутовый пользователь с привилегиями sudo.
  • Пакет sudo установлен.
  • Система обновлена.
$ sudo apt update && sudo apt upgrade
  • Установите набор базовых утилит (часть может быть уже установлена).
$ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring wget -y

План действий (коротко)

  1. Настроить ufw и открыть порты TeamSpeak.
  2. Загрузить архив TeamSpeak и распаковать.
  3. Создать системного пользователя ts3 и разместить файлы в /opt/teamspeak.
  4. Запустить сервер для генерации привилегий и токенов.
  5. Создать systemd-сервис для автозапуска.
  6. Подключиться из клиента Windows и использовать привилегированный токен.
  7. По желанию: переключить хранилище на MariaDB.
  8. Резервирование и безопасность.

Шаг 1 — Настройка файервола

Debian обычно использует ufw (Uncomplicated Firewall). Проверьте статус:

$ sudo ufw status

Ожидаемый вывод:

Status: inactive

Разрешите SSH, чтобы не потерять доступ после включения файервола:

$ sudo ufw allow OpenSSH

Откройте порты, необходимые TeamSpeak:

  • 9987/udp — голосовые пакеты.
  • 30033/tcp — передача файлов.
  • 10011/tcp — ServerQuery (RAW).
  • 10022/tcp — ServerQuery (SSH).
  • 10080/tcp — Webquery (HTTP).
$ sudo ufw allow 9987/udp
$ sudo ufw allow 30033/tcp
$ sudo ufw allow 10011/tcp
$ sudo ufw allow 10022/tcp
$ sudo ufw allow 10080/tcp

Включите файервол:

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Проверьте статус снова:

$ sudo ufw status

Ожидаемый пример вывода содержит перечисленные правила ALLOW для IPv4 и IPv6.

Important: если вы используете управляющую панель (например, облачный провайдер), убедитесь, что внешняя сеть/ACL тоже пропускает нужные порты.

Шаг 2 — Загрузка TeamSpeak

Перейдите на страницу загрузок TeamSpeak и посмотрите актуальную версию. В примере использовалась v3.13.6.

$ TVERSION=3.13.6
$ wget https://files.teamspeak-services.com/releases/server/${TVERSION}/teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2

Распакуйте архив:

$ tar -xf ./teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2

Шаг 3 — Создание пользователя и перемещение файлов

Создайте системного пользователя для TeamSpeak, домашний каталог укажем /opt/teamspeak, пароля у пользователя не будет:

$ sudo adduser ts3 --home /opt/teamspeak --shell /bin/bash --disabled-password

Перенесите распакованные файлы в /opt/teamspeak:

$ sudo mv teamspeak3-server_linux_amd64/* /opt/teamspeak/

Установите владельца каталога:

$ sudo chown -R ts3:ts3 /opt/teamspeak

Совет: по желанию создайте отдельное хранилище для логов и бэкапов и добавьте его в исключения бэкапа.

Шаг 4 — Первый запуск сервера

Первый запуск создаёт учётную запись Server Query Admin и привилегированный токен (privilege key). Войдите от имени ts3:

$ sudo -u -i ts3

Подтвердите лицензию (создайте файл):

$ touch .ts3server_license_accepted

Запустите сервер:

$ ./ts3server_startscript.sh start

При старте вы увидите блок с важной информацией, например:

------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
               Server Query Admin Account created
         loginname= "serveradmin", password= "BtXdJaCb"
         apikey= "BAD8rYVPM61p_-TdrsBqEL_8ZxKzEHIKOkUk6_e"
------------------------------------------------------------------

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

Скопируйте и сохраните логины, пароль, apikey и token — без них вы не получите права администратора.

Чтобы временно остановить сервер в интерактивной сессии, нажмите Ctrl + C, затем выйдите из учётной записи ts3:

$ exit

Совет по безопасности: храните эти ключи в безопасном менеджере паролей.

Шаг 5 — Создание systemd-службы

Создайте файл службы:

$ sudo nano /lib/systemd/system/ts3server.service

Вставьте содержимое:

[Unit]
Description=TeamSpeak3 Server
Wants=network-online.target
After=syslog.target network.target local-fs.target

[Service]
WorkingDirectory=/opt/teamspeak
User=ts3
Group=ts3
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

Сохраните и закройте (Ctrl+X, Y).

Примените изменения:

$ sudo systemctl daemon-reload
$ sudo systemctl enable ts3server --now

Проверьте статус:

$ sudo systemctl status ts3server

Ожидается вывод с Active: active (running) и PID процесса ts3server.

Шаг 6 — Подключение с клиента TeamSpeak (Windows)

Скачайте клиент TeamSpeak 3 для Windows с официального сайта. После установки и прохождения лицензионного запроса вы увидите стартовый экран клиента.

Окно клиента TeamSpeak 3 после принятия лицензии

В клиенте откройте Connections → Connect. Введите IP адрес сервера, сгенерированный пароль (из вывода при старте) и ваш никнейм.

Диалог подключения к серверу TeamSpeak — ввод адреса и пароля

Нажмите Connect. Клиент попросит привилегированный ключ. Вставьте token, который был сгенерирован на первом запуске.

Окно ввода привилегированного токена в клиенте TeamSpeak

Если всё введено верно, вы подключитесь и получите админские права на виртуальном сервере.

Окно успешного подключения клиента TeamSpeak к серверу

Совет: измените ник и настройте каналы до открытия публичного доступа.

Шаг 7 — Смена пароля администратора

Остановите службу:

$ sudo systemctl stop ts3server

Переключитесь на пользователя ts3:

$ sudo -i -u ts3

Запустите сервер с параметром serveradmin_password, чтобы задать новый пароль:

$ ./ts3server_startscript.sh start serveradmin_password=password

Замените password на надёжный пароль. Остановите сервер:

$ ./ts3server_startscript.sh stop

Выйдите из-под ts3 и запустите службу снова:

$ exit
$ sudo systemctl start ts3server

Важно: serveradmin_password меняет только пароль учётной записи serveradmin, но не привилегированный токен.

Шаг 8 — Установка и настройка MariaDB (опционально)

По умолчанию TeamSpeak использует SQLite. Для больших сообществ рекомендуется использовать MySQL/MariaDB.

Установите MariaDB:

$ sudo apt install mariadb-server -y

Проверьте статус службы:

$ sudo systemctl status mariadb

Запустите сценарий безопасности:

$ sudo mysql_secure_installation

Пример рекомендуемых ответов в интерактивном режиме:

Enter current password for root (enter for none): (Press Enter)
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Войдите в MySQL и создайте пользователя и базу данных:

$ sudo mysql
mysql> CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'your_password';
mysql> CREATE DATABASE teamspeak3;
mysql> GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';
mysql> exit

Замените your_password на надёжный пароль.

Переключитесь на пользователя ts3 и создайте символическую ссылку на библиотеку MariaDB (путь может отличаться в зависимости от версии TeamSpeak):

$ sudo -i -u ts3
$ ln -s /opt/teamspeak-server/redist/libmariadb.so.2 /opt/teamspeak-server/libmariadb.so.2

Проверьте зависимости библиотеки (пример команды для проверки):

$ ldd /opt/teamspeak3-server/libts3db_mariadb.so

Создайте файл параметров подключения к MariaDB:

$ nano ts3db_mariadb.ini

Вставьте:

[config]
host=127.0.0.1
port=3306
username=ts3user
password=your_password
database=teamspeak3
socket=

Сохраните.

Создайте конфигурацию сервера TeamSpeak:

$ nano ts3server.ini

Вставьте пример:

machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
licensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbsqlpath=sql/
dbplugin=ts3db_mariadb
dbsqlcreatepath=create_mariadb/
dbpluginparameter=ts3db_mariadb.ini
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
query_skipbruteforcecheck=0

Файл указывает TeamSpeak использовать MariaDB вместо SQLite.

Выйдите из-под ts3:

$ exit

Остановите и отключите службу TeamSpeak, отредактируйте systemd-файл, чтобы сервис запускал сервер с указанием inifile=ts3server.ini:

$ sudo systemctl stop ts3server && sudo systemctl disable ts3server
$ sudo nano /lib/systemd/system/ts3server.service

Найдите строку ExecStart и измените её, добавив inifile=ts3server.ini:

ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini

Сохраните, затем:

$ sudo systemctl daemon-reload
$ sudo systemctl enable ts3server --now
$ sudo systemctl status ts3server

При старте будет сгенерирован новый privilege token для виртуального сервера.

Note: смена базы данных влияет на хранение пользователей и канальных данных. Сделайте бэкап перед миграцией.

Шаг 9 — Обновление TeamSpeak

Процесс обновления:

  1. Остановите службу:
$ sudo systemctl stop ts3server
  1. Загрузите новую версию и распакуйте в /opt/teamspeak, перезаписав файлы (шаги 2 и 3).
  2. Проверьте права доступа и владельца каталога.
  3. Запустите службу:
$ sudo systemctl start ts3server

Всегда делайте тестовую установку на копии перед обновлением продакшн-сервера.

Безопасность и жесткая настройка (Security hardening)

  • Отключите удалённый root-доступ k MariaDB (мы это сделали в mysql_secure_installation).
  • Используйте fail2ban для защиты от брутфорса на портах ServerQuery.
  • Ограничьте доступ к портам ServerQuery и Webquery по whitelist IP, если возможно.
  • Регулярно обновляйте систему и TeamSpeak.
  • Храните привилегированные токены и пароли в менеджере паролей.
  • Рассмотрите запуск TeamSpeak за обратным прокси (reverse proxy) для Webquery с TLS если используете веб-интерфейсы.

Резервное копирование и восстановление

Рекомендуется копировать:

  • Папку /opt/teamspeak (конфиги, плагины, логи).
  • Базу данных (если используется MariaDB) дампом:
$ mysqldump -u ts3user -p teamspeak3 > teamspeak3-$(date +%F).sql

Восстановление:

$ mysql -u ts3user -p teamspeak3 < teamspeak3-YYYY-MM-DD.sql

Критерии приёмки

  • Служба systemd в статусе active (running).
  • Порты 9987/udp, 30033/tcp и 10011/tcp открыты и доступны с клиентской машины.
  • Можно подключиться из клиента и получить права администратора с помощью privilege token.
  • Логи не содержат критических ошибок при старте.

Быстрый чек-лист администратора (Role-based checklist)

Для оператора сервера:

  • Установлен и настроен ufw.
  • Создан пользователь ts3 и корректные права на /opt/teamspeak.
  • Служба systemd включена и запущена.
  • Сохранены login/password, apikey и privilege token.
  • Настроены регулярные бэкапы.

Для администратора сообщества:

  • Установлен и изменён пароль serveradmin.
  • Проверены права каналов и пользователей.
  • Привязаны правила доступа по IP при необходимости.

План отката и инцидентный runbook

  1. Если после обновления сервер не стартует — верните старые файлы из бэкапа /opt/teamspeak и перезапустите службу.
  2. При потере доступа admin: восстановите привилегированный token через логи старого запуска (если есть) или восстановите базу из бэкапа до момента, когда токен ещё был валиден.
  3. При компрометации паролей — смените пароли MariaDB, serveradmin и пересоздайте привилегированные токены.

Частые проблемы и решения

  • Не запускается служба systemd: проверьте journalctl -u ts3server, права на /opt/teamspeak, корректность ExecStart.
  • Клиент не может подключиться: проверьте ufw, внешние ACL провайдера, NAT/портфорвардинг и UDP 9987.
  • Проблемы с MariaDB: убедитесь, что библиотека libmariadb доступна и dbpluginparameter указывает на правильный ini-файл.

Мини‑методология обновлений

  1. На тестовом сервере выполните обновление и проверку (1–2 часа теста).
  2. Сделайте бэкап файлов и базы данных в продакшне.
  3. Выполните обновление в рабочем окне с уведомлением пользователей.
  4. Проверяйте логи и подключение клиентов.
  5. Откат при критических ошибках.

Короткий справочник терминов

  • ServerQuery — консольный интерфейс управления TeamSpeak.
  • Privilege token — временный ключ для получения прав serveradmin на виртуальном сервере.
  • apikey — программный ключ для API.
  • virtualserver — отдельный логический сервер внутри TeamSpeak.
  • ts3server — основной исполняемый бинарный файл TeamSpeak-сервера.

Шпаргалка команд (cheat sheet)

  • Запустить/остановить/статус службы:
$ sudo systemctl start|stop|status ts3server
  • Просмотреть логи службы:
$ sudo journalctl -u ts3server -f
  • Остановить службу и обновить бинарные файлы:
$ sudo systemctl stop ts3server
# заменить файлы в /opt/teamspeak
$ sudo chown -R ts3:ts3 /opt/teamspeak
$ sudo systemctl start ts3server
  • Дамп базы MariaDB:
$ mysqldump -u ts3user -p teamspeak3 > teamspeak3.sql

Заключение

Вы установили TeamSpeak 3 на Debian 11, настроили файервол, создали службу systemd, подключились с клиента и при необходимости переключили хранение данных на MariaDB. Следите за обновлениями, делайте регулярные бэкапы и ограничивайте доступ к административным интерфейсам.

Если у вас остались вопросы или нужна помощь с конкретной ошибкой — опишите шаги и приложите фрагмент лога.


Краткое резюме:

  • Установка и запуск TeamSpeak на Debian 11 требует минимальных административных действий.
  • Обязательно сохраните сгенерированные токены и пароли при первом запуске.
  • Для больших сообществ рекомендуется MariaDB; не забудьте про бэкапы и безопасность.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро