ServerPanel добавляет на ваш сервер меню с информацией для игроков, где вы можете делиться важной и полезной информацией с игроками, а также интегрировать в него свои плагины!
Возможности
Команды
Права доступа
Видео
Демонстрация
Шаблоны
Редактор
Установщик
ТЕСТОВЫЙ СЕРВЕР
Присоединяйтесь к нашему тестовому серверу, чтобы просмотреть и испытать все наши уникальные функции самостоятельно!
Скопируйте IP-адрес ниже, чтобы начать играть!
Поля обновления
ServerPanel поддерживает динамические поля обновления, которые можно использовать в ваших шаблонах для отображения информации в реальном времени. Эти поля автоматически обновляются и могут использоваться в текстовых компонентах, заголовках и других элементах интерфейса.
Информация об игроках
Информация о сервере
Характеристики игрока
Позиция игрока
Подключение игрока
Состояния игрока
Сеть и производительность
Пример использования:
Вы можете использовать эти поля в любом текстовом компоненте, например: "Добро пожаловать {player_username}! На сервере {online_players}/{max_players} игроков онлайн."
Документация API для разработчиков
ServerPanel предоставляет API для разработчиков плагинов для интеграции их плагинов в систему меню.
Обязательные методы
Пример интеграции
Часто задаваемые вопросы
В: Почему я не могу открыть меню?
О: Убедитесь, что плагин установлен и активирован на вашем сервере. Если проблема сохраняется, обратитесь к администратору сервера.
В: Как включить экспертный режим? (отключает автоматические обновления шаблона)
О: В файле данных "Template.json" включите опцию "Use an expert mod?":
P.S. "Template.json" находится в директории "oxide/data/ServerPanel" (если вы используете Oxide) или в директории "carbon/data/ServerPanel" (если вы используете Carbon)
В: Я вижу черные изображения с логотипом Rust или получаю ошибку 429 при загрузке изображений. Что делать?
О: Эти проблемы возникают при проблемах с загрузкой изображений из интернета. Чтобы исправить это, включите режим оффлайн-изображений, который будет использовать локальные изображения:
Примечание: Если вы используете хостинг-сервис, вам может потребоваться использовать их файловый менеджер или FTP для загрузки файлов.
В: ServerPanel работает только с плагинами Mevent?
О: В настоящее время ServerPanel легко интегрируется с плагинами Mevent (Shop, Kits, Daily Rewards и т.д.). Однако другие разработчики могут использовать предоставленный API для интеграции своих плагинов в систему меню. Система плагинов разработана для расширения сторонними интеграциями.
В: Почему интегрированные плагины (Shop, Kits) имеют разные размеры окон?
О: Разные плагины могут использовать разные шаблоны для интеграции. Убедитесь, что все ваши интегрированные плагины используют одну и ту же версию шаблона (V1, V2 и т.д.), которая соответствует вашему шаблону ServerPanel. Обновите шаблон в каждом плагине для обеспечения согласованности размеров.
В: Панель отображается по-разному для разных игроков. Как сделать так, чтобы она отображалась одинаково на экране каждого?
О: Эта проблема возникает, когда у игроков разные настройки масштаба UI. Чтобы исправить это и обеспечить согласованное отображение для всех игроков:
В: Как изменить видео, отображаемое в интерфейсе ServerPanel, на свое собственное?
О: Да, вы можете заменить видео по умолчанию на свое собственное! Вам нужно найти и изменить команду:
Замените [url_вашего_видео] на прямую ссылку на ваше видео. Для лучшей совместимости мы рекомендуем размещать ваше видео на imgur.com.
В: Мои пользовательские изображения не загружаются или отображаются как пустые/знаки вопроса. Какой хостинг изображений использовать?
О: Для пользовательских изображений мы рекомендуем использовать imgbb.com для хостинга изображений. Избегайте Imgur и сервисов без прямого доступа к изображению. Для наиболее надежной работы используйте режим оффлайн-изображений с локальными изображениями.
В: Как сделать так, чтобы UI плагинов открывались вне меню ServerPanel, а не внутри категорий?
О: Вы можете настроить кнопки для выполнения чат-команд, которые открывают UI плагинов независимо. Для этого:
Пример: Чтобы открыть плагин Cases вне меню:
Это выполнит команду так, как если бы игрок ввел ее в чате, открывая интерфейс плагина независимо, а не внутри меню ServerPanel.

