Коротко: DeluxeMenus — классика: меню в YAML, десятки действий, требования к клику и аргументы команд; нужен PlaceholderAPI. zMenu — бесплатный, работает только на Paper и его форках, умеет перечитывать меню на лету, имеет визуальный редактор и переносит меню из DeluxeMenus одной командой. CommandPanels — Paper и Folia, веб-редактор без регистрации, кроме сундуков ещё диалоги Minecraft и формы для игроков Bedrock. В любом из них действие от консоли — это консоль: не подставляйте в него то, что вводит игрок.
Что такое меню-GUI
Плагин открывает игроку окно инвентаря — обычно сундук на 9–54 ячейки — и раскладывает в нём предметы-кнопки с названием и описанием. Забрать предмет нельзя, а клик выполняет действия: команду от игрока или консоли, сообщение, переход в другое меню или на другой сервер сети. Через плейсхолдеры кнопка показывает данные игрока: баланс, ранг, онлайн режима. Меню часто открывают кликом по NPC — см. NPC на сервере.
Сравнение плагинов меню
| CommandPanels | DeluxeMenus | zMenu | |
|---|---|---|---|
| Ядра | Paper, Folia | Paper, Spigot | Только Paper и форки (Purpur, Pufferfish, Folia); на Spigot не работает |
| Код | Открытый, GPL-3.0 | Открытый, MIT | Открытый, GPL-3.0; бесплатный |
| PlaceholderAPI | Необязателен, но рекомендуется | Обязателен | Есть интеграция |
| Визуальный редактор | Веб-редактор, без аккаунта | — | minecraft-inventory-builder.com |
| Кроме сундуков | Диалоги Minecraft, формы Bedrock через Floodgate | — | — |
| Особенности | Условия с группами, обновление меню при смене прав, MiniMessage везде | Аргументы команд, требования к открытию, показу и клику | Горячая перезагрузка, /zm convert deluxemenus |
| Версии | На Modrinth — до 26.3 | Последний выпуск 1.14.1 — август 2025, на Modrinth отмечен до 26.3 | 1.20.6 и новее; на Modrinth — до 26.3 |
Меню в DeluxeMenus
Меню регистрируют в plugins/DeluxeMenus/config.yml в разделе gui_menus, а сам файл меню лежит в папке gui_menus. После правки — /dm reload. Команда /dm open <меню> — для администраторов; игрокам документация советует задать меню свою команду через open_command.
gui_menus:
servers:
file: servers.ymlmenu_title: '&8Выбор режима'
open_command: servers
size: 27
items:
survival:
material: GRASS_BLOCK
slot: 11
display_name: '7FF55Выживание'
lore:
- '&7Ваш ник: &f%player_name%'
left_click_commands:
- '[close]'
- '[connect] survival'
bread:
material: BREAD
slot: 15
display_name: '&eХлеб для VIP'
left_click_requirement:
requirements:
vip:
type: has permission
permission: menu.vip
deny_commands:
- '[message] &cНужна привилегия VIP'
left_click_commands:
- '[console] give %player_name% bread 16'
- '[close]'size— 9, 18, 27, 36, 45 или 54 (по умолчанию 54);slotсчитается с 0.- Цвета — коды
&, HEX в формате&#aaFF00(1.16+); для сообщений есть действие[minimessage]. HEX-строку удобно собрать в генераторе градиентного текста. - Действия выполняются сверху вниз:
[player],[console],[message],[openguimenu],[connect],[close],[refresh],[sound]; деньги и права —[takemoney],[givemoney],[givepermission]через Vault (см. экономика и Vault). - Тег
<delay=20>откладывает действие на 20 тиков,<chance=50>выполняет его с вероятностью 50 %. [connect]работает через канал сообщений прокси: на Velocity его включаетbungee-plugin-message-channel— см. настройку Velocity.
Безопасность: действие [console]
[console] выполняет команду от имени консоли для любого, кто кликнул. С фиксированной командой это нормально — так меню и выдаёт награды. Опасно, когда в команду консоли попадает то, что ввёл игрок, или когда меню может отредактировать не тот человек.
- Аргументы игрока — не в консоль. DeluxeMenus позволяет передать меню аргументы команды (
args, в меню они подставляются по имени в фигурных скобках). С версии 1.14.1 порядок разбора аргументов и плейсхолдеров изменили по соображениям безопасности; опцииparse_placeholders_after_argumentsиarguments_support_placeholdersдокументация помечает предупреждением — вторая позволяет игроку разобрать любой плейсхолдер. Не включайте их и не стройте[console]-команды из аргументов. - Сначала требование, потом награда. Выдачу через
[console]закрывайтеleft_click_requirementс правом или деньгами (has permissionиhas moneyтребуют Vault), а списание[takemoney]ставьте до выдачи. - Без OP.
/dm executeвыполняет любое действие за игрока и требует OP; не раздавайте OP ради меню — права выдавайте через LuckPerms. - Файлы меню — только администраторам. Кто правит YAML меню, тот может вписать туда любую
[console]-команду. Готовые меню из интернета читайте перед установкой — см. вредоносные плагины.
Какой выбрать
- Сервер на Spigot, меню по готовым примерам из вики — DeluxeMenus.
- Paper, визуальный редактор и меню без перезагрузок — zMenu; переезд с DeluxeMenus —
/zm convert deluxemenus, исходные файлы не меняются. - Есть игроки Bedrock через Geyser — CommandPanels: у него есть отдельный тип меню — формы Bedrock через Floodgate. О подключении Bedrock — в статье Geyser и Bedrock.
Меню, инвентарь и античит
Меню — это окно инвентаря, и каждый клик в нём приходит на сервер пакетом. Этим пользуются и читы, и эксплойты: InvMove позволяет бегать с открытым окном, XCarry прячет вещи в сетке крафта, а эксплойты для дюпа шлют клики по ячейкам, которых в окне нет. DGuard — лучший античит для современного сервера Minecraft — проверяет инвентарь и пакеты наравне с боем, движением, постройкой и миром: BadPackets сверяет каждый клик с тем, что может отправить ванильный клиент. Улики копятся, а строгость наказаний вы задаёте сами.
| Чит | DGuard | GrimAC | Vulcan | Polar | Intave | Matrix |
|---|---|---|---|---|---|---|
| InvMoveходит с открытым инвентарём | частично: по их же странице не ловится — только клики на ходу | частично: не назван — только общая проверка инвентаря | ||||
| XCarryносит вещи в слотах крафта | частично: не назван — только общая проверка инвентаря | |||||
| BadPacketsневозможные пакеты |
Частые вопросы
Как сделать меню на сервере Minecraft?
Поставьте плагин меню, например DeluxeMenus с PlaceholderAPI. Зарегистрируйте меню в gui_menus в config.yml, опишите предметы и действия в файле из папки gui_menus и выполните /dm reload. Открывается меню командой из open_command.
Почему игрок не может открыть меню командой /dm open?
Потому что это команда администратора с правом deluxemenus.open. Игрокам задайте у меню свою команду через open_command.
Как перенести меню из DeluxeMenus в zMenu?
Командой /zm convert deluxemenus: конвертер переносит предметы, слоты, команды кликов, требования и команды открытия, а исходные файлы DeluxeMenus не трогает.
Как отправить игрока на другой сервер из меню?
В DeluxeMenus — действием [connect] <сервер>. Оно работает через канал сообщений BungeeCord; на Velocity включите bungee-plugin-message-channel в velocity.toml.
Безопасно ли выдавать награды через [console]?
Да, если команда фиксированная, клик закрыт требованием, а файлы меню правят только администраторы. Не подставляйте в команду консоли аргументы, которые вводит игрок.
Источники
- DeluxeMenus Wiki
- DeluxeMenus: команды и права
- DeluxeMenus: настройки меню (GUI)
- DeluxeMenus: настройки предметов
- DeluxeMenus: действия
- DeluxeMenus: требования
- DeluxeMenus на Modrinth
- zMenu: документация
- zMenu на Modrinth
- CommandPanels: документация
- CommandPanels на Modrinth
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf