{% extends "base.html" %} {% block content %} {% if not logged_in %}

Вход в панель управления

{% else %}

Обзор

Ясная погода + день, зафиксировано на 20 минут. В игре то же самое делает /svetlo

☀ Светло и ясно: осталось ~{{ light_clear_left }} мин

Нагрузка и ресурсы

(?)

Нагрузка CPU

Общий: {{ cpu_overall }}%

Сервер: {{ cpu_container }}%

Температура CPU

{% if cpu_temp is not none %}{{ cpu_temp }}°C{% else %}н/д{% endif %}

{% for seg in ram_donut.segments %} {% if seg.pct > 0 %} {% endif %} {% endfor %} {{ "%.0f"|format(ram_donut.total) }} MB всего
Сервер (java RSS): {{ "%.2f"|format(ram_donut.container) }} MB ({{ "%.1f"|format(ram_donut.container_pct) }}%)
Другое: {{ "%.2f"|format(ram_donut.other) }} MB ({{ "%.1f"|format(ram_donut.other_pct) }}%)
Свободно: {{ "%.2f"|format(ram_donut.free) }} MB ({{ "%.1f"|format(ram_donut.free_pct) }}%)
Лимит Java (MEMORY): {{ container_heap }} MB · лимит контейнера: {{ container_mem_limit }}

Управление контейнером Minecraft

Статус

{{ status_ru }}

Игроков онлайн

{{ online_count }}

Время (?)

{{ time }}

{% if time_ticks is not none %}

{{ time_ticks }} тиков

{% endif %}

Погода (?)

{% if weather_raw == 'clear' %}☀️{% elif weather_raw == 'rain' %}🌧️{% elif weather_raw == 'thunder' %}⛈️{% else %}❓{% endif %}

{{ weather }}

{%- if weather_remaining is not none %}Осталось: {{ weather_remaining }} с{% elif weather_manual %}До отмены{% else %}Автоматический режим{% endif -%}

Сложность

{{ difficulty }}

Режим игры

{{ gamemode }}

TPS (?)

{% for label, val in tps_values %}

{{ label }}: {{ val }}

{% else %}

н/д

{% endfor %}

Карта мира

(?)
{% if status == 'running' %} Открыть карту {% else %}

Недоступна

{% endif %}

Игроки онлайн

{% for p in online_players %}
{{ p.display }} {% if p.mode_ru is defined %} {{ p.mode_ru }} {% endif %} {% if p.world is defined %} {{ p.world }} {% endif %}
{% if p.health is defined %}{{ p.health }}{% else %}?{% endif %}
{% if p.damage is defined %}{{ p.damage }}{% else %}?{% endif %}
{% if p.food is defined %}{{ p.food }}{% else %}?{% endif %}
Уровень: {% if p.level is defined %}{{ p.level }}{% else %}?{% endif %}
Режим
Телепорт
{% endfor %}

Никого нет онлайн

Последние логи

{{ logs }}

Игроки

Белый список

{% for p in all_players %} {% endfor %}
Имя (псевдоним) Онлайн OP Бан Белый список Действия
{{ p.display }}
{% if p.online %}да{% else %}нет{% endif %} {% if p.op %}да{% else %}нет{% endif %} {% if p.banned %}да{% else %}нет{% endif %} {% if p.whitelisted %}да{% else %}нет{% endif %}

Настройки игры

Сложность

(?)

Глобальная сложность мира (урон от мобов, голод и т.д.). Сохраняется в docker-compose.yml.

Режим по умолчанию

(?)

Режим для новых игроков и после смерти. Чтобы переключить всех текущих — включите FORCE_GAMEMODE.

Установить время

(?)

Текущее время мира. Можно day (1000), night (13000), noon (6000) или число тиков.

Погода

(?)

Принудительно установить погоду. Длительность в секундах: 60 = 1 минута, 300 = 5 минут. Пусто — пока не отменят.

{% if weather_manual %}
{% endif %}

Самостоятельная смена режима

(?)

Игроки смогут сами переключать свой режим: /gamemode creative, короткие /gmc /gms /gma /gmsp. Чужой режим менять нельзя.

Сейчас: {% if gamemode_self %}включено — все игроки {% else %}выключено — только операторы{% endif %}

{% if gamemode_self %} {% else %} {% endif %}

Приветственное сообщение

(?)

Это сообщение видит каждый игрок при входе на сервер. Цвета: &6 золотой, &c красный, &b бирюзовый, &l жирный. Плейсхолдеры: {PLAYER} {ONLINE} {WORLDTIME12}

{% if motd_preview %}

Как выглядит в игре:

{{ motd_preview }}
{% endif %}

Gamerules

(?)

Глобальные игровые правила. Каждое применяется сразу, смена страницы не нужна.

