Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
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

AbXbrDm.gif


  • Шаблон V2

rVPO2nh.gif


  • Шаблон V3

QW9J6l5.gif


  • Шаблон V5

tYyyvlp.gif


Редактор

zOeF7iZ.gif


Установщик

yHJZatH.gif


🧪 ТЕСТОВЫЙ СЕРВЕР

Присоединяйтесь к нашему тестовому серверу, чтобы просмотреть и испытать все наши уникальные функции самостоятельно!
Скопируйте 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} игроков онлайн."

🔧 Документация API для разработчиков

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 при загрузке изображений. Что делать?
О: Эти проблемы возникают при проблемах с загрузкой изображений из интернета. Чтобы исправить это, включите режим оффлайн-изображений, который будет использовать локальные изображения:

  1. Включите режим в конфиге:
    • Откройте "oxide/config/ServerPanel.json" (или "carbon/config/ServerPanel.json" для Carbon)
    • Установите "Enable Offline Image Mode": true
  2. Настройте изображения:
    • Создайте папку "TheMevent" в "oxide/data" (или "carbon/data" для Carbon)
    • Скачайте PluginsStorage (нажмите "CODE" → "Download ZIP")
    • Распакуйте ZIP и скопируйте все содержимое в папку "TheMevent"
  3. Перезагрузите плагин:
    • Введите o.reload ServerPanel (Oxide) или c.reload ServerPanel (Carbon)

Примечание: Если вы используете хостинг-сервис, вам может потребоваться использовать их файловый менеджер или FTP для загрузки файлов.

В: ServerPanel работает только с плагинами Mevent?
О: В настоящее время ServerPanel легко интегрируется с плагинами Mevent (Shop, Kits, Daily Rewards и т.д.). Однако другие разработчики могут использовать предоставленный API для интеграции своих плагинов в систему меню. Система плагинов разработана для расширения сторонними интеграциями.

В: Почему интегрированные плагины (Shop, Kits) имеют разные размеры окон?
О: Разные плагины могут использовать разные шаблоны для интеграции. Убедитесь, что все ваши интегрированные плагины используют одну и ту же версию шаблона (V1, V2 и т.д.), которая соответствует вашему шаблону ServerPanel. Обновите шаблон в каждом плагине для обеспечения согласованности размеров.

В: Панель отображается по-разному для разных игроков. Как сделать так, чтобы она отображалась одинаково на экране каждого?
О: Эта проблема возникает, когда у игроков разные настройки масштаба UI. Чтобы исправить это и обеспечить согласованное отображение для всех игроков:

  1. Откройте файл "Template.json", расположенный в "oxide/data/ServerPanel" (или "carbon/data/ServerPanel" для Carbon)
  2. Найдите настройку "Parent (Overlay/Hud)" в секции "Background"
  3. Измените значение с "Overlay" на "OverlayNonScaled"
  4. Сохраните файл и перезапустите сервер или перезагрузите плагин

В: Как изменить видео, отображаемое в интерфейсе ServerPanel, на свое собственное?
О: Да, вы можете заменить видео по умолчанию на свое собственное! Вам нужно найти и изменить команду:

Код:
serverpanel_broadcastvideo [url_вашего_видео]

Замените [url_вашего_видео] на прямую ссылку на ваше видео. Для лучшей совместимости мы рекомендуем размещать ваше видео на imgur.com.

В: Мои пользовательские изображения не загружаются или отображаются как пустые/знаки вопроса. Какой хостинг изображений использовать?
О: Для пользовательских изображений мы рекомендуем использовать imgbb.com для хостинга изображений. Избегайте Imgur и сервисов без прямого доступа к изображению. Для наиболее надежной работы используйте режим оффлайн-изображений с локальными изображениями.

В: Как сделать так, чтобы UI плагинов открывались вне меню ServerPanel, а не внутри категорий?
О: Вы можете настроить кнопки для выполнения чат-команд, которые открывают UI плагинов независимо. Для этого:

  1. В конфигурации вашей кнопки установите "Chat Button": true
  2. Установите поле "Commands" в "chat.say /команда" (замените "команда" на фактическую команду плагина)

Пример: Чтобы открыть плагин Cases вне меню:

Код:
  "Chat Button": true
  "Commands": "chat.say /cases"

Это выполнит команду так, как если бы игрок ввел ее в чате, открывая интерфейс плагина независимо, а не внутри меню ServerPanel.
Автор
Mevent
Срок действия
Безлимитный
Цена
2400.00 RUB
Просмотры
20
Первый выпуск
Обновление

Рейтинги

0,00 звёзд Оценок: 0

Ещё ресурсы от Mevent

Назад
Верх