Pterohost docs

Не подключается к серверу TeamSpeak 3: как исправить

Разбор всех типовых ошибок подключения к TeamSpeak 3: connection timed out, invalid serverpassword, too many clone connections. Таблица портов, диагностика ping/nc/ss, фаервол и NAT.

Проблема «не подключается к TeamSpeak» почти всегда решается за пару минут, если знать, какие четыре порта отвечают за что и какой инструмент диагностики соответствует каждому симптому. Разница между «сервер выключен», «закрыт порт» и «сервер забанил меня» видна уже по тексту ошибки клиента - нужно только правильно её прочитать. В этой статье собраны все типовые сообщения об ошибках подключения, таблица портов и пошаговая диагностика с реальными командами.

Таблица портов TeamSpeak 3

Прежде чем разбирать конкретные ошибки, зафиксируем, за что отвечает каждый порт - большинство проблем подключения сводится к тому, что один из них закрыт или не проброшен.

ПортПротоколНазначение
9987UDPГолосовой трафик - основной порт, без него клиент не подключится вообще
10011TCPServerQuery (raw/telnet) - управление сервером через текстовый протокол
10022TCPServerQuery через SSH - то же управление, но с шифрованием
30033TCPПередача файлов - аватары, иконки, файлы в каналах
41144TCPTSDNS - разрешение доменного имени сервера без явного указания порта в адресе подключения

Для обычного клиента, который просто хочет зайти голосом, критичен только 9987/UDP - остальные нужны для администрирования, файлов и удобного адреса вида voice.myclan.ru вместо voice.myclan.ru:9987. Подробно про сам протокол ServerQuery и работу с ним - в статье ServerQuery: подключение и команды.

Типовые ошибки клиента и их причины

”Failed to connect to server”

Общая ошибка, означающая, что клиент вообще не смог установить соединение. Причины по частоте:

  1. Сервер выключен или процесс ts3server упал - проверить статус на стороне сервера.
  2. Неверный адрес или порт в строке подключения.
  3. Порт 9987/UDP закрыт фаерволом сервера или заблокирован по пути.

”Connection timed out”

Клиент отправил запрос на подключение, но не дождался ответа за отведённое время. В отличие от мгновенного отказа, таймаут почти всегда означает, что пакеты теряются где-то по пути, а не отбрасываются самим сервером сразу:

  • порт 9987/UDP не открыт в фаерволе сервера;
  • порт не проброшен на роутере, если сервер стоит за NAT;
  • провайдер (особенно мобильный интернет или некоторые домашние ISP) режет нестандартные UDP-диапазоны;
  • сервер физически недоступен - упал, выключен, сеть отвалилась у хостинга.

”Incompatible client/server version”

Клиент и сервер используют версии протокола, которые не могут договориться о формате пакетов. Встречается при подключении очень старым клиентом к современному серверу или наоборот. Решение - обновить клиент TeamSpeak 3 до актуальной версии; серверная часть обновляется реже и обычно не является причиной, если это единственный клиент с проблемой.

”Invalid serverpassword”

Самообъясняющаяся ошибка - введён неверный пароль сервера. Проверьте регистр символов и отсутствие случайно скопированных пробелов в начале/конце пароля. Если пароль точно верный, но ошибка повторяется - убедитесь, что не подключаетесь к другому серверу на том же IP, но с другим портом (например, тестовому виртуальному серверу вместо основного).

”Could not resolve hostname”

DNS не смог превратить доменное имя в IP-адрес. Проверяется напрямую:

nslookup voice.myclan.ru

Если команда не возвращает IP - проблема в DNS-записи (A-запись не создана, опечатка в домене) или в DNS-резолвере самого клиента. Если сервер настроен с TSDNS для нестандартного порта, а не через явный :port в адресе - дополнительно проверьте доступность порта 41144/TCP, отвечающего за резолв TSDNS-имени в реальный IP:порт.

”You are banned from this server”

Клиент забанен по IP или по уникальному идентификатору (UID). Сообщение обычно включает причину бана и время истечения (если бан не бессрочный). Снять бан может только администратор сервера командой banclient или banlist + bandel через ServerQuery, либо через интерфейс клиента в разделе банов.

”Too many clone connections”

Сервер ограничивает число одновременных подключений с одним и тем же идентификатором клиента (UID) через право i_client_max_clones_uid. Типичный сценарий: нестабильный интернет заставляет клиент переподключаться быстрее, чем сервер успевает закрыть предыдущее полуживое соединение (по умолчанию сервер ждёт до 20 секунд перед тем как счесть клиента отключившимся) - в итоге на сервере временно висит несколько «клонов» одного и того же UID.

Что помогает:

  • перезапустить клиент TeamSpeak полностью (не просто переподключиться);
  • дождаться 15-20 секунд, пока сервер не закроет старые полуживые сессии, и подключиться заново;
  • если проблема повторяется у легитимных пользователей регулярно - администратору стоит поднять значение i_client_max_clones_uid в соответствующей серверной группе, детали в статье права и группы TeamSpeak 3.

Диагностика: пошагово

1. Проверить доступность хоста

ping voice.myclan.ru

Отсутствие ответа не всегда означает проблему - многие хостинги блокируют ICMP из соображений безопасности, поэтому это только первая, необязательная проверка.

2. Проверить конкретные порты

Для TCP-портов (ServerQuery, filetransfer, TSDNS) - через nc:

nc -zv voice.myclan.ru 10011
nc -zv voice.myclan.ru 30033
nc -zv voice.myclan.ru 41144

Для UDP-голоса проверка снаружи не даёт стопроцентной гарантии (UDP не устанавливает соединение явно), но всё равно полезна как первый сигнал:

nc -zvu voice.myclan.ru 9987

3. Проверить, что сервер реально слушает порты (со стороны сервера)

ss -lunp | grep 9987
ss -tlnp | grep -E '10011|30033|10022'

Если процесс ts3server не в списке - сервис не запущен или слушает не тот интерфейс (voice_ip/query_ip в ts3server.ini указан не как 0.0.0.0, а как конкретный внутренний IP).

4. Проверить фаервол сервера

sudo ufw status verbose

Убедиться, что 9987/UDP, 10011/TCP и 30033/TCP присутствуют в списке разрешённых правил. Подробная инструкция по настройке UFW под игровой/голосовой сервер - в статье настройка UFW для игрового сервера.

5. Проверить NAT и проброс портов

Если сервер стоит за домашним роутером (NAT), внешний трафик до него не дойдёт без явного проброса портов (port forwarding) на роутере: 9987/UDP, 10011/TCP, 30033/TCP нужно перенаправить на внутренний IP машины с TeamSpeak. Проверить, что порт реально виден снаружи, можно любым внешним сервисом проверки открытых портов - если порт закрыт снаружи при том, что сервис слушает его локально, проблема почти всегда в NAT-проброске или в фаерволе самого роутера.

Pterohost - серверы TeamSpeak 3 с уже открытыми портами и без NAT-проброски - никаких танцев с домашним роутером. Промокод 4START даёт -20% на первый заказ. Арендовать сервер TeamSpeak 3

Проблемы на стороне клиента

Не все проблемы решаются на сервере - часть ошибок вызвана настройками локальной машины пользователя.

Audio backend

TeamSpeak 3 клиент использует системный аудио-бэкенд (WASAPI на Windows, ALSA/PulseAudio на Linux). Если голос сервера подключается успешно, но звука нет ни у кого - проблема почти наверняка в выборе устройства вывода в настройках клиента, а не на сервере: проверьте раздел «Настройки -> Оборудование» и убедитесь, что выбрано правильное устройство ввода/вывода.

Кодек и качество связи

TeamSpeak 3 использует кодек Opus - переключать его вручную обычно не требуется, но при жалобах на прерывистый звук стоит проверить настройки джиттер-буфера в клиенте: слишком маленький буфер на нестабильном интернете вызывает заикания, слишком большой - задержку в разговоре.

TSDNS не резолвится у конкретного клиента

Если через IP:порт клиент подключается, а через удобный домен - нет, проблема локальна для TSDNS-резолва у этого клиента: устаревший кэш DNS, блокировка порта 41144/TCP локальным фаерволом или антивирусом. Временное решение - подключаться напрямую по IP:порт, пока не разберётесь с TSDNS.

Если дело не в вашей настройке

Если все порты открыты, фаервол настроен верно, а NAT не при чём, но подключение всё равно нестабильно или падает у всех клиентов одновременно - вероятная причина за пределами вашей конфигурации:

  • Атака на сервер. Кратковременные обрывы голоса у всех одновременно при полностью корректной настройке портов - частый признак UDP-флуда на 9987. Без фильтрации на уровне сети хостера с этим ничего не сделать локальными средствами.
  • Проблема на стороне провайдера хостинга. Сетевые неполадки дата-центра, плановые работы, проблемы с аплинком - обратитесь в поддержку хостера с результатами диагностики выше (какие команды выполняли, что получили), это ускорит разбор в разы по сравнению с формулировкой «не работает».
  • Проблема на стороне интернет-провайдера клиента. Если у одного конкретного человека не подключается никогда, а у остальных всё в порядке - проверьте, не режет ли его провайдер UDP-трафик на нестандартные порты (актуально для части мобильных операторов).

Pterohost - хостинг TeamSpeak 3 с DDoS-защитой на уровне сети, которая не даёт флуду вообще дойти до вашего сервера. Промокод 4START даёт -20% на первый заказ. Заказать хостинг TeamSpeak 3

Часто задаваемые вопросы

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

Голос - 9987/UDP, ServerQuery - 10011/TCP (или 10022/TCP по SSH), передача файлов - 30033/TCP, разрешение TSDNS-адресов - 41144/TCP. Для обычного подключения клиента достаточно открытого 9987/UDP, остальные нужны для администрирования и файлов.

Что означает ошибка connection timed out при подключении к TeamSpeak 3?

Клиент не получил ответ от сервера за отведённое время - либо сервер выключен, либо порт 9987/UDP закрыт фаерволом на сервере или на промежуточном роутере, либо провайдер блокирует нужный диапазон UDP-портов. Проверяется командой nc -zvu 9987 или netcat-эквивалентом.

Почему сервер TeamSpeak 3 пишет too many clone connections?

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

Как проверить, открыт ли порт TeamSpeak 3 сервера?

Для TCP-портов (ServerQuery, filetransfer) - telnet ip port или nc -zv ip port. Для UDP-голоса точной проверки извне нет, но локально на сервере команда ss -lunp покажет, слушает ли процесс ts3server порт 9987/UDP.

Что делать, если сервер TeamSpeak 3 недоступен, а порты открыты правильно?

Проверьте, не блокирует ли трафик провайдер (мобильные и некоторые домашние провайдеры режут нестандартные UDP-диапазоны), и не идёт ли DDoS-атака на сервер - в этом случае поможет только защита на уровне сети хостера. Если сервер работает у стороннего хостинга, стоит обратиться в его поддержку с результатами диагностики.