- Удобный интерфейс: Интуитивно понятный графический интерфейс для легкой навигации и взаимодействия.
- Интеграция с экономикой: Поддержка различных экономических плагинов для бесшовного управления финансами.
- Динамические категории меню: Организуйте функционал в настраиваемые категории для лучшего пользовательского опыта.
- Обширные возможности настройки: Почти каждый аспект плагина может быть настроен, включая сообщения, цвета, размеры, шрифты и т.д.
- Автоматическое открытие меню: Автоматически отображает меню при подключении игрока, настраивается в параметрах сервера.
- Настройки блокировки: Контролируйте доступ к меню во время строительства, рейда или боевых ситуаций для улучшения игрового баланса.
- Множество экономических полей в шапке: Отображение различных экономических показателей, таких как баланс, серверные награды и информация о банке.
- Управление правами: Тонкая настройка прав для различных ролей пользователей для контроля доступа к функциям.
- Поддержка локализации: Легко переводите и настраивайте все сообщения для разных языков.
- Оптимизация производительности: Разработан для минимизации лагов сервера при обеспечении богатого функционала.
- Настраиваемые хуки: Интеграция с существующими экономическими системами с использованием настраиваемых хуков для добавления, удаления и отображения балансов.
- Изменение позиции редактора: Администраторы теперь могут изменять позицию редактора простым кликом, выбирая между левым, центральным или правым выравниванием.
- Улучшения команд: Команды теперь обрабатываются с несколькими аргументами, разделенными символом "|", что позволяет массовую обработку команд.

- /info – открыть меню
- /sp.install (или) /welcome.install – открыть меню установщика
- sp.migrations– консольная команда для обновления структуры данных плагина при обновлении до новых версий. Автоматически создает резервные копии перед внесением изменений.
- sp.migrations list – показывает доступные миграции и требуется ли их выполнение
- sp.migrations run <версия> – выполняет конкретную миграцию (например, "1.3.0")
- sp.migrations run <версия> force – принудительно выполняет миграцию, даже если она не определена как необходимая

- serverpanel.edit – позволяет игрокам редактировать настройки плагина и открывать меню редактирования
- serverpanelinstaller.admin – требуется для доступа к функциям установки плагина


Шаблоны
- Шаблон V1

- Шаблон V2

- Шаблон V3

- Шаблон V5

Редактор

Установщик


Присоединяйтесь к нашему тестовому серверу, чтобы просмотреть и испытать все наши уникальные функции самостоятельно!
Скопируйте IP-адрес ниже, чтобы начать играть!
Код:
connect 194.147.90.239:28015

