В настоящее время я использую функцию ServerQuery от TeamSpeak для отображения всех каналов и подключенных пользователей через PHP на моем веб-сайте. Сейчас это выглядит так: (извинения за сырые имена пользователей / названия каналов)
Он работает для отображения каналов и имен пользователей. Однако я не хочу, чтобы это делалось.
Вместо того, чтобы показывать все подключенные каналы и имена пользователей, я предпочел бы просто получить количество пользователей, которые в настоящее время подключены, и максимальное количество пользователей, которые могут подключаться и отображать их, как показано выше. (Наряду с статусом сервера, то есть онлайн или офлайн.)
Это API, который я использую для подключения к серверу TeamSpeak через PHP.
Открыл решение самостоятельно!
Фреймворк
TeamSpeak PHP Framework .
Нам действительно нужна папка библиотек для этой ситуации, поэтому не стесняйтесь удалять папки документов и изображений.
–
PHP (спасибо SilentStorm )
<?php date_default_timezone_set("Europe/London"); require_once("libraries/TeamSpeak3/TeamSpeak3.php"); TeamSpeak3::init(); header('Content-Type: text/html; charset=utf8'); $status = "offline"; $count = 0; $max = 0; try { $ts3 = TeamSpeak3::factory("serverquery://<USER>:<PASSWORD>@<SERVER IP>:<QUERY PORT>/?server_port=<SERVER PORT>&use_offline_as_virtual=1&no_query_clients=1"); $status = $ts3->getProperty("virtualserver_status"); $count = $ts3->getProperty("virtualserver_clientsonline") - $ts3->getProperty("virtualserver_queryclientsonline"); $max = $ts3->getProperty("virtualserver_maxclients"); } catch (Exception $e) { echo '<div style="background-color:red; color:white; display:block; font-weight:bold;">QueryError: ' . $e->getCode() . ' ' . $e->getMessage() . '</div>'; } echo '<span class="ts3status">TS3 Server Status: ' . $status . '</span><br/><span class="ts3_clientcount">Clients online: ' . $count . '/' . $max . '</span>'; ?>
Настроить
– Имя пользователя ServerQuery (можно найти в TeamSpeak, Tools -> ServerQuery Login
– Пароль ServerQuery (можно найти в TeamSpeak, Tools -> ServerQuery Login
– IP-адрес сервера
– Порт ServerQuery (по умолчанию – 10011)
– Порт сервера (по умолчанию – 9987)
Сохраните файл соответствующим образом в том же каталоге, который содержит папку библиотек. Чтобы отобразить его на странице, введите код:
<?php include('path/to/file/filename.php'); ?>
в<?php include('path/to/file/filename.php'); ?>
Затем отобразится информация сервера TeamSpeak на странице! Надеюсь, я смогу помочь.