{% set gamerule_help = { 'keepInventory': 'keepInventory: true — вещи и уровень сохраняются после смерти; false — теряются.', 'doDaylightCycle': 'doDaylightCycle: true — день/ночь идут; false — время заморожено.', 'doMobSpawning': 'doMobSpawning: true — мобы продолжают спавниться; false — спавн запрещён.', 'doEntityDrops': 'doEntityDrops: true — мобы и блоки роняют лут; false — лута нет.', 'doImmediateRespawn': 'doImmediateRespawn: true — игроки воскрешаются сразу, без экрана смерти; false — обычное воскрешение.', 'doFireTick': 'doFireTick: true — огонь распространяется и гаснет; false — огонь вечный и не тушится.', 'doWeatherCycle': 'doWeatherCycle: true — погода меняется случайно; false — погода застывает в текущем состоянии.', 'reducedDebugInfo': 'reducedDebugInfo: true — у Java-игроков скрыты координаты в F3; false — F3 показывает всё. Бедрок: отдельный параметр.' } %}
{% for rule in gamerules %}
(?)
{% endfor %}

Режим игры игрока

(?)

Кликните режим для нужного игрока — изменение применится сразу.

{% for p in all_players %}
{{ p.display or p.name }}
{% else %}

Нет игроков в белом списке/в кэше.

{% endfor %}

Конфигурация сервера

Внимание: сохранение приведет к перезапуску контейнера Minecraft. Изменения вступят в силу после пересоздания.
{% set config_help = { 'MAX_PLAYERS': 'MAX_PLAYERS: максимальное количество игроков онлайн одновременно. Значение: число от 1 до (ресурсы сервера).', 'MODE': 'MODE: режим по умолчанию для новых игроков и возрождений. Значения: survival | creative | adventure | spectator.', 'DIFFICULTY': 'DIFFICULTY: глобальная сложность. Значения: peaceful (нет враждебных мобов), easy, normal, hard.', 'VIEW_DISTANCE': 'VIEW_DISTANCE: дальность прорисовки чанков. Значения: 6-32 (чаще 10-16). Чем больше, тем выше нагрузка на CPU/RAM.', 'SIMULATION_DISTANCE': 'SIMULATION_DISTANCE: дистанция в чанках для обработки мобов и тиковых событий. Значения: 4-12. Меньше — меньше нагрузки, но мобы «замирают» дальше.', 'SEED': 'SEED: сид генерации мира. Работает только при первом создании. Чтобы сменить — остановите сервер и удалите data/world.', 'ONLINE_MODE': 'ONLINE_MODE: проверка лицензии Mojang/Microsoft. Значения: true (только лицензия) или false (пиратка, Geyser, локальные).', 'SPAWN_PROTECTION': 'SPAWN_PROTECTION: радиус защиты спавна в блоках, внутри которого не-OP не могут ломать/строить. 0 — выключить.', 'MOTD': 'MOTD: название сервера в списке серверов. Поддерживаются стандартные Minecraft-коды цвета и форматирования (0-9, a-f, k-o, r).', 'MEMORY': 'MEMORY: куча Java (heap). Формат: цифра + G/M. Допустимо 1G–3G: хост 8 ГБ делится с Jellyfin/HA/SprutHub. Лимит контейнера ставится автоматически = MEMORY + 2G. Перезапуск сервера обязателен.', 'FORCE_GAMEMODE': 'FORCE_GAMEMODE: при входе игрока принудительно переключать в MODE. Значения: true | false.', 'PVP': 'PVP: разрешить PvP между игроками. Значения: true | false.' } %}
{% for field in ['MAX_PLAYERS','MODE','DIFFICULTY','VIEW_DISTANCE','SIMULATION_DISTANCE','SEED','ONLINE_MODE','SPAWN_PROTECTION','MOTD','MEMORY','FORCE_GAMEMODE','PVP'] %}
(?)
{% endfor %}

Консоль

История команд: ↑ ↓ в поле

Быстрые команды

Примеры RCON-команд

/op <ник>
/deop <ник>
/ban <ник>
/pardon <ник>
/kick <ник> [причина]
/whitelist add <ник>
/whitelist remove <ник>
/gamemode <creative|survival> <ник>
/difficulty <peaceful|easy|normal|hard>
/time set day
/weather clear
/say <сообщение>
/save-all
/dynmap fullrender world

Dynmap

Кнопка сверху очищает кэш плиток основного мира и запускает полный рендер. Процесс выполняется в фоне сервера, плитки будут обновляться постепенно.

{% if console_output %}

Вывод

{{ console_output }}
{% endif %}

Резервные копии

Автобэкапы

Время ежедневного бэкапа (ЧЧ:ММ)
Хранить шт

