▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/FarmControl
FarmControl

FarmControl

Плагин FarmControl для Minecraft ограничивает размеры мобоферм, снижает нагрузку на сервер и управляет поведением мобов. Гибкая настройка и низкое влияние на производительность.

Оцените первым
8.6K
86

FarmControl - это плагин для Minecraft-серверов, который решает одну из самых больных проблем: лаги от мобоферм. Если у вас на сервере народ развёл десятки загонов с коровами, курами или жителями, то каждый тик сервер тратит кучу ресурсов на их ИИ, коллизии и бессмысленное движение. FarmControl как раз и нужен, чтобы взять это всё под контроль - ограничить количество мобов, отключить им лишнее поведение или даже убить лишних, если ферма выходит за рамки.

Плагин работает с минимальной нагрузкой: почти вся обработка идёт асинхронно, так что сам он не станет источником проблем. Идеально подходит для серверов на Bukkit/Spigot, где производительность важнее всего.

Особенности

  • Ограничение размера ферм - можно задать максимальное количество мобов одного типа в определённом радиусе.
  • Снижение коллизий и движения - мобы в фермах перестают толкаться и бегать туда-сюда, что экономит тики.
  • Отключение ИИ или осознанности - если ферма большая, плагин может убрать у мобов вообще весь интеллект, оставив их просто стоять.
  • Гибкая настройка - куча параметров в config.yml и profiles.yml, можно сделать как мягкие ограничения (отключить разведение), так и жёсткие (убить лишних).
  • Реактивный режим - можно настроить, чтобы плагин включал жёсткие меры только когда серверу плохо (MSPT подскочил), и сам откатывал их, когда всё нормализуется.
  • Профили действий - через profiles.yml задаёшь группы мобов и что с ними делать: убить, отключить размножение, убрать коллизии и т.д.
  • Исключения - можно не трогать прирученных, именованных, в любовном режиме, на поводке и т.п.

Установка

Всё просто: скачиваете jar-файл плагина и кидаете в папку /plugins своего сервера. После перезапуска в папке FarmControl появятся config.yml и profiles.yml - их надо отредактировать под себя. По умолчанию плагин уже включён и будет убирать случайное движение и коллизии у животных на фермах (10+ мобов в радиусе 5 блоков).

Конфигурация

Разберёмся с настройками. Основной конфиг config.yml отвечает за глобальные параметры: частоту проверок, реактивный режим, исключения, настройки действий. А profiles.yml - это уже сами профили: какие группы мобов, при каких условиях и какие действия к ним применять.

Вот пример config.yml (ссылки на страницу плагина и GitHub удалены, всё остальное в оригинале, но комментарии переведены):

config.yml
# Конфигурация для FarmControl.
# Пожалуйста, не меняйте это!
version: 7

# Каждые сколько тиков выполнять проверку профилей / цикл действий?
cycle-period: 600

# Сколько тиков ждать перед началом проверок после запуска плагина?
#  * Полезно в 'реактивном' режиме, чтобы игнорировать производительность сервера
#    в первые минуты после перезапуска.
start-up-delay: 0

# Эти настройки можно задавать отдельно для каждого мира.
#  * Если мир не указан или настройка отсутствует, используются значения из раздела default.
world-settings:
  default:
    # Какие профили (из profiles.yml) должны запускаться?
    profiles:
      # Эти профили работают постоянно.
      proactive:
        - soft-nerf-animal-farms
      #  - soft-limit-animal-farms
      #  - soft-limit-villager-breeders
      #  - trim-animal-farms
      #  - trim-sparse-animal-farms

      # Эти профили запускаются только когда сервер тормозит, и постепенно откатываются,
      # когда производительность улучшается (см. настройки реактивного режима).
      #  * Лучше вообще не допускать падения производительности, чем потом гасить,
      #    но бывают случаи, когда этот режим удобен (например, позволить игрокам
      #    строить огромные фермы, но при просадках банить им мобов).
      reactive:
      #  - hard-nerf-animal-farms
      #  - freeze-animal-farms

    # Настройки реактивного режима.
    reactive-mode-settings:
      # При каком MSPT активировать реактивный режим?
      trigger-mspt-threshold: 45.0

      # Ниже какого MSPT деактивировать реактивный режим и откатывать действия?
      untrigger-mspt-threshold: 35.0

      # Как плагин должен откатывать действия, когда реактивный режим выключен.
      untrigger-settings:
        # Сколько циклов после выключения реактивного режима должно пройти
        # прежде чем начнётся откат?
        minimum-cycles-before-undo: 10

        # Сколько мобов максимум может быть откатано за один цикл?
        maximum-undos-per-cycle: 40

        # Насколько сильно каждый тип моба влияет на лимит maximum-undos-per-cycle?
        #  * Пример: если maximum-undos-per-cycle = 40, а entity-undo-weight для жителей = 5,
        #    то за цикл откатят не более 8 жителей (5*8=40).
        #  * Если тип моба не указан, используется значение default.
        entity-undo-weight:
          default: 1
          villager: 5

    # Настройки исключений: каких мобов НЕ трогать.
    exclusion-settings:
      # Не трогать прирученных мобов?
      tamed: true

      # Не трогать именованных мобов (с биркой)?
      named: true

      # Не трогать мобов в режиме любви (размножение)?
      love-mode: true

      # Не трогать мобов на поводке?
      leashed: true

      # Не трогать лидеров патрулей?
      patrol-leader: false

      # Не трогать мобов младше этого возраста (в тиках)?
      younger-than: 0

      # Типы мобов, к которым не применяются действия.
      type:
      #  - villager

      # Мобы, у которых есть определённая метадата, исключаются из обработки.
      #  * Некоторые плагины добавляют метадату к мобам. Это позволяет исключить их.
      metadata:
        - Elitemob
        - Elitemobs_NPC
        - Supermob
        - infernalMetadata
        - NPC
        - shopkeeper

    # Настройки свойств действий.
    action-settings:
      # Когда следует откатывать действие (undo). Можно задать для каждого действия отдельно.
      undo-on:
        default:
          # Откатывать при взаимодействии с мобом?
          interact: false
          # При нанесении урона?
          damage: false
          # Когда моб становится целью другого моба (например, зомби целится в жителя)?
          target: false
          # Когда моб соблазняется предметом (например, корова идёт на пшеницу)?
          tempt: false

        remove-ai:
          interact: true
          damage: true
          target: true

        remove-awareness:
          interact: true
          damage: true
          target: true

        disable-collisions:
          tempt: true

        disable-breeding:
          interact: false
          tempt: false

# Настройки отслеживания MSPT.
mspt-tracker-settings:
  # Сколько тиков собирать длительности для расчёта MSPT?
  #  * Слишком большое значение сделает MSPT медленно реагирующим.
  #  * Слишком маленькое сделает MSPT нестабильным.
  collection-period: 1200

А вот profiles.yml - это мозг плагина. Тут вы задаёте группы мобов (по типу, категории, расстоянию) и что с ними делать. Например, можно сделать профиль, который убьёт всех лишних кур, если их больше 50 в радиусе 160 блоков. Или отключить разведение, если в одном месте собралось 20 коров.

profiles.yml
# Подробнее о создании профилей смотрите в Wiki.

profiles:
  # Убрать случайное движение и отключить коллизии у животных на фермах
  soft-nerf-animal-farms:
    group:
      types:
        - "category:animal"
      count: 15
      distance: 5
    actions:
      - remove-random-movement
      - disable-collisions

  # Полностью убрать осознанность у животных на фермах
  hard-nerf-animal-farms:
    group:
      types:
        - "category:animal"
      count: 15
      distance: 5
    actions:
      - remove-awareness
      - disable-collisions

  # Заморозить ИИ животных на фермах
  freeze-animal-farms:
    group:
      types:
        - "category:animal"
      count: 15
      distance: 5
    actions:
      - remove-ai
      - disable-collisions

  # Отключить размножение, если в радиусе 5 блоков больше 20 животных одного типа
  soft-limit-animal-farms:
    group:
      types:
        - "category:animal"
      count: 20
      distance: 5
      pure: true
    actions:
      - disable-breeding

  # Отключить размножение жителей, если их больше 20 в радиусе 10 блоков
  soft-limit-villager-breeders:
    group:
      types:
        - "villager"
      count: 20
      distance: 10
    actions:
      - disable-breeding

  # Не больше 21 животного одного типа в радиусе 5 блоков - лишних убить
  trim-animal-farms:
    group:
      types:
        - "category:animal"
      count: 21
      distance: 5
      pure: true
    actions:
      - kill

  # Не больше 51 животного одного типа в радиусе 160 блоков - лишних убить
  trim-sparse-animal-farms:
    group:
      types:
        - "category:animal"
      count: 51
      distance: 160
      pure: true
    actions:
      - kill

  # Не больше 10 жителей на чанк - лишних убить
  trim-villager-chunks:
    group:
      types:
        - "villager"
      count: 11
      distance: same-chunk
    actions:
      - kill

(Ссылка на Wiki удалена, но принцип понятен: копируете любой профиль и подгоняете под свои нужды.)

Команды

Основная команда: /farmcontrol <подкоманда>. Права: farmcontrol.command.<подкоманда>.

  • /farmcontrol reload - перезагрузить конфигурацию плагина.
  • /farmcontrol status <мир> - показать статус указанного мира (количество проверок, активные профили и т.д.).
  • /farmcontrol history - отобразить недавние действия плагина (сколько мобов убито, заморожено и т.п.).
  • /farmcontrol notify - включить/выключить уведомления о действиях плагина.

Метрики

Плагин использует bStats для сбора анонимной статистики (версии, количество игроков, загруженные модули). Если хотите отключить, отредактируйте config.yml в папке bStats внутри папки plugins.

Короче, FarmControl - вещь полезная. Если у вас на сервере Майнкрафт кто-то любит строить огромные мобофермы, а сервер от этого начинает тормозить, то этот плагин - то, что надо. Настраивается гибко, почти не ест ресурсов, а результат - стабильный TPS и довольные игроки. Скачайте FarmControl и оптимизируйте свой сервер!

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x

Поддерживаемые окружения

Сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:3 года назад
Обновлён:2 года назад
Главная