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

MavenLoaderAPI

MavenLoaderAPI - это плагин для Minecraft серверов на Spigot, Paper, BungeeCord и Velocity, который уменьшает размер плагинов за счет автоматической загрузки внешних зависимостей с использованием технологии Maven.

Оцените первым
2.6K
1

MavenLoaderAPI

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

Зачем это нужно

В ванильном Майнкрафте нет разделения на клиент-серверные библиотеки: плагины часто упаковывают всё подряд (JSON-парсеры, HTTP-клиенты, ASM и так далее). MavenLoaderAPI для Майнкрафт позволяет вынести общие зависимости наружу. Плагин сам по себе становится микроскопическим (килобайты вместо мегабайт), а нужные .jar файлы качаются один раз для всех. Это особенно удобно на серверах с десятками плагинов.

Требования

  • Java 17+ - без вариантов, старые версии не поддерживаются.
  • Velocity 3.3.0+ (необязательно) - если используешь современный прокси.
  • BungeeCord 1.18+ (необязательно) - для старых сборок.
  • Spigot/Paper/Folia 1.18.2+ (необязательно) - для стандартных серверов.

Совместимость: плагин работает на Bukkit, BungeeCord и Velocity. Если ваш сервер крутится на Paper или Purpur - тоже норм.

Установка и запуск

Чтобы всё заработало, добавьте в Java-аргументы при запуске сервера:

--add-opens=java.base/java.net=ALL-UNNAMED

Потом просто скачайте MavenLoader и положите в папку plugins. Перезапускать сервер не обязательно - плагин подхватится автоматически, если у вас плагин-менеджер. Важно: MavenLoaderAPI не является обычным плагином, подключаемые к нему зависимости могут быть потенциально опасны - убедитесь, что вы доверяете источникам.

Как это работает (для разработчиков)

  • Реализован механизм белых списков репозиториев (c версии 1.4-SNAPSHOT).
  • Поддерживаются форматы maven.yml (начиная с 1.2-SNAPSHOT).
  • С версии 1.5-SNAPSHOT появилась поддержка Bukkit.
  • В планах (1.6-SNAPSHOT) - поддержка BungeeCord, PlugmanX и новые параметры platform, reference-load.

Документация для разработчиков и примеры использования выложены в репозитории (ссылки на гитхаб не воспроизвожу - всё есть в исходном описании).

Настройки

Файл конфигурации config.yml выглядит так:

enable_whitelist: true # Включить белый список репозиториев, по умолчанию true
whitelist:
  - https://repo.maven.apache.org/maven2
  - https://oss.sonatype.org/content/groups/public/
  - https://repository.jboss.org/nexus/content/groups/public
  - https://jitpack.io
  - https://hub.spigotmc.org/nexus/content/repositories/snapshots/
  - https://repo.papermc.io/repository/maven-public/
  - https://repo.repsy.io/mvn/rdb/default
updater:
  check: true
  source: github # Канал обновлений: github, spigot, spiget

По умолчанию белый список включает проверенные репозитории (Maven Central, Jitpack, Nexus SpigotMC и Paper). Если вы используете сторонние репозитории - добавьте их в список вручную. Обновления проверяются с GitHub - можно отключить, если не нужно.

Статистика

По данным bStats (сборщик статистики), MavenLoaderAPI стабильно используется на:

  • Velocity: ~1.5 тыс. серверов
  • Spigot: ~3 тыс. серверов
  • BungeeCord: ~500 серверов

Плагин живёт с 2022 года и постоянно обновляется. Разработчик (rdb) активно поддерживает совместимость с новыми версиями Minecraft.

Нюансы

  • Если какой-то плагин, использующий MavenLoaderAPI, не загружается - проверьте белый список репозиториев в конфиге.
  • На слабых VDS загрузка зависимостей может занять 5-10 секунд при первом запуске (потом кэшируется).
  • Если у вас стоит BungeeCord - дождитесь версии 1.6-SNAPSHOT, текущая стабильная (1.5) поддерживает только Bukkit-сервера.
  • Для тех, кто хочет минимальный вес сервера - это must-have: с MavenLoaderAPI плагины весят в 2-3 раза меньше.

Итог

MavenLoaderAPI - технический, но очень полезный инструмент для админов, у которых сервер завален плагинами. Уменьшает вес сборки, упрощает обновления и делает сервер чище. Если вы используете сложные связки плагинов (типа LuckPerms, PlaceholderAPI, MythicMobs) - скорее всего, MavenLoaderAPI будет работать с ними из коробки.

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

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

Minecraft: Java Edition

1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x

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

Сервер

Ссылки


Создатели

Детали

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