- Поддерживаемые игры
-
- Team Fortress 2
Pterodactyl WorldText Stats
Плагин выводит в игре статистику сервера из Pterodactyl через point_worldtext.
Плагин опрашивает Client API Pterodactyl для одного выбранного сервера и показывает:
Для URL панели и API-ключа используется отдельный конфиг, а для позиции, внешнего вида и ID сервера используются ConVar-переменные.
Возможности
Важно про частоту обновления
Pterodactyl Panel кеширует ответ /api/client/servers/{id}/resources примерно на 20 секунд, поэтому через Client API нельзя получить реально живые обновления каждую секунду.
Из-за этого плагин делает новый API-запрос раз в 20 секунд, а таймер на экране обновляет раз в 0.1 секунды.
Конфиг API
Как получить API-ключ Pterodactyl
Плагин использует именно Client API key, а не Application API key.
Если для ключа включены ограничения по IP, убедитесь, что IP источника запросов разрешён.
Идентификатор сервера
В sm_ptero_stats_server_id нужно указывать идентификатор сервера, который используется в Client API маршруте.
Пример:
Здесь идентификатор сервера:
Что отображается
Логика цветов
Пример конфига
Примечания
Написано при помощи AI
Плагин выводит в игре статистику сервера из Pterodactyl через point_worldtext.
Плагин опрашивает Client API Pterodactyl для одного выбранного сервера и показывает:
- Uptime
- CPU Load
- Memory
- Network Inbound
- Network Outbound
- Next Request timer
Для URL панели и API-ключа используется отдельный конфиг, а для позиции, внешнего вида и ID сервера используются ConVar-переменные.
Возможности
- Фиксированный world text в заданных координатах
- Подписи и значения разделены на отдельные сущности, поэтому значения могут иметь свой цвет
- CPU и memory окрашиваются по уровню нагрузки
- Сеть выводится в KB/s
- Есть таймер до следующего API-запроса
- Есть debug ConVar
Важно про частоту обновления
Pterodactyl Panel кеширует ответ /api/client/servers/{id}/resources примерно на 20 секунд, поэтому через Client API нельзя получить реально живые обновления каждую секунду.
Из-за этого плагин делает новый API-запрос раз в 20 секунд, а таймер на экране обновляет раз в 0.1 секунды.
Конфиг API
C-подобный:
"PterodactylWorldTextStats"
{
"base_url" "https://panel.example.com"
"api_key" "ptlc_xxxxxxxxxxxxxxxxxxxxx"
}
Как получить API-ключ Pterodactyl
Плагин использует именно Client API key, а не Application API key.
- Зайдите в свою панель Pterodactyl
- Откройте страницу аккаунта
- Перейдите в раздел API Credentials (https://panel.domen.ru/account/api)
- Создайте новый Client API Key
- Скопируйте выданный ключ, который начинается с ptlc_
- Вставьте его в:
C-подобный:addons/sourcemod/configs/pterodactyl_worldtext_stats.cfg
Если для ключа включены ограничения по IP, убедитесь, что IP источника запросов разрешён.
Идентификатор сервера
В sm_ptero_stats_server_id нужно указывать идентификатор сервера, который используется в Client API маршруте.
Пример:
C-подобный:
/api/client/servers/21a10f59/resources
Здесь идентификатор сервера:
C-подобный:
21a10f59
Что отображается
- Заголовок: Server Statistics
- Uptime
- CPU Load
- Memory
- Network Inbound
- Network Outbound
- Next Request
Логика цветов
- Uptime: всегда зелёный
- CPU: зелёный до 30%, жёлтый до 60%, красный выше 60%
- Memory: зелёный до 800 MB, жёлтый до 1500 MB, красный выше 1500 MB
Пример конфига
C-подобный:
sm_ptero_stats_server_id "21a10f59"
sm_ptero_stats_x "-5429.968750"
sm_ptero_stats_y "-7920.013672"
sm_ptero_stats_z "129.031311"
sm_ptero_stats_pitch "0.0"
sm_ptero_stats_yaw "90.0"
sm_ptero_stats_roll "90.0"
sm_ptero_stats_font "8"
sm_ptero_stats_textsize "8"
sm_ptero_stats_orientation "0"
sm_ptero_stats_color "255 255 255 255"
sm_ptero_stats_targetname "ptero_stats_worldtext"
sm_ptero_stats_debug "0"
sm_ptero_stats_line_spacing "8.0"
Примечания
- Не храните API-ключ в ConVar-переменных
- Храните ключ только в addons/sourcemod/configs/pterodactyl_worldtext_stats.cfg
- Один экземпляр плагина отслеживает один сервер Pterodactyl
Написано при помощи AI
- Требования
-
SourceMod 1.11+
SteamWorks extension
- Переменные
-
C-подобный:
sm_ptero_stats_server_id "" sm_ptero_stats_x "0.0" sm_ptero_stats_y "0.0" sm_ptero_stats_z "0.0" sm_ptero_stats_pitch "0.0" sm_ptero_stats_yaw "90.0" sm_ptero_stats_roll "90.0" sm_ptero_stats_font "8" sm_ptero_stats_textsize "8" sm_ptero_stats_orientation "0" sm_ptero_stats_color "255 255 255 255" sm_ptero_stats_targetname "ptero_stats_worldtext" sm_ptero_stats_debug "0" sm_ptero_stats_line_spacing "8.0"
Описание ConVar-переменных
- sm_ptero_stats_server_id - идентификатор сервера в Pterodactyl
- sm_ptero_stats_x - координата X
- sm_ptero_stats_y - координата Y
- sm_ptero_stats_z - координата Z
- sm_ptero_stats_pitch - угол pitch
- sm_ptero_stats_yaw - угол yaw
- sm_ptero_stats_roll - угол roll
- sm_ptero_stats_font - индекс шрифта point_worldtext
- sm_ptero_stats_textsize - размер текста
- sm_ptero_stats_orientation - режим ориентации point_worldtext
- sm_ptero_stats_color - основной RGBA-цвет для подписей и значений без отдельной окраски
- sm_ptero_stats_targetname - базовый targetname сущностей
- sm_ptero_stats_debug - включение debug-логов
- sm_ptero_stats_line_spacing - вертикальный отступ между строками
- Установка
-
Установка
- Положите скомпилированный плагин в addons/sourcemod/plugins/
- Создайте конфиг API:
C-подобный:addons/sourcemod/configs/pterodactyl_worldtext_stats.cfg - Укажите там URL панели и API-ключ
- Загрузите плагин или смените карту
- Настройте ConVar-переменные в:
C-подобный:cfg/sourcemod/pterodactyl_worldtext_stats.cfg