TS-Server

Не подключается к серверу TeamSpeak — разбор ошибок

Все типовые ошибки подключения TeamSpeak — от «Failed to connect to server» до бана за переподключения. Находите свою по тексту и чините по инструкции.

Проверено 7 августа 2026. Тексты ошибок сверены с support.teamspeak.com и официальным форумом TeamSpeak в августе 2026; сроки встроенной лицензии — по changelog сервера 3.13.7.

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

Навигатор: ошибка → причина → где чинить

Failed to connect to server, No reply from server — закрыт 9987/UDP на сервере или открыт TCP вместо UDP, сервер выключен, неверный адрес или порт. Смотреть: фаервол сервера, статус сервиса.

Failed to resolve hostname — опечатка в адресе, проблема DNS, битая SRV-запись. Смотреть: адрес в закладке, DNS-записи домена.

the time difference between server and client is too large — сбиты часы или часовой пояс, на клиенте или на сервере. Смотреть: время и пояс на обеих сторонах.

server version is too old for command — сервер устаревшей ветки 3.0.x, современный клиент к нему не подключается. Чинит только владелец: обновить сервер.

The default license has expired — истекла встроенная лицензия старой версии сервера. Тоже только владелец: обновить сервер.

Connection timed out, связь обрывается — фаервол или сеть режет UDP по пути, у части провайдеров блокировка по IP. Смотреть: другая сеть для проверки, трассировка.

You are banned permanently, you may retry in X seconds — бан на сервере, ручной или автоматический от флуд-защиты. Смотреть: список банов сервера, автопереподключение.

Подключение есть, звука нет — это не подключение, а настройки звука: устройства воспроизведения и захвата. Полный разбор — в статье не слышно в TeamSpeak.

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

«Failed to connect to server» и «No reply from server»

Самая частая пара ошибок. Смысл у них один: клиент отправил пакеты по указанному адресу и не получил ответа. Официальная документация называет две причины — по этому адресу и порту не работает сервер, либо соединение блокирует фаервол.

Проверяйте по порядку:

Адрес и порт. Если сервер работает на нестандартном порту, его указывают через двоеточие: ts.example.com:9988. Без порта клиент стучится на 9987 — и если сервер слушает другой порт, ответа не будет. Уточните у владельца сервера точный адрес и порт.

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

Фаервол сервера — главный подозреваемый. Голос TeamSpeak ходит только по UDP, стандартный порт — 9987. Классическая ошибка настройки: в фаерволе открывают 9987/TCP, правило выглядит правильным, но клиенты не подключаются, потому что UDP-пакеты по-прежнему отбрасываются. Проверьте правило буквально посимвольно:

sudo ufw status verbose

В выводе должна быть строка 9987/udp ALLOW IN — именно udp. Если написано 9987/tcp или 9987 без протокола не помогает — добавьте явное UDP-правило:

sudo ufw allow 9987/udp comment 'TeamSpeak voice'

Полный разбор портов TeamSpeak, включая команды для iptables и Windows Firewall, — в справочнике по портам.

Сервер дома, за роутером. Тогда кроме фаервола самой машины нужен проброс порта 9987/UDP на роутере — входящие пакеты из интернета иначе не дойдут до компьютера в локальной сети. Игроку, который просто подключается к чужому серверу, проброс портов не нужен никогда.

Фаервол на стороне клиента. Редкая причина, но встречается: антивирус или «фаервол-комбайн» на компьютере блокирует исходящий UDP для незнакомых программ. Для проверки временно отключите его и попробуйте подключиться.

«Failed to resolve hostname»

Клиент не смог превратить имя сервера в IP-адрес. До сервера дело даже не дошло — ошибка целиком про DNS.

Опечатка. Первым делом перечитайте адрес в закладке. Лишний пробел в начале или в конце строки — тоже опечатка, и глазами он не виден.

Проверка по IP. Узнайте IP сервера и подключитесь по нему напрямую (с портом, если он нестандартный). Заработало — значит, сеть в порядке, а проблема в DNS-записях домена.

Битая SRV-запись. Начиная с клиента 3.1 TeamSpeak при подключении по имени запрашивает SRV-запись _ts3._udp.имя — и, что важно, отвергает некорректно оформленные записи, которые старые клиенты молча игнорировали. Типичные дефекты: SRV указывает на несуществующее имя, на IP-адрес вместо имени (по RFC 2782 цель SRV — только имя хоста), на неверный порт, или запись осталась от старого сервера и никто её не обновил. Мёртвая SRV-запись даёт ровно эту ошибку при том, что A-запись домена в полном порядке.

Владелец сервера проверяет записи так:

dig +short A ts.example.com
dig +short SRV _ts3._udp.ts.example.com

