TS-Server

Потерян privilege key TeamSpeak — как вернуть админку

Утратили privilege key или права Server Admin на своём сервере TeamSpeak? Восстановление через ServerQuery за пять минут и сброс пароля serveradmin.

Проверено 7 августа 2026. Синтаксис команд ServerQuery сверен с файлами serverquerydocs из дистрибутива сервера, процедура сброса пароля serveradmin — со статьёй базы знаний support.teamspeak.com, в августе 2026.

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

Сразу граница применимости: всё ниже — для владельца сервера. Если вы потеряли админку на чужом сервере, единственный путь — попросить новый ключ у владельца.

Что такое privilege key и почему он сгорает

Privilege key (токен) — строка вида AbCdEfGh1jKlMnOpQrStUvWxYz12345, которую сервер печатает в консоль при первом запуске. Кто введёт её в клиенте, тот получит группу Server Admin на этом сервере.

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

Из этой схемы следуют оба типовых сценария потери:

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

Лечатся оба сценария одинаково: нужен новый ключ. Откуда его взять — зависит от того, что у вас осталось.

Ключ есть, но не введён

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

В клиенте TeamSpeak: подключитесь к серверу, затем меню Permissions → Use Privilege Key, вставьте строку (без префикса token=, только сам ключ), OK. Клиент покажет «Privilege Key successfully used», рядом с ником появится значок группы Server Admin.

Если ключ с первого запуска нигде не записан, но сервер ставили вы сами — он остался в логах сервера. Прежде чем идти в ServerQuery, проверьте:

grep -r "token=" /opt/teamspeak/teamspeak3-server_linux_amd64/logs/

Путь подставьте свой; в инструкции по установке сервер живёт в /opt/teamspeak. Нашлась строка — вводите ключ, как описано выше. Ключ из лога сработает, только если его никто ещё не активировал.

Ключ потерян, но есть SSH: новый ключ через ServerQuery

Основной сценарий восстановления. Понадобятся SSH-доступ к серверу и пароль serveradmin — тот, что печатался при первом запуске рядом с токеном. Если нет и его, сначала сбросьте пароль (следующий раздел), потом возвращайтесь сюда.

ServerQuery — текстовый административный интерфейс сервера на порту 10011. В интернет его не открывают: протокол нешифрованный, пароль летит открытым текстом, а порт круглосуточно сканируют боты — подробности в справочнике по портам. Поэтому подключаемся через SSH-туннель — трафик идёт внутри шифрованного канала, а порт остаётся закрытым:

ssh -L 10011:127.0.0.1:10011 root@203.0.113.10

Пока эта сессия открыта, порт 10011 вашего компьютера проброшен на localhost сервера. Можно и проще — открыть ServerQuery прямо в SSH-сессии на самом сервере:

telnet 127.0.0.1 10011

Нет telnet — поставьте (sudo apt install telnet) или используйте nc 127.0.0.1 10011. Сервер ответит приветствием TS3. Дальше — четыре команды, каждая завершается Enter, на успех сервер отвечает error id=0 msg=ok.

1. Логин:

login serveradmin ВАШ_ПАРОЛЬ

2. Выбор виртуального сервера. Один физический сервер TeamSpeak может держать несколько виртуальных; команды дальше действуют на выбранный. Выбираем по голосовому порту:

use port=9987

Если ваш сервер работает на нестандартном порту, подставьте его.

3. Ищем реальный номер группы Server Admin:

servergrouplist

Сервер выведет строку со всеми группами. В свежей установке sgid группы Server Admin обычно 6, но полагаться на «обычно» нельзя — на серверах с историей номера другие. Ищите фрагмент с name=Server\sAdmin и смотрите на два поля рядом:

sgid=6 name=Server\sAdmin type=1 ...

Нужна группа с type=1 — это обычная группа вашего виртуального сервера. Рядом в списке будет почти одноимённая с type=0 — это шаблон, из которого создаются группы для новых виртуальных серверов; ключ на неё прав не даст. Группы с type=2 — служебные, для query-клиентов. Классическая ошибка этой процедуры — взять sgid шаблона вместо рабочей группы.

4. Создаём ключ (подставьте свой sgid):

privilegekeyadd tokentype=0 tokenid1=6 tokenid2=0

Разбор параметров по документации ServerQuery: tokentype=0 — ключ на серверную группу (при tokentype=1 был бы ключ на канальную группу), tokenid1 — номер группы, tokenid2 — номер канала, который нужен только канальным ключам, поэтому для серверной группы ставится 0. Ответ:

token=AbCdEfGh1jKlMnOpQrStUvWxYz123456789ABCDEF
error id=0 msg=ok

Строка после token= — ваш новый privilege key. Закройте сессию командой quit, откройте клиент TeamSpeak и активируйте ключ: Permissions → Use Privilege Key. Админка вернулась — проверьте правым кликом по серверу: пункты редактирования должны стать доступны. Что делать с правами дальше — группы, канальные админы, иерархия permissions — разобрано в статье о правах и каналах.

Утерян и пароль serveradmin: сброс перезапуском

Пароль serveradmin восстановить нельзя — сервер хранит не пароль, а его хэш. Но его можно заменить: официальная процедура TeamSpeak — один запуск сервера с параметром serveradmin_password=.

Для этого нужен доступ к машине с правами на остановку сервера. Простой составит меньше минуты. На Ubuntu из нашей инструкции последовательность такая:

sudo systemctl stop ts3server
cd /opt/teamspeak/teamspeak3-server_linux_amd64
sudo -u teamspeak ./ts3server_startscript.sh start serveradmin_password=НовыйНадёжныйПароль
sudo -u teamspeak ./ts3server_startscript.sh stop
sudo systemctl start ts3server

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

Пароль не печатайте в чаты и скрипты — положите в менеджер паролей. С новым паролем возвращайтесь к предыдущему разделу и генерируйте privilege key.

Сервер у хостера, SSH нет

Арендованный TeamSpeak-сервер — это чужая машина: ни SSH, ни доступа к файлам, ни возможности перезапустить процесс с параметром. Но и ServerQuery там доступен хостеру, поэтому всё описанное выше для вас сделает он.

Порядок действий:

  1. Панель управления хостера. У большинства TeamSpeak-хостингов генерация нового ключа встроена: ищите кнопку вида «Privilege Key», «Admin Token», «Reset Admin». Нажали — получили ключ — ввели в клиенте через Permissions → Use Privilege Key.
  2. Поддержка хостера. Кнопки нет — пишите тикет: «потерян privilege key, прошу сгенерировать новый ключ на группу Server Admin». Это штатный запрос, восстановление админки владельцу сервера — обязанность хостера.
  3. Доступ к query-аккаунту. Некоторые хостеры выдают собственный ServerQuery-логин с правами на ваш виртуальный сервер. Тогда команды use, servergrouplist и privilegekeyadd из раздела про ServerQuery выполняются под этим логином — подключение к query-порту хостер описывает в своей документации.

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

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

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

Второй администратор. Одна идентификация — одна точка отказа. Создайте ключ для второго человека: в клиенте Permissions → Privilege Keys → Create, группа Server Admin. Пока жива хотя бы одна админская идентификация, ServerQuery не понадобится вообще.

Экспорт идентификации. В клиенте Tools → Identities, выберите свою, Export — и файл в надёжное место. При переезде на новый компьютер импортируете его, и сервер узнает вас со всеми правами. Именно несохранённая идентификация — самая частая причина «пропала админка после переустановки Windows».

Пароль serveradmin — в менеджер паролей. Вместе с ним — токен и apikey из первого запуска, если они ещё не использованы. Текстовый файл на рабочем столе переустановку системы не переживёт.

Бэкап сервера. База ts3server.sqlitedb хранит и группы, и права, и идентификации пользователей — регулярный бэкап возвращает всё это даже после гибели VDS. Скрипт и расписание — в инструкции по установке.

С этим набором потеря любого одного элемента — ключа, пароля, идентификации, даже целого сервера — перестаёт быть проблемой: каждый восстанавливается из соседнего.

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

Можно ли использовать privilege key TeamSpeak второй раз?

Нет. Ключ одноразовый по замыслу — при активации он выдаёт права идентификации клиента и сразу гасится. Если ключ уже введён, а права нужны ещё кому-то, администратор создаёт новый ключ в клиенте через Permissions → Privilege Keys или командой privilegekeyadd в ServerQuery.

Как получить новый privilege key, если старый потерян?

Через ServerQuery. Подключитесь к порту 10011 на самом сервере (через SSH-туннель), выполните login serveradmin ПАРОЛЬ, затем use port=9987, найдите sgid группы Server Admin в выводе servergrouplist и создайте ключ: privilegekeyadd tokentype=0 tokenid1=SGID tokenid2=0. Сервер вернёт строку token= — это и есть новый ключ.

Что делать, если утерян и пароль serveradmin?

Пароль восстановить нельзя, но можно задать новый. Остановите сервер и запустите его один раз с параметром serveradmin_password=НовыйПароль, затем остановите и запустите как обычно. Это официальная процедура TeamSpeak, работает на Linux и Windows и не трогает базу данных.

Пропали права админа после переустановки Windows — почему?

Права в TeamSpeak привязаны не к нику, а к идентификации — криптографической паре ключей, которая хранится в профиле клиента. Переустановили систему, не экспортировав идентификацию (Tools → Identities → Export), — сервер видит вас как нового незнакомого пользователя. Права возвращаются новым privilege key, сгенерированным через ServerQuery.

Сервер арендован у хостера, SSH нет — как вернуть админку?

Ищите в панели управления хостера кнопку вида «Privilege Key», «Reset admin» или «Token» — у большинства TeamSpeak-хостеров генерация нового ключа встроена в панель. Если кнопки нет, пишите в поддержку хостера — доступ к ServerQuery есть у них. Владельцу сервера они админку восстановят, это штатный запрос.

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