Копии хранятся в {{ backup_dir }}

{% if backup_status and backup_status.status != 'idle' %}

Статус копирования: {{ backup_status.status }}

{{ backup_status.message }}

{{ backup_status.timestamp }}

{% endif %} {% if restore_status and restore_status.status != 'idle' %}

Статус восстановления: {{ restore_status.status }}

{{ restore_status.message }}

{{ restore_status.timestamp }}

{% endif %}
{% if backups %} {% for b in backups %} {% endfor %}
Файл Размер Действие
{{ b.name }} {{ b.size }}
{% else %}

Резервные копии не найдены.

{% endif %}
{% set pg = portalgun_cfg %} {% set pg_portals = pg.get('portals', {}) %} {% set pg_beam = pg.get('beam', {}) %} {% set pg_emanc = pg.get('emancipator', {}) %} {% set pg_gun = pg.get('portalgun', {}) %} {% set pg_take = pg_gun.get('take_entities', {}) %} {% set pg_tp = pg.get('teleport_entities', {}) %} {% set pg_rp = pg.get('resourcepack', {}) %}

PortalGun

{% if portalgun_ver is not none %}

Плагин PortalGun v{{ portalgun_ver }}

Порталы из Portal 2: пушка, ботинки, куб-компаньон, термический луч. Игрок берёт пушку командой /portalgun.

Доступ к /portalgun: {% if portalgun_state.get('grant_all_gun') %} все игроки {% else %} только операторы {% endif %}

{% if portalgun_state.get('grant_all_gun') %}
{% else %}
{% endif %}
{% else %}
Плагин PortalGun не найден (нет plugins/PortalGun.jar). Настройки ниже неактивны.
{% endif %} {% if pg %}

Порталы

Блоки и миры

Портальная пушка

* требует включённый ресурспак ниже

Луч и телепортация

Язык и ресурспак

Изменения применяются после перезапуска сервера — у плагина нет команды reload.

{% endif %}

Мониторинг

Статус контейнера

{{ status }}

Игроков онлайн

{{ online_count }}

TPS

{{ tps }}

RAM хоста

{{ host_stats.ram_used_mb }} / {{ host_stats.ram_total_mb }} MB ({{ host_stats.ram_percent }}%)

CPU хоста

{{ host_stats.cpu_percent }}%

RAM контейнера

{% if 'memory_mb' in container_stats %} {{ container_stats.memory_mb }} / {{ container_stats.memory_limit_mb }} MB ({{ container_stats.memory_percent }}%) {% else %} {{ container_stats.error }} {% endif %}

CPU контейнера

{% if 'cpu_percent' in container_stats %} {{ container_stats.cpu_percent }}% {% else %} {{ container_stats.error }} {% endif %}

История действий

{% if actions %} {% for a in actions %} {% endfor %}
Время Пользователь Действие Цель Результат
{{ a[0] }} {{ a[1] }} {{ a[2] }} {{ a[3] }} {{ a[4] }}
{% else %}

История пуста.

{% endif %}

Уведомления

Настройте вебхук Discord или Telegram. При входе/выходе игрока будет отправляться POST с JSON.

Помощь

О панели

  • Обзор — статус, онлайн, время, погода, TPS, CPU, температура и RAM. Автообновление каждые 5 секунд.
  • Игроки — выдача/снятие OP, бан, кик, белый список, псевдонимы.
  • Игра — сложность, время, погода, gamerules и gamemode отдельного игрока.
  • Сервер — редактирование переменных docker-compose.yml и server.properties с пересозданием.
  • Резервные копии — ручные, автобэкапы по расписанию, восстановление из архива, ротация.
  • Консоль — произвольные RCON-команды, быстрые кнопки, история ↑ ↓.
  • Логи — раскраска INFO/WARN/ERROR, фильтр, очистка ANSI и промптов.
  • История — последние 100 действий.
  • Уведомления — вебхук Discord/Telegram при входе/выходе игрока.

Плагины и версия

  • Сервер: Paper 1.21.4 (Java 21, образ itzg/minecraft-server)
  • Geyser-Spigot — Bedrock → Java
  • Floodgate — аутентификация Bedrock
  • ViaVersion — подключение Bedrock к 1.21.4
  • LuckPerms — права и группы
  • CoreProtect — журнал блоков и откат
  • Dynmap — веб-карта мира
  • Chunky — предгенерация чанков
  • EssentialsX — базовые команды, дома, экономика
  • Vault — API экономики/прав

Подключение к серверу

Клиент Адрес Порт
Java Edition 25565 (TCP)
Bedrock Edition 19132 (UDP)
Dynmap http:// 8124 (TCP)
Веб-панель admin http:// 5177 (TCP)
{% endif %} {% endblock %}