A-запись должна вернуть IP сервера; SRV — строку вида 0 5 9987 ts.example.com. — либо ничего (SRV не обязательна, без неё клиент подключится по A-записи на порт из адресной строки). Хуже всего — SRV, которая есть, но врёт: её нужно исправить или удалить. Как правильно оформить обе записи — в инструкции по установке, раздел про привязку домена.

Локальный DNS. Если по имени не резолвится вообще ничего (проверьте nslookup ya.ru в терминале), проблема в DNS-настройках вашей системы или роутера, а не в TeamSpeak.

«The time difference between server and client is too large»

Полный текст: Disconnected from server (the time difference between server and client is too large). Это защитный механизм протокола (появился в ветке 3.1): если часы клиента и сервера расходятся на несколько часов, соединение отклоняется.

Неочевидное: ошибку вызывает и неверный часовой пояс при правильных цифрах на циферблате. Системное время хранится в UTC, и «правильные» 15:00 при чужом поясе — это на самом деле сдвиг на несколько часов.

Локализация простая: не подключается ни к одному серверу — сбиты часы у вас; не подключается только к одному — сбиты часы на нём.

На клиенте (Windows): Параметры → Время и язык → проверьте и часовой пояс, и переключатель «Установить время автоматически», затем «Синхронизировать» — Windows сверится с time.windows.com.

На сервере (Ubuntu/Debian): проверьте состояние:

timedatectl

В выводе смотрите три вещи: текущее время, строку Time zone и System clock synchronized: yes. Если пояс неверный:

sudo timedatectl set-timezone Europe/Moscow

Если синхронизация выключена (NTP service: inactive), включите штатный systemd-timesyncd:

sudo timedatectl set-ntp true

Альтернатива для серверов, где нужна более точная синхронизация, — chrony:

sudo apt install chrony
chronyc tracking

chronyc tracking покажет текущий сдвиг относительно эталона; после установки chrony сам держит часы в тонусе. Достаточно любого одного механизма — timesyncd или chrony, оба сразу не нужны.

«Server version is too old for command»

Полный текст: Disconnected from server (server version is too old for command). Современный клиент отказывается подключаться к серверам устаревшей ветки 3.0.x — это осознанное решение TeamSpeak, а не сбой: в 3.1 сменилась криптография протокола, и старые серверы её не поддерживают.

Со стороны клиента это не лечится. Откат клиента на древнюю версию технически возможен, но плох во всех отношениях: старый клиент не получает исправлений безопасности и не подключится к нормальным современным серверам. Единственное правильное решение — владелец сервера обновляет серверный пакет до актуальной ветки 3.13. База данных при обновлении сохраняется; порядок действий тот же, что при переезде, — описан в инструкции по установке.

Обратной проблемы — «клиент слишком старый для сервера» — бояться не нужно: актуальные серверы принимают клиентов ветки 3.1 и новее, а клиент сам предлагает обновиться. Свежая версия всегда есть на официальной странице загрузок.

«The default license has expired»

Полный текст: The default license has expired. Please use the latest server version. Эта ошибка живёт на стороне сервера: встроенная (бесплатная) лицензия каждой версии сервера имеет срок годности, и когда он истекает, сервер перестаёт запускаться или принимать клиентов — при том, что вчера всё работало и никто ничего не менял. Так массово останавливались серверы 3.13.6 осенью 2022 года, когда истекла их встроенная лицензия; в 3.13.7 её продлили до 1 июля 2027 года.

Клиент при этом видит обычное «Failed to connect» — сам текст про лицензию появляется в логах сервера. Владельцу достаточно заглянуть в каталог logs/ (см. следующий раздел) и, увидев строку про license, обновить сервер до последней версии — это единственное решение, ждать или перезапускать бесполезно. Особенно часто на этом ловятся Docker-инсталляции с прибитым тегом старой версии образа.

«Connection timed out» и блокировки по пути

Если адрес верный, сервер жив, порт открыт, а соединение всё равно не устанавливается или устанавливается и рвётся — трафик теряется где-то между клиентом и сервером. Ошибка может выглядеть как Connection timed out, как зависание на «Connecting…» или как регулярные обрывы уже установленной связи.

Диагностика — методом исключения сетей:

  1. Подключитесь с телефона через мобильный интернет (раздайте Wi-Fi точку на компьютер или поставьте мобильный клиент TeamSpeak). Заработало — проблема в вашей домашней сети или у домашнего провайдера.
  2. Попросите участника из другого города / с другим провайдером проверить подключение. Если у него работает, а у вас нет ни из домашней сети, ни с мобильного — сужайте дальше.
  3. Трассировка покажет, где теряются пакеты: tracert IP_сервера в Windows, traceroute в Linux. Обрыв трассы после узлов провайдера — аргумент в разговоре с его поддержкой.

