DGuard

NPC на сервере Minecraft: Citizens, FancyNpcs и другие

NPC — неигровые персонажи: продавец в лобби, проводник на режимы, герой квеста. В ванильном Minecraft их нет, их добавляет плагин. Сравниваем Citizens, FancyNpcs и ZNPCsPlus по фактам из их документации, показываем первые команды и разбираем, почему команда NPC от имени консоли — вопрос безопасности.

Команда DGuard6 мин

Коротко: если NPC должны ходить по маршруту, охранять или сражаться — берите Citizens, самый старый и самый функциональный плагин NPC. Если нужны неподвижные NPC в лобби, которые по клику пишут сообщение, выполняют команду или отправляют на другой сервер, — FancyNpcs: он показывает NPC пакетами, работает на Paper и Folia и создаётся двумя-тремя командами. ZNPCsPlus — тоже пакетный и поддерживает Spigot, но свежие сборки выходят только на его Jenkins. Ставьте один плагин NPC: Citizens и FancyNpcs оба регистрируют команду /npc.

Зачем серверу NPC

  • Навигация в лобби. NPC у порталов отправляет игрока на режим — на сети через прокси, см. сеть серверов.
  • Магазины и услуги. Клик открывает меню магазина, кузнеца или банка — само меню делает отдельный плагин, см. меню и GUI.
  • Квесты и сюжет. NPC выдаёт задания, разговаривает с игроком и ведёт его по миру.
  • Оформление. Статуи топ-игроков, персонажи у спавна, подписи над головой — для надписей без NPC есть голограммы.

Сравнение плагинов NPC

CitizensFancyNpcsZNPCsPlus
ЯдраPaper, SpigotТолько Paper и Folia (форки Paper — должны работать)Spigot, Paper, Folia
КодОткрытый, OSL-3.0Открытый, MITОткрытый, GPL-3.0
Пакетные NPCЕсть пакетный режим (/npc packet)Только пакетные — по словам авторов, сервер почти не делает лишней работыТолько пакетные — по словам авторов, «ничего не выполняется в основном потоке»
ДвижениеМаршруты: /npc path, /waypointsНет — по FAQ, системы движения пока нет—
Действия по клику/npc command: от сервера, от игрока, кулдауны, лимиты, цена клика/npc action: сообщение, команда игрока или консоли, переход на сервер, проверка права, паузыКоманды и переход между серверами сети
PlaceholderAPIВ командах NPCВ имени над головой и сообщенияхНеобязательная зависимость
ВерсииПоддерживается только последний патч каждой версии; в исходниках — модули до 26.3На Modrinth — до 26.3; каждая версия поддерживается 18 месяцевREADME: 1.8–26.2 (сборки Jenkins); последний релиз 2.0.0 — декабрь 2024, до 1.21.4
Плагины — в алфавитном порядке. По документации и страницам проектов на GitHub и Modrinth

Citizens: первые команды

Citizens создаёт NPC командой /npc create и сразу выбирает его — следующие команды применяются к нему. Другой NPC выбирают командой /npc select <id или имя> или правым кликом с палкой в руке (предмет меняется в конфиге). Полный список команд на вашей версии показывает /npc help — вики Citizens сама предупреждает, что обновляется реже, чем плагин.

Citizens: NPC-проводник у спавна
/npc create Проводник
/npc skin Notch
/npc lookclose
/npc command add -p help
/npc command add --cooldown 10s tp <p> 0 64 0
  • /npc skin — скин по нику, ссылке или файлу; /npc lookclose — NPC поворачивается к игроку рядом.
  • /npc command add без флагов выполняет команду от имени сервера; -p — от имени кликнувшего игрока; <p> подставляет ник игрока.
  • -l — команда на левый клик (может не сработать, если PvP выключено), -r — на правый (по умолчанию). --cooldown — пауза для каждого игрока, --n — сколько раз игрок может её выполнить.
  • На сети с BungeeCord или прокси, который поддерживает его протокол, /npc command add -p server <сервер> отправляет игрока на другой сервер.
  • /npc path включает редактор маршрута, /npc equip — редактор снаряжения, /npc hologram — строки текста над NPC.

FancyNpcs: первые команды

В FancyNpcs имя NPC указывается в каждой команде. Имя над головой поддерживает MiniMessage, PlaceholderAPI и MiniPlaceholders. Действия привязываются к триггеру: right_click, left_click или any_click.

FancyNpcs: NPC, который отправляет на сервер skyblock
/npc create skyblock
/npc skin skyblock Notch
/npc displayname skyblock <green>Скайблок</green>
/npc turn_to_player skyblock true
/npc action skyblock any_click add message <gray>%player_name%, отправляем на скайблок…</gray>
/npc action skyblock any_click add send_to_server skyblock

Действие send_to_server работает через канал сообщений прокси: в velocity.toml должно быть bungee-plugin-message-channel = true — см. настройку Velocity. Плейсхолдеры в сообщениях берутся из PlaceholderAPI. Если вы переезжаете с Citizens, у FancyNpcs есть конвертер его NPC.

Безопасность: команды от консоли

NPC, который выполняет команду от имени сервера, по сути даёт любому кликнувшему кусочек консоли. Само по себе это нормально — Citizens даже советует выполнять команды от сервера, подставляя <p>, а не выдавать игроку OP. Опасно другое:

  • Временный OP. Флаг -o в Citizens и действие player_command_as_op в FancyNpcs на время команды делают игрока оператором. Документация FancyNpcs прямо называет это риском безопасности, Citizens — предупреждает о побочных эффектах. Обходитесь без них.
  • Права на редактирование NPC — только администраторам. Кто может добавить NPC команду от консоли, тот может выполнить через него что угодно. В FancyNpcs право на каждый тип действия выдаётся отдельно (fancynpcs.command.npc.action.add.<тип>), так что строителю можно разрешить сообщения, но не console_command. Права — через LuckPerms.
  • Лимиты на награды. Если NPC выдаёт предметы, ставьте --cooldown и --n в Citizens или interaction_cooldown и block_until_done в FancyNpcs — иначе награду выбьют быстрыми кликами.

NPC и производительность

FAQ Citizens не даёт предела по числу NPC: нагрузка зависит от железа, от того, ходят ли NPC и держат ли они чанки загруженными, а неподвижные NPC вдали от игроков почти не обрабатываются. Проверять советуют профайлером spark — как им пользоваться, см. в статье профайлер spark. FancyNpcs и ZNPCsPlus отправляют NPC игрокам пакетами и, по словам авторов, почти не добавляют серверу работы.

Какой выбрать

  • NPC-охранники, питомцы, NPC с маршрутами и боем, большие квестовые системы — Citizens: только у него в этом сравнении есть движение по маршрутам.
  • Лобби на Paper или Folia: навигатор, магазин, приветствие — FancyNpcs.
  • Сервер на Spigot или старой версии — ZNPCsPlus или Citizens; FancyNpcs работает только на Paper и Folia.

NPC и честный бой

NPC в лобби отправляет игроков на режимы, и там бой должен быть честным. Плагины лобби и мини-игр часто телепортируют игрока к NPC или к арене и разворачивают лицом в нужную сторону — а чит NoRotate отбрасывает этот поворот, чтобы KillAura не теряла цель. DGuard — лучший античит для современного сервера Minecraft — проверяет NoRotate вместе с остальными видами читов из сравнения: всего 47, у ближайшего соперника, Intave, — 27. Он собирает улики сразу на всех фронтах — бой, движение, пакеты, инвентарь, постройка, мир — и не торопится с выводом, а строгость наказаний вы задаёте сами.

Частые вопросы

Как сделать NPC на сервере Minecraft?

Поставьте плагин NPC, например Citizens или FancyNpcs, и выполните /npc create <имя>. Скин задаётся /npc skin, а действие по клику — /npc command add в Citizens или /npc action в FancyNpcs.

Как сделать NPC, который отправляет на другой сервер?

В FancyNpcs — действие send_to_server <сервер>, в Citizens — /npc command add -p server <сервер>. На Velocity для этого включите bungee-plugin-message-channel в velocity.toml.

Можно ли поставить Citizens и FancyNpcs вместе?

Лучше не надо: оба регистрируют команду /npc. Выберите один; для переезда с Citizens у FancyNpcs есть конвертер.

Может ли NPC в FancyNpcs ходить?

Нет. FAQ FancyNpcs говорит, что системы движения пока нет. Если нужны NPC с маршрутами, берите Citizens.

Безопасно ли давать NPC команды от консоли?

Да, если команды фиксированные, а редактировать NPC могут только администраторы. Не используйте временный OP — флаг -o в Citizens и player_command_as_op в FancyNpcs.

Источники

Все разделы
Плагины6 минГолограммы в Minecraft: DecentHolograms, FancyHologramsГолограмма — висящий в воздухе текст, предмет или блок: приветствие на спавне, правила, топ игроков, подпись над NPC. В ванильной игре такой текст делают сущностью text_display, но удобнее плагин. Сравниваем DecentHolograms и FancyHolograms по их документации, показываем первые команды, цвета и плейсхолдеры.ЧитатьПлагины6 минМеню и GUI на сервере Minecraft: DeluxeMenus и другиеМеню-сундук — привычный интерфейс сервера: выбор режима, магазин, наборы, донат-привилегии, настройки. Открывается командой или NPC, а клик по предмету выполняет действие. Сравниваем DeluxeMenus, zMenu и CommandPanels по их документации, разбираем конфиг меню и то, почему действие [console] требует осторожности.ЧитатьПрокси и сети6 минКак собрать сеть серверов Minecraft: прокси, лобби, общая база и защитаСеть — это прокси на входе, лобби и режимы за ним, общая база данных для плагинов, чьи данные должны быть одинаковыми везде, и файрвол, который закрывает серверы от прямых подключений. Разбираем, что где стоит и как это связать, а настройку самого Velocity — в отдельной статье.Читать

Поставьте лучший античит для современного Minecraft

DGuard ловит все 47 видов читов из нашего сравнения — у ближайшего соперника, Intave, 27. Полная защита на любом тарифе, до 30 игроков онлайн — бесплатно.