ServerPanel поддерживает динамические поля обновления, которые можно использовать в ваших шаблонах для отображения информации в реальном времени. Эти поля автоматически обновляются и могут использоваться в текстовых компонентах, заголовках и других элементах интерфейса.
Информация об игроках
- {online_players} – Количество игроков в сети
- {sleeping_players} – Количество спящих игроков
- {all_players} – Общее количество игроков (в сети + спящие)
- {max_players} – Максимальная вместимость сервера
- {player_kills} – Количество убийств игрока (требуется KillRecords, Statistics или UltimateLeaderboard)
- {player_deaths} – Количество смертей игрока (требуется KillRecords, Statistics или UltimateLeaderboard)
- {player_username} – Отображаемое имя игрока
- {player_avatar} – Steam ID игрока для отображения аватара
Информация о сервере
- {server_name} – Имя сервера
- {server_description} – Описание сервера
- {server_url} – URL веб-сайта сервера
- {server_headerimage} – URL изображения заголовка сервера
- {server_fps} – Текущий FPS сервера
- {server_entities} – Количество сущностей на сервере
- {seed} – Сид мира
- {worldsize} – Размер мира
- {ip} – IP-адрес сервера
- {port} – Порт сервера
- {server_time} – Текущее время сервера (ГГГГ-ММ-ДД ЧЧ:ММ:СС)
- {tod_time} – Время суток (24-часовой формат)
- {realtime} – Время работы сервера в секундах
- {map_size} – Размер карты в метрах
- {map_url} – URL пользовательской карты
- {save_interval} – Интервал автосохранения
- {pve} – Статус режима PvE (true/false)
Характеристики игрока
- {player_health} – Текущее здоровье
- {player_maxhealth} – Максимальное здоровье
- {player_calories} – Уровень калорий
- {player_hydration} – Уровень гидратации
- {player_radiation} – Уровень радиационного отравления
- {player_comfort} – Уровень комфорта
- {player_bleeding} – Степень кровотечения
- {player_temperature} – Температура тела
- {player_wetness} – Уровень влажности
- {player_oxygen} – Уровень кислорода
- {player_poison} – Уровень отравления
- {player_heartrate} – Частота сердцебиения
Позиция игрока
- {player_position_x} – Координата X
- {player_position_y} – Координата Y (высота)
- {player_position_z} – Координата Z
- {player_rotation} – Поворот игрока (градусы)
Подключение игрока
- {player_ping} – Время подключения в секундах
- {player_ip} – IP-адрес игрока
- {player_auth_level} – Уровень авторизации (0=Игрок, 1=Модератор, 2=Админ)
- {player_steam_id} – Steam ID
- {player_connected_time} – Время начала подключения
- {player_idle_time} – Время простоя (ЧЧ:ММ:СС)
Состояния игрока
- {player_sleeping} – Спит (true/false)
- {player_wounded} – Ранен (true/false)
- {player_dead} – Мертв (true/false)
- {player_building_blocked} – Блокировка строительства (true/false)
- {player_safe_zone} – В безопасной зоне (true/false)
- {player_swimming} – Плавает (true/false)
- {player_on_ground} – На земле (true/false)
- {player_flying} – Летает (true/false)
- {player_admin} – Администратор (true/false)
- {player_developer} – Разработчик (true/false)
Сеть и производительность
- {network_in} – Входящий трафик (в данный момент показывает 0)
- {network_out} – Исходящий трафик (в данный момент показывает 0)
- {fps} – FPS сервера
- {memory} – Выделение памяти
- {collections} – Количество сборок мусора
Пример использования:
Вы можете использовать эти поля в любом текстовом компоненте, например: "Добро пожаловать {player_username}! На сервере {online_players}/{max_players} игроков онлайн."

ServerPanel предоставляет API для разработчиков плагинов для интеграции их плагинов в систему меню.
Обязательные методы
- API_OpenPlugin(BasePlayer player) - Основной метод интеграции, который возвращает CuiElementContainer
- OnServerPanelClosed(BasePlayer player) - Вызывается при закрытии панели (очистка)
- OnServerPanelCategoryPage(BasePlayer player, int category, int page) - Вызывается при изменении категории (очистка)
- OnReceiveCategoryInfo(int categoryID) - Получает ID вашей категории
Пример интеграции
C#:
[PluginReference]
private Plugin ServerPanel;
private int _serverPanelCategoryID = -1;
private void OnServerInitialized()
{
ServerPanel?.Call("API_OnServerPanelProcessCategory", Name);
}
private void OnReceiveCategoryInfo(int categoryID)
{
_serverPanelCategoryID = categoryID;
}
private void OnServerPanelCategoryPage(BasePlayer player, int category, int page)
{
// Очистка при переключении категорий игроком
}
private CuiElementContainer API_OpenPlugin(BasePlayer player)
{
var container = new CuiElementContainer();
// Создание базовых панелей (обязательная структура)
container.Add(new CuiPanel()
{
RectTransform = {AnchorMin = "0 0", AnchorMax = "1 1"},
Image = {Color = "0 0 0 0"}
}, "UI.Server.Panel.Content", "UI.Server.Panel.Content.Plugin", "UI.Server.Panel.Content.Plugin");
container.Add(new CuiPanel()
{
RectTransform = {AnchorMin = "0 0", AnchorMax = "1 1"},
Image = {Color = "0 0 0 0"}
}, "UI.Server.Panel.Content.Plugin", "YourPlugin.Background", "YourPlugin.Background");
// Добавьте сюда элементы UI вашего плагина
container.Add(new CuiLabel
{
RectTransform = {AnchorMin = "0.1 0.8", AnchorMax = "0.9 0.9"},
Text = {Text = "Интерфейс вашего плагина", FontSize = 16, Align = TextAnchor.MiddleCenter, Color = "1 1 1 1"}
}, "YourPlugin.Background", "YourPlugin.Title");
// Добавляйте кнопки, панели и т.д., используя "YourPlugin.Background" в качестве родителя
return container;
}
private void OnServerPanelClosed(BasePlayer player)
{
// Очистка при закрытии панели
}

В: Почему я не могу открыть меню?
О: Убедитесь, что плагин установлен и активирован на вашем сервере. Если проблема сохраняется, обратитесь к администратору сервера.
В: Как включить экспертный режим? (отключает автоматические обновления шаблона)
О: В файле данных "Template.json" включите опцию "Use an expert mod?":
Код:
"Use an expert mod?": true,
P.S. "Template.json" находится в директории "oxide/data/ServerPanel" (если вы используете Oxide) или в директории "carbon/data/ServerPanel" (если вы используете Carbon)
В: Я вижу черные изображения с логотипом Rust или получаю ошибку 429 при загрузке изображений. Что делать?
О: Эти проблемы возникают при проблемах с загрузкой изображений из интернета. Чтобы исправить это, включите режим оффлайн-изображений, который будет использовать локальные изображения:
- Включите режим в конфиге:
- Откройте "oxide/config/ServerPanel.json" (или "carbon/config/ServerPanel.json" для Carbon)
- Установите "Enable Offline Image Mode": true
- Настройте изображения:
- Создайте папку "TheMevent" в "oxide/data" (или "carbon/data" для Carbon)
- Скачайте PluginsStorage (нажмите "CODE" → "Download ZIP")
- Распакуйте ZIP и скопируйте все содержимое в папку "TheMevent"
- Перезагрузите плагин:
- Введите o.reload ServerPanel (Oxide) или c.reload ServerPanel (Carbon)
Примечание: Если вы используете хостинг-сервис, вам может потребоваться использовать их файловый менеджер или FTP для загрузки файлов.
В: ServerPanel работает только с плагинами Mevent?
О: В настоящее время ServerPanel легко интегрируется с плагинами Mevent (Shop, Kits, Daily Rewards и т.д.). Однако другие разработчики могут использовать предоставленный API для интеграции своих плагинов в систему меню. Система плагинов разработана для расширения сторонними интеграциями.
В: Почему интегрированные плагины (Shop, Kits) имеют разные размеры окон?
О: Разные плагины могут использовать разные шаблоны для интеграции. Убедитесь, что все ваши интегрированные плагины используют одну и ту же версию шаблона (V1, V2 и т.д.), которая соответствует вашему шаблону ServerPanel. Обновите шаблон в каждом плагине для обеспечения согласованности размеров.
В: Панель отображается по-разному для разных игроков. Как сделать так, чтобы она отображалась одинаково на экране каждого?
О: Эта проблема возникает, когда у игроков разные настройки масштаба UI. Чтобы исправить это и обеспечить согласованное отображение для всех игроков:
- Откройте файл "Template.json", расположенный в "oxide/data/ServerPanel" (или "carbon/data/ServerPanel" для Carbon)
- Найдите настройку "Parent (Overlay/Hud)" в секции "Background"
- Измените значение с "Overlay" на "OverlayNonScaled"
- Сохраните файл и перезапустите сервер или перезагрузите плагин
В: Как изменить видео, отображаемое в интерфейсе ServerPanel, на свое собственное?
О: Да, вы можете заменить видео по умолчанию на свое собственное! Вам нужно найти и изменить команду:
Код:
serverpanel_broadcastvideo [url_вашего_видео]
Замените [url_вашего_видео] на прямую ссылку на ваше видео. Для лучшей совместимости мы рекомендуем размещать ваше видео на imgur.com.
В: Мои пользовательские изображения не загружаются или отображаются как пустые/знаки вопроса. Какой хостинг изображений использовать?
О: Для пользовательских изображений мы рекомендуем использовать imgbb.com для хостинга изображений. Избегайте Imgur и сервисов без прямого доступа к изображению. Для наиболее надежной работы используйте режим оффлайн-изображений с локальными изображениями.
В: Как сделать так, чтобы UI плагинов открывались вне меню ServerPanel, а не внутри категорий?
О: Вы можете настроить кнопки для выполнения чат-команд, которые открывают UI плагинов независимо. Для этого:
- В конфигурации вашей кнопки установите "Chat Button": true
- Установите поле "Commands" в "chat.say /команда" (замените "команда" на фактическую команду плагина)
Пример: Чтобы открыть плагин Cases вне меню:
Код:
"Chat Button": true
"Commands": "chat.say /cases"
Это выполнит команду так, как если бы игрок ввел ее в чате, открывая интерфейс плагина независимо, а не внутри меню ServerPanel.