Российская специфика, которую нужно учитывать как факт диагностики: у части провайдеров и в части мобильных сетей UDP-трафик на нестандартных портах ограничивается или деприоритизируется, а IP-адрес сервера может попасть под блокировку — в том числе «за компанию», когда блокируется целая подсеть хостера. Симптомы: сервер идеально доступен из одних сетей и полностью недоступен из других, при этом на самом сервере всё в порядке. Если проверка из нескольких сетей указывает на такую картину, со стороны владельца сервера практический выход — перенести сервер на другой IP или к другому хостеру и проверить доступность нового адреса из проблемных сетей до переезда.

«You are banned» — бан и флуд-защита

Тексты: You are banned permanently (постоянный бан) или Connection failed, you are banned (you may retry in X seconds) (временный). Здесь сервер доступен и отвечает — он осознанно отказывает именно вам.

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

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

Что делать клиенту: выключить автопереподключение в свойствах закладки, выждать указанное в ошибке время полностью и подключиться один раз вручную. Что делать владельцу сервера: посмотреть список банов (в клиенте: Tools → Ban List) и удалить случайные записи, а если легитимные пользователи регулярно попадают под раздачу — поднять пороги флуд-защиты в настройках виртуального сервера (группа параметров Antiflood). Вносить обычных пользователей в query_ip_allowlist.txt не нужно — этот файл относится к ServerQuery, а не к голосовым подключениям.

Отдельный подвид: под флуд-бан попадает сам сервер мониторинга, бот или скрипт, часто опрашивающий ServerQuery, — и в логах растёт стена banned for flooding. Это чинится на сервере добавлением IP бота в query_ip_allowlist.txt — здесь файл уместен, потому что речь именно про query-подключения.

Проверка со стороны сервера

Раздел для владельца: как за две минуты убедиться, что сервер жив и слушает, прежде чем копать глубже.

Сервис запущен?

systemctl status ts3server

Ожидаем Active: active (running). Если сервис лежит или перезапускается по кругу — смотрите journalctl -u ts3server -n 50 --no-pager на предмет ошибок запуска.

Сервер слушает порты?

ss -lnup | grep 9987
ss -lntp | grep 30033

Первая команда должна показать процесс ts3server, слушающий 0.0.0.0:9987 (или конкретный внешний IP) по UDP. Если строки нет — сервер запущен, но порт не поднялся: чаще всего порт занят другим процессом или в ts3server.ini указан другой default_voice_port. Если вместо 0.0.0.0 там 127.0.0.1 — сервер привязан только к localhost и снаружи недоступен по определению.

Что в логах? Содержательные логи TeamSpeak пишет не в journald, а в свои файлы:

ls -lt /opt/teamspeak/teamspeak3-server_linux_amd64/logs/ | head
tail -50 "/opt/teamspeak/teamspeak3-server_linux_amd64/logs/$(ls -t /opt/teamspeak/teamspeak3-server_linux_amd64/logs/ | head -1)"

Ищите строки уровня ERROR и WARNING. Характерные находки: license / accounting — проблемы лицензии (см. раздел про лицензию выше), failed to bind — порт занят, flood / ban — сработала защита. Здоровый запуск выглядит как строка listening on 0.0.0.0:9987 без последующих ошибок.

Фаервол не съедает пакеты? sudo ufw status verbose — правило 9987/udp ALLOW IN должно присутствовать, и именно с UDP. Если фаерволов несколько (ufw плюс правила хостера в панели VDS) — проверить нужно оба уровня: панельный фаервол хостера, закрывающий UDP, снаружи неотличим от локального.

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

Как проверить доступность сервера снаружи, не имея доступа к нему самому.

Сначала важная оговорка: 9987 — это UDP, и привычные инструменты проверки портов тут не работают. telnet умеет только TCP — он покажет «connection refused» на живом UDP-порту и вообще ничего не докажет. Больше того, даже правильная UDP-проверка принципиально ненадёжна: UDP — протокол без установления соединения, и «порт открыт» в выводе утилиты означает лишь «в ответ не прилетело ICMP-отказа». Отсутствие отказа — это и «порт открыт», и «пакет молча съел фаервол». Поэтому надёжных выводов два: явный отказ = порт закрыт; клиент подключился = порт открыт. Всё между ними — «не доказано».

Linux / macOS — netcat:

nc -u -v -z 203.0.113.10 9987

Флаги: -u — UDP, -v — подробный вывод, -z — только проверка без передачи данных. Мгновенный Connection refused — на порту точно никто не слушает. Ответ open или молчание — порт, вероятно, открыт (или пакеты тихо отбрасываются — см. оговорку выше).

Windows — PowerShell. Штатный Test-NetConnection проверяет только TCP, поэтому для голосового порта он бесполезен, но им удобно проверить файловый порт 30033 — тот как раз TCP, и на типовом сервере оба порта открывают вместе:

Test-NetConnection 203.0.113.10 -Port 30033

TcpTestSucceeded : True означает, что машина доступна и фаервол сервера пропускает трафик TeamSpeak — если при этом голос не подключается, подозрение падает именно на UDP-часть (правило открыто как TCP вместо UDP или UDP режется по пути). Для честной проверки UDP в Windows проще всего поставить netcat из состава nmap (утилита ncat) и выполнить ту же команду, что для Linux.

Самая надёжная проверка — сам клиент из другой сети. Подключение с мобильного интернета или через знакомого в другом городе отвечает на главный вопрос — «сервер вообще доступен снаружи?» — лучше любой утилиты.

Подключились, но не слышно собеседника

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

  • Устройство воспроизведения в клиенте: Tools → Options → Playback — там могло остаться «устройство по умолчанию», которое после подключения наушников смотрит не туда. Выберите устройство явно и нажмите Play Test Sound.
  • Локальное заглушение: правый клик по нику собеседника — не стоит ли галочка Mute; рядом с вашим собственным ником — не активен ли значок заглушённых динамиков (клавиша-переключатель нажимается случайно).
  • Собеседник молчит для всех: у него не сработал Push-to-Talk (не нажата клавиша, сменилась раскладка, клиент без прав на перехват клавиш) или активация по голосу настроена на слишком высокий порог. Если его не слышит никто в канале — проблема на его стороне.
  • Микшер операционной системы: в Windows у каждого приложения своя громкость — TeamSpeak мог быть скручен в ноль в микшере громкости при полном общем звуке.

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


Итого, порядок диагностики: прочитать точный текст ошибки → найти строку в навигаторе в начале статьи → проверить сначала свою сторону (адрес, часы, другая сеть), затем серверную (сервис, порт, фаервол, логи). Подавляющее большинство случаев — это закрытый или открытый не тем протоколом 9987/UDP; полная карта портов с командами для всех фаерволов — в справочнике, а правильная установка сервера, при которой этих проблем не возникает, — в инструкции для Ubuntu.

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

Почему TeamSpeak пишет «Failed to connect to server»?

Это общая ошибка «сервер не ответил». Чаще всего причина — закрытый порт 9987/UDP на сервере, причём типичная ошибка настройки — порт открыт как TCP вместо UDP. Реже — сервер выключен, указан неверный адрес или порт, либо UDP-трафик блокируется по пути. Проверять нужно по цепочке — адрес, работает ли сервер, открыт ли именно UDP-порт.

Что значит «No reply from server» в TeamSpeak?

Клиент отправил пакеты на указанный адрес и порт, но не получил ни одного ответа. По официальной документации это означает одно из двух — по этому адресу и порту нет работающего сервера, либо UDP-пакеты не доходят из-за фаервола на сервере, на роутере или у провайдера. Сам клиент при этом исправен.

Как исправить «Failed to resolve hostname» в TeamSpeak?

Клиент не смог превратить введённое имя в IP-адрес. Проверьте адрес на опечатки, затем попробуйте подключиться по IP напрямую. Если по IP работает — проблема в DNS-записях домена, чаще всего в неверно оформленной или устаревшей SRV-записи, которую владельцу сервера нужно исправить или удалить.

Что делать с ошибкой «the time difference between server and client is too large»?

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

Почему пишет «server version is too old for command»?

Сервер работает на устаревшей версии (ветка 3.0.x), а современный клиент отказывается к таким подключаться. На стороне клиента это не лечится — откатывать клиент не стоит. Единственное правильное решение — владелец сервера должен обновить серверный пакет до актуальной ветки 3.13.

TeamSpeak забанил за частые переподключения — что делать?

Ошибка вида «you are banned (you may retry in X seconds)» — это флуд-защита сервера, сработавшая на серию быстрых попыток подключения. Отключите автопереподключение в закладке, подождите указанное время и попробуйте один раз. Если бан повторяется без причины, владелец сервера может снять его в списке банов и поднять пороги флуд-защиты.

Подключился к TeamSpeak, но не слышу собеседников — почему?

Это не проблема подключения — сетевой канал уже работает. Причина в настройках звука — неверное устройство воспроизведения в настройках клиента, локально заглушённый пользователь, нулевая громкость канала или спящий Push-to-Talk у собеседника. Проверьте устройство вывода в Tools → Options → Playback и значки заглушения рядом с никами.

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