Коротко: если NPC должны ходить по маршруту, охранять или сражаться — берите Citizens, самый старый и самый функциональный плагин NPC. Если нужны неподвижные NPC в лобби, которые по клику пишут сообщение, выполняют команду или отправляют на другой сервер, — FancyNpcs: он показывает NPC пакетами, работает на Paper и Folia и создаётся двумя-тремя командами. ZNPCsPlus — тоже пакетный и поддерживает Spigot, но свежие сборки выходят только на его Jenkins. Ставьте один плагин NPC: Citizens и FancyNpcs оба регистрируют команду /npc.
Зачем серверу NPC
- Навигация в лобби. NPC у порталов отправляет игрока на режим — на сети через прокси, см. сеть серверов.
- Магазины и услуги. Клик открывает меню магазина, кузнеца или банка — само меню делает отдельный плагин, см. меню и GUI.
- Квесты и сюжет. NPC выдаёт задания, разговаривает с игроком и ведёт его по миру.
- Оформление. Статуи топ-игроков, персонажи у спавна, подписи над головой — для надписей без NPC есть голограммы.
Сравнение плагинов NPC
| Citizens | FancyNpcs | ZNPCsPlus | |
|---|---|---|---|
| Ядра | 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 |
Citizens: первые команды
Citizens создаёт NPC командой /npc create и сразу выбирает его — следующие команды применяются к нему. Другой NPC выбирают командой /npc select <id или имя> или правым кликом с палкой в руке (предмет меняется в конфиге). Полный список команд на вашей версии показывает /npc help — вики Citizens сама предупреждает, что обновляется реже, чем плагин.
/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.
/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.
Источники
- Citizens: официальный сайт
- Citizens Wiki: команды
- Citizens Wiki: команды по клику на NPC
- Citizens Wiki: FAQ
- Citizens Wiki: поддержка версий
- Citizens2 на GitHub
- FancyNpcs: документация
- FancyNpcs: команда /npc
- FancyNpcs: система действий
- FancyNpcs: FAQ
- FancyInnovations: поддержка версий Minecraft
- FancyNpcs на Modrinth
- ZNPCsPlus на GitHub
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf