TS-Server

Какие порты нужны для TeamSpeak

Полная таблица портов TeamSpeak 3 и 6 — голос 9987/UDP, файлы 30033/TCP, ServerQuery, TSDNS — и готовые команды для ufw, iptables и Windows Firewall.

Проверено 7 августа 2026. Номера портов сверены с официальной документацией TeamSpeak (support.teamspeak.com и репозиторий teamspeak6-server на GitHub) по состоянию на август 2026; TeamSpeak 6 Server на этот момент — в статусе beta.

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

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

Клиент подключается к серверу по UDP 9987 (голос) и TCP 30033 (файлы). Порты ServerQuery 10011 и WebQuery 10080 снаружи закрыты и доступны только с машины сервера или через SSH-туннель. Сервер сам ходит на accounting2.teamspeak.com по TCP 443 за проверкой лицензии.
Схема потоков: UDP 9987 для голоса, TCP 30033 для файлов, административные порты — только локально или через туннель.

Порты сервера TeamSpeak 3

Это порты, которые сервер слушает и которые нужно открыть входящими в фаерволе серверной машины.

ПортПротоколНазначениеОткрывать наружу?
9987UDPГолос и весь основной трафик клиентовДа, обязательно
30033TCPПередача файлов, аватарки, иконкиДа, если нужны файлы
10011TCPServerQuery (raw, без шифрования)Нет — только localhost
10022TCPServerQuery по SSH (шифрованный)Только при необходимости
10080TCPWebQuery по HTTPНет — только localhost
10443TCPWebQuery по HTTPSТолько при необходимости
41144TCPTSDNS — устаревший сервис разрешения имёнНет (см. ниже)

Обязательны только первые два. Все остальные официальная документация помечает как optional: обычному игровому серверу они не нужны.

Кроме входящих, сервер сам устанавливает исходящие соединения к инфраструктуре TeamSpeak. Здесь важна версия сервера — в ветке 3.1 адреса и порты сменились, и инструкции, написанные во времена 3.0, до сих пор советуют открывать порт, который давно не используется:

КудаПротоколУдалённый портВерсии сервераНазначение
accounting2.teamspeak.comTCP4433.1.x и новееПроверка лицензии
accounting.teamspeak.comTCP2008только 3.0.xПроверка лицензии, устаревшее
weblist.teamspeak.comUDP2010все версииПубликация в глобальном списке

Актуальный сервер — 3.13.x, то есть ветка 3.1: ему нужен исходящий 443/TCP, а не 2008. Если исходящие соединения на 443 заблокированы, сервер не сможет проверить лицензию. Weblist (2010/UDP) нужен, только если сервер публикуется в глобальном списке серверов; закрывать его безопасно.

Доменное имя тут важнее адреса: IP за ним уже менялся, поэтому правила firewall пишите по имени или разрешайте исходящий 443 целиком, а не прибивайте к конкретному адресу.

Если на одной машине работает несколько виртуальных серверов, у каждого свой голосовой порт: первый получает 9987, следующие по умолчанию создаются на 9988, 9989 и так далее. Файловый и query-порты общие на всю инсталляцию.

Порты сервера TeamSpeak 6

TeamSpeak 6 Server на момент проверки (август 2026) распространяется в статусе beta — официальный репозиторий прямо называет релиз бета-версией для сбора обратной связи, а встроенная лицензия на 32 слота продлевается на время бета-периода. Основные порты не изменились, а вот интерфейс управления переехал с raw-протокола на веб-API.

ПортПротоколНазначениеОпция конфигурации
9987UDPГолос--default-voice-port
30033TCPПередача файлов--filetransfer-port
10080TCPQuery по HTTP--query-http-port
10443TCPQuery по HTTPS--query-https-port
10022TCPQuery по SSH--query-ssh-port

Классического raw-ServerQuery на 10011 в TeamSpeak 6 нет. Query-порты в официальных примерах Docker-развёртывания закомментированы — для обычного сервера они не обязательны, и наружу их пробрасывать не нужно. Правило то же, что и для 10011 в третьей версии: интерфейс управления — не для публичного интернета.

Клиент и сервер — разные списки портов

На сервере порты открываются входящими (INPUT): фаервол должен пропускать пакеты, которые приходят от клиентов на 9987/UDP и 30033/TCP.

Клиенту входящие порты не нужны вообще. Домашний роутер и Windows Firewall по умолчанию разрешают исходящие соединения, поэтому на стороне клиента обычно настраивать нечего. Клиент устанавливает исходящие соединения:

ПортПротоколЗачем клиенту
9987UDPПодключение к серверу и голос (или нестандартный порт сервера)
30033TCPСкачивание и загрузка файлов, аватарок, иконок
41144TCPТолько при подключении через устаревший TSDNS

Пробрасывать 9987 на роутере нужно только тому, кто держит сервер дома — потому что в этот момент его машина и есть сервер. Игроку, который просто подключается к чужому серверу, проброс портов не нужен; если подключение не работает, причина в другом.

Почему 10011 нельзя открывать наружу

ServerQuery — это не «служебный порт», а полный административный доступ к серверу; что через него можно сделать, разобрано отдельно. Залогинившись на 10011, можно создавать и удалять виртуальные серверы, раздавать права, кикать и банить пользователей, читать список каналов — всё, что умеет админ.

При этом протокол на 10011 — текстовый и нешифрованный: логин и пароль serveradmin летят по сети открытым текстом. Открытый наружу 10011 к тому же круглосуточно сканируют боты, подбирающие пароли, — сервер в ответ плодит записи о банах и флуд-блокировках.

Правильная схема:

  • 10011 слушает только 127.0.0.1ts3server.ini: query_ip=127.0.0.1), либо закрыт фаерволом для всех внешних адресов;
  • удалённое администрирование — через SSH-туннель до сервера (ssh -L 10011:127.0.0.1:10011 user@server, дальше подключаться к localhost:10011);
  • либо через шифрованный ServerQuery-SSH на 10022 — но и его стоит ограничить списком доверенных IP;
  • файл query_ip_allowlist.txt (в старых версиях сервера — query_ip_whitelist.txt) должен содержать только localhost и действительно доверенные адреса: попавшие в него IP не ограничиваются защитой от флуда.

Веб-хостинги TeamSpeak и панели управления работают именно так — через localhost на той же машине, а не через открытый в интернет query-порт.

Открываем порты: готовые команды

Ниже — минимальный набор для типового сервера: голос плюс файлы. Query-порты наружу не открываем.

ufw (Ubuntu / Debian)

sudo ufw allow 9987/udp comment 'TeamSpeak voice'
sudo ufw allow 30033/tcp comment 'TeamSpeak file transfer'
sudo ufw reload
sudo ufw status verbose

Если сервера ещё нет и вы читаете это перед установкой, фаервол проще настраивать не отдельно, а по ходу дела: в пошаговой установке TeamSpeak на Ubuntu 24.04 эти же правила ufw ставятся вместе с systemd-автозапуском и бэкапом.

Если нужен шифрованный query-доступ с конкретного адреса (замените 203.0.113.10 на свой IP):

sudo ufw allow from 203.0.113.10 to any port 10022 proto tcp comment 'TeamSpeak query SSH'

iptables

sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 30033 -j ACCEPT

Явно закрыть raw-query снаружи, оставив localhost:

sudo iptables -A INPUT -p tcp --dport 10011 -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 10011 -j DROP

Правила iptables не переживают перезагрузку сами по себе — сохраните их штатным для вашей системы способом, например пакетом iptables-persistent:

sudo apt install iptables-persistent
sudo netfilter-persistent save

Windows Firewall (netsh)

Команды выполняются в командной строке от имени администратора:

netsh advfirewall firewall add rule name="TeamSpeak Voice" dir=in action=allow protocol=UDP localport=9987
netsh advfirewall firewall add rule name="TeamSpeak FileTransfer" dir=in action=allow protocol=TCP localport=30033

Проверить, что правила создались:

netsh advfirewall firewall show rule name="TeamSpeak Voice"

Как сменить стандартные порты

Менять порты приходится в двух случаях: стандартный порт занят другим процессом или провайдер/сеть режет диапазон.

TeamSpeak 3

Порты задаются в ts3server.ini (если файла нет, запустите сервер один раз с параметром createinifile=1):

default_voice_port=9988
filetransfer_port=30034
query_port=10011
query_ssh_port=10022
query_ip=127.0.0.1

Те же параметры можно передать при запуске:

./ts3server_startscript.sh start default_voice_port=9988 filetransfer_port=30034

После смены не забудьте поправить правила фаервола под новые номера. Голосовой порт уже созданного виртуального сервера меняется отдельно — через настройки виртуального сервера (в клиенте: правка виртуального сервера, поле «Порт»).

TeamSpeak 6

Три равнозначных способа:

# 1. Флаги командной строки
./tsserver --default-voice-port 9988 --filetransfer-port 30034

# 2. Переменные окружения (удобно для Docker)
TSSERVER_DEFAULT_PORT=9988 TSSERVER_FILE_TRANSFER_PORT=30034 ./tsserver

# 3. Постоянный конфиг: сгенерировать tsserver.yaml и править его
./tsserver --write-config-file

Полный список опций — ./tsserver --help и файл CONFIG.md в официальном репозитории. В Docker следите, чтобы внешний порт файлового трансфера совпадал с внутренним (30033:30033) — иначе передача файлов не заработает: сервер сообщает клиенту именно тот порт, на котором слушает сам.

На стороне клиента

Нестандартный порт указывается через двоеточие в адресе подключения:

ts.example.com:9988

TSDNS: почему 41144 больше не нужен

TSDNS — собственный сервис TeamSpeak для привязки красивых имён к адресам серверов, работавший по TCP-порту 41144. Начиная с клиента 3.1, TeamSpeak разрешает адреса через стандартные DNS SRV-записи (_ts3._udp.example.com), и необходимость в отдельном сервисе отпала: официальная документация называет TSDNS устаревшим. Поднимать TSDNS на новых серверах не нужно; порт 41144 актуален только для совместимости со старыми инсталляциями, где он уже используется.

Частые ошибки — короткий чек-лист

СимптомПричина
«No reply from server» при верном адресеНе открыт 9987/UDP на сервере, либо открыт как TCP
Голос работает, файлы и аватарки — нетЗакрыт 30033/TCP
Сервер не стартует, ошибки лицензии в логеЗаблокирован исходящий 443/TCP (на ветке 3.0.x — 2008/TCP)
Сервера нет в глобальном спискеЗаблокирован исходящий 2010/UDP
В логе шквал failed query login10011 открыт наружу — закройте и смените пароль serveradmin
В Docker не передаются файлыВнешний порт 30033 проброшен на другой внутренний

Официальные источники

Частые вопросы

Какой порт нужен для подключения к серверу TeamSpeak?

Клиенту достаточно исходящего UDP-соединения на порт 9987 (или на тот порт, который назначен конкретному виртуальному серверу). Для передачи файлов и аватарок дополнительно используется исходящее TCP-соединение на порт 30033. Открывать входящие порты на компьютере клиента не нужно.

Нужно ли открывать порт 10011 наружу?

Нет. Порт 10011 — это ServerQuery, административный интерфейс с полным управлением сервером. Наружу его открывать нельзя — держите его доступным только с localhost, а для удалённого администрирования используйте SSH-туннель или зашифрованный ServerQuery на порту 10022.

TCP или UDP использует TeamSpeak для голоса?

Голос в TeamSpeak ходит только по UDP, стандартный порт 9987. Если в фаерволе открыть 9987/TCP вместо 9987/UDP, подключиться не получится — это самая частая ошибка при настройке. TCP используется для других задач — передачи файлов (30033) и интерфейсов управления.

Почему подключается только один человек, а файлы не передаются?

Голос и файлы идут через разные порты. Если открыт только 9987/UDP, разговаривать можно, но передача файлов, аватарки и иконки работать не будут — для них нужен ещё 30033/TCP. Откройте оба порта на сервере входящими.

Можно ли запустить TeamSpeak на другом порту, если 9987 занят или закрыт?

Да. В TeamSpeak 3 порт задаётся параметром default_voice_port в ts3server.ini или в командной строке, в TeamSpeak 6 — опцией --default-voice-port, переменной окружения или файлом tsserver.yaml. Клиенты подключаются, указывая порт через двоеточие после адреса, например ts.example.com:9988.

Какие порты нужны серверу TeamSpeak 6?

Как и раньше, 9987/UDP для голоса и 30033/TCP для файлов. Вместо старого raw-ServerQuery появился веб-интерфейс запросов — HTTP на 10080 и HTTPS на 10443, SSH-запросы остались на 10022. Учтите, что TeamSpeak 6 Server пока в статусе beta.

Что почитать дальше