PerWorldPlugins: гибкое управление плагинами по мирам в Minecraft

PerWorldPlugins — гибкое управление плагинами по мирам в Minecraft Когда сервер Minecraft объединяет десятки миров с разными режимами, неизбежно возникает хаос. Плагин для мини-игр конфликтует с экономикой выживания, система приватов мешает хардкорным испытаниям, а механики прокачки ломают PvP-ар...

Скачать PerWorldPlugins

Оригинальное название: PerWorldPlugins

ФайлВерсияЗагрузчикРазмер
PerWorldPlugins.jar——11 КБСкачать

PerWorldPlugins — гибкое управление плагинами по мирам в Minecraft

Когда сервер Minecraft объединяет десятки миров с разными режимами, неизбежно возникает хаос. Плагин для мини-игр конфликтует с экономикой выживания, система приватов мешает хардкорным испытаниям, а механики прокачки ломают PvP-арены. Ручное отключение модулей через консоль утомляет, а глобальные настройки лишают гибкости. PerWorldPlugins решает эту проблему элегантно: он позволяет ограничить работу любых плагинов конкретными мирами, не затрагивая остальные.

Как это работает?

PerWorldPlugins внедряет в ядро Bukkit собственную реализацию CommandMap и модифицирует систему событий, используя умные (и совсем не «костыльные») трюки. Благодаря этому плагин перехватывает обработку команд и событий, фильтруя их по миру, в котором находится игрок. Вы просто указываете, каким плагинам разрешено работать в каждом измерении, а всё остальное берёт на себя движок PerWorldPlugins. Важно: начиная с версии 1.2 разработчики отказались от переопределения PluginManager, что резко повысило совместимость с другими расширениями.

Конфигурация: просто и понятно

Настройка сводится к редактированию единственного файла config.yml. Вот минимальный рабочий пример:

limit:
  WorldEdit:
    - world
    - world_nether
  ModReq: []

Здесь WorldEdit будет функционировать только в мирах «world» и «world_nether», а ModReq не имеет ограничений и активен везде. Если плагин вообще не указан в списке — он работает во всех мирах. Такой подход позволяет быстро собрать нужную комбинацию без лишней возни.

Два дополнительных параметра делают поведение ещё точнее. exempt-login-events (настоятельно рекомендуется держать включённым) разрешает события входа в любых мирах независимо от лимитов. Если его отключить, плагин мини-игр, заблокированный в лобби, не сможет восстановить инвентарь игрока при возвращении — вещи пропадут навсегда. blocked-msg задаёт сообщение, которое увидит игрок при попытке использовать команду запрещённого плагина. В тексте можно использовать переменные %player%, %world% и %plugin%, чтобы уведомление было информативным.

Команды и права доступа

Управление ведётся через две основные команды:

  • /pwp version — показывает текущую версию PerWorldPlugins;
  • /pwp reload — перезагружает конфигурацию без перезапуска сервера.

Для их использования требуется право pwp.admin. Никаких сложных деревьев разрешений — только одна нода для администратора.

Установка и первый запуск

Процесс интеграции стандартен для Bukkit-серверов. Скачайте PerWorldPlugins.jar и поместите его в папку plugins. После запуска (или рестарта) сервера автоматически создастся директория PerWorldPlugins с файлом config.yml внутри. Отредактируйте его под свои нужды, сохраните и выполните /pwp reload — плагин сразу применит новые правила. Кстати, если вы пользуетесь лаунчером foxygame.net, установка становится ещё удобнее: этот современный инструмент позволяет скачать и подключить мод прямо из меню, не отвлекаясь на ручное копирование файлов. После этого останется лишь настроить списки миров, и сервер заработает чётко по вашему сценарию.

Зачем нужен PerWorldPlugins? Преимущества

Первое и самое очевидное — предотвращение эксплойтов и нечестных тактик. Например, mcMMO с его прокачкой навыков способен испортить баланс на аренах мини-игр, а LWC с приватными замками разрушает атмосферу хардкорного выживания. PerWorldPlugins позволяет заблокировать эти плагины в конкретных мирах, сохранив их в остальных.

Второй плюс — снижение нагрузки на сервер. Многие плагины вроде SurvivalGames непрерывно отслеживают перемещения игроков, генерируя события даже в тех мирах, где они не нужны. Ограничив область их действия, вы сокращаете расход оперативной памяти и процессорного времени. Наконец, вы получаете свободу добавлять больше контента, не боясь конфликтов: каждый мир живёт по своим правилам.

Совместимость и возможные нюансы

Разработчики проделали большую работу, чтобы PerWorldPlugins дружил с большинством плагинов. Однако старые расширения, которые жёстко привязаны к SimplePluginManager, могут выдавать ошибки. К счастью, проблема решается простым рефакторингом кода: достаточно заменить прямое приведение к SimplePluginManager на работу через интерфейс PluginManager. Пример такой правки описан в документации проекта и занимает пару минут. Если же вы столкнулись с несовместимостью, создатели призывают создавать подробные тикеты — они оперативно помогают с адаптацией.

Заключение

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