Подключение через ServerQuery
Интерфейс ServerQuery предоставляет возможность расширенного управления сервером, автоматизации сбора информации и различных действий.
Например, можно подключить через него скрипт, который будет автоматически проверять время неактивности пользователей, и перетаскивать неактивных в AFK комнату.
Как правило, непосредственный доступ через командную строку мало мало кем используется, поскольку существуют более удобные программы с визуальным интерфейсом. Например, YaTQa.
Наша веб панель управления тоже работает через ServerQuery.
На разных языках программирования написаны вспомогательные библиотеки-обертки, упрощающие взаимодействие с сервером ServerQuery:
- node-teamspeak (javascript)
- ts3admin.class (PHP)
- go-ts3 (Go)
- TeamSpeakQuery (C#)
Ниже рассматривается прямое подключение через текстовый терминал.
Данные для доступа
1. Через Teamspeak клиент в меню Инструменты > Вход ServerQuery введите имя логина, с ним на сервере будет создан аккаунт и отобразится сгенерированный пароль:
В нашей веб панели управления идентификатор любого пользователя можно удалить в разделе Управление > Clients.
По-умолчанию возможность создания ServerQuery аккаунта есть только у группы Server Admin.
2. Вам понадобится прямой IP адрес и порт сервера. Узнать их можно на https://tools.cleanvoice.ru/ts3status
Обратите внимание, что часто IP и порт отличаются от тех, через которые вы подключаетесь на TS сервер.
3. Query порт по-умолчанию 10011
Подключение
Соединиться к ServerQuery серверу можно через любой Telnet клиент. В последних версиях Windows такой клиент не установлен, но его можно добавить через "Программы и Компоненты", и затем использовать через командную строку следующим образом: telnet адрес порт
Либо можно соединиться через утилиту Putty.
В окне соединения заполните IP адрес сервера и порт ServerQuery, полученные на предыдущих шагах, а так же переключите тип соединения на Telnet:
После нажатия "Open" при успешном соединении появится приветственное сообщение сервера:
Авторизация
Теперь можно войти под логином и паролем, полученными выше через TS клиент, командой:login аккаунт пароль
Если они правильные, то появится сообщение о выполнении команды. Такое же сообщение выводится при успешном выполнении любой команды:
error id=0 msg=ok
Теперь необходимо выбрать ваш виртуальный сервер. Это можно сделать по порту TS сервера, который вы получили выше вместе с IP адресом:
use port=9987
Либо по ID сервера, который нужно узнать у хостинга:
use sid=123
Как правило, работает первый вариант, но если на хостинге несколько виртуальных серверов с одним и тем же портом (один активен, другие остановлены), то вход не удастся и необходимо использовать второй способ.
После успешного выбора сервера можно выполнять различные манипуляции с сервером. Например, serverinfo выводит основные параметры виртуального сервера.
Для получения полного списка доступных команд введите help.
Тем не менее, злоумышленник, пока у него есть права админа, может заранее войти на сервер с новым идентификатором, установить на него скрытые привилегии и через него же создать ServerQuery. По этой причине не рекомендуется никому выдавать группу Server Admin.
Чтобы не было банов настройте скрипт на более редкое выполнение команд. Если это невозможно, то обратитесь в техподдержку хостинга для добавления IP в белый список.