Skip to content
Перейти к содержимому
Вернуться в блог
Cardboard: Запуск плагинов Bukkit на серверах Fabric

Cardboard: Запуск плагинов Bukkit на серверах Fabric

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
29 просмотров
TL;DR:Cardboard - это Java-проект, позволяющий запускать плагины Bukkit на серверах Fabric, объединяя две ранее несовместимые экосистемы. Идеален для админов, желающих сочетать библиотеку плагинов Bukkit и экосистему модов Fabric, но требует тестирования перед переходом в продакшн.

"Реализация API Bukkit/Spigot/Paper для Fabric"

CardboardPowered/cardboard, github.com
⭐ 1,161 звезд💻 Java📜 GPL-3.0

Что делает Cardboard (и чего не делает)

Cardboard - Java-проект, позволяющий устанавливать плагины Bukkit на сервер Fabric. Это основная идея. Если вы когда-то хотели запустить экосистему модов Fabric вместе с десятилетней библиотекой плагинов Bukkit, Cardboard заполняет этот разрыв. С 1161 звездами на GitHub за ним стоит солидное сообщество, но перед настройкой сервера для продакшна стоит понять, что именно вы получаете.

Апеллация к реальности: моды Fabric и плагины Bukkit решают разные проблемы. Моды Fabric предлагают низкоуровневое разработку с тесной интеграцией в игровой движок. Плагины Bukkit легковесны, работают в песочнице и доминируют в экосистеме плагинов для инструментов администрирования, систем разрешений и игровых механик. Cardboard позволяет иметь оба варианта на одном сервере.


Почему вам это нужно

Подумайте, чего обычно требует общинный сервер. Вам нужна защита от грифинга (плагин Bukkit). Кто-то хочет визуальные улучшения или модные механики (моды Fabric). Кто-то хочет систему разрешений и рангов (плагины Bukkit). Кто-то хочет оптимизацию производительности, существующую только как моды Fabric. Обычно вам бы пришлось выбирать.

Если вы уже управляли сервером Spigot или Paper, привлекательность очевидна. Cardboard позволяет повторно использовать все ваши знания и уже настроенные плагины, а также запускать моды Fabric, которых нет в виде плагинов Bukkit. Альтернативой было бы поддержание двух полностью отдельных серверов или переписывание плагинов с нуля как моды Fabric (что... много работы).

Питалка: совместимость.


Текущая версия, поддержка и реалистичный взгляд

Cardboard в настоящее время поддерживает Fabric 1.21.8 (активное развитие), 1.21.4 (низкая поддержка) и 1.21.1 (низкая поддержка). Версии 1.20 и ниже больше не поддерживаются. Если вы на старой версии, сначала обновите сервер.

"Низкая поддержка" означает, что исправления ошибок и добавление функций主要 происходят для 1.21.8. Если вы сообщите об ошибке в 1.21.1, не ожидайте того же времени ответа. Это проект, управляемый добровольцами, с ограниченными ресурсами, поэтому они фокусируются на последней версии.

Не каждый плагин Bukkit будет работать идеально. Cardboard реализует API Bukkit поверх Fabric. Это означает, что ему приходится переводить между двумя фундаментально различными архитектурами. Некоторые плагины сильно зависят от внутреннего кода Spigot (называемого NMS, или net.minecraft.server). Cardboard может автоматически перенаправлять эти классы, но как отмечают разработчики, система "далеко не идеальна."


Как это настроить

Установка не так проста, как копирование JAR в папку плагинов, потому что Cardboard сам является вашим сервером. Вот процесс:

  1. Скачайте сборку Cardboard для вашей версии Minecraft с cardboardpowered.org.
  2. Создайте свежую директорию сервера и положите туда JAR-файл Cardboard.
  3. Запустите сервер один раз, чтобы сгенерировать server.properties и другие файлы конфигурации.
  4. Остановите сервер и добавьте плагины Bukkit в папку plugins (как и на любом сервере Bukkit).
  5. Перезапустите сервер и настройте плагины по мере необходимости.

Для тестирования перед переходом в продакшн возьмите бесплатный субдомен с помощью инструмента Free Minecraft DNS на Minecraft.How. Это займет две минуты и позволит указать домен на ваш тестовый сервер без оплаты за хостинг.

Кривая обучения минимальна, если вы уже использовали Bukkit или Spigot. Если вы новичок в администрировании сервера, это добавляет дополнительный слой сложности, который вам, вероятно, не нужен. Начните с ванильного Fabric или обычного Spigot сначала.


Совместимость плагинов: что может сломаться

Прежде чем переносить сервер в продакшн, протестируйте критичные плагины на тестовом экземпляре. Это не под обсуждение.

Некоторые плагины полагаются на функции Bukkit, которые реализованы Cardboard. Другие зависят от внутренних элементов, которые перенаправление Cardboard не может обработать. Проект использует SpecialSource и SrgLib для перенаправления классов Spigot в их эквиваленты Fabric, что решает многие случаи, но не все. Если плагин изменяет поведение сущностей, глубоко проникая в внутренности Minecraft, он может сломаться или потребовать исправлений.

Обслуживатели поддерживают канал Discord с закрепленными индикаторами прогресса, показывающими, что известно как работающее, а что еще сырое. Проверьте это перед тестированием плагинов. Зная заранее, что "плагин X имеет проблемы с перенаправлением NMS", экономит часы отладки.

На самом деле, даже популярные плагины иногда имеют проблемы. Плагин разрешений, идеально работающий на Paper, может вести себя нестабильно на Cardboard из-за тонких различий в том, как запускаются события или работает такт сервера. И это причина, по которой тестирование на этапе стейджинга обязательно.


Практические советы и подводные камни

Вот, что сбивает с толку большинство: предположение, что совместимость Bukkit означает "все просто работает." Это не так. Относитесь к этому как к "большинство вещей работают, тестите сначала."

Второй подводный камень: смешивание модов Fabric и плагинов Bukkit может создавать странные взаимодействия. Если мод Fabric изменяет разрушение блоков, а плагин Bukkit хочет предотвратить разрушение блоков, вы можете столкнуться с краевыми случаями. Мод действует на более низком уровне, чем плагин, поэтому может обойти некоторые логические конструкции плагина. Тестируйте реалистичные сценарии.

Третий: проект активно разрабатывается, но фокусируется на последней версии. Если вы на 1.21.4 и столкнулись с багом, обновление до 1.21.8 может исправить это, но вы не всегда можете оставаться на старых версиях.

Если вы настраиваете сложные разрешения или защиту от грифинга, не предполагайте, что плагины Bukkit, разработанные для Paper, просто пересадятся. Spigot NMS - это один слой совместимости; перенаправление Cardboard - другой. Два слоя совместимости означают два места, где вещи могут сломаться незаметно.


Когда использовать Cardboard (и когда нет)

Если вы запускаете небольшой сервер для друзей и хотите оба варианта - моды Fabric и плагины Bukkit, Cardboard стоит протестировать. Если вам нужны только моды Fabric, не используйте его; просто запустите Fabric. Если вам нужны только чистые плагины Bukkit без модов, используйте PaperMC вместо этого.

Сладкая точка: у вас есть набор любимых плагинов Bukkit, есть моды Fabric, которые вы также хотите, и вы готовы протестировать совместимость перед запуском в продакшн. Если любое из этих трех условий не выполняется, вероятно, существует более простой вариант.

Большие публичные сервера часто избегают Cardboard, поскольку риск несовместимости выше, а выгода не всегда оправдывает это. Если вы хостите для сотен игроков, придерживайтесь Paper или Spigot. Если для друзей, Cardboard стоит поэкспериментировать.


Альтернативы и сравнения

Если вы хотите плагины без модов, Paper проще и стабильнее. Если вы хотите моды без плагинов, используйте Fabric напрямую или Quilt. Если вы хотите систему плагинов для Fabric, посмотрите на спецификацию плагинов Quilt Loader или систему модулей Fabric API.

Cadix - другой проект с аналогичными целями, но менее зрелый. Mohist пытался сделать что-то подобное для Forge и боролся с поддержкой. Cardboard работает частично потому, что API Bukkit хорошо документирован, а инструменты для перенаправления (SpecialSource, SrgLib) уже существовали.

Правда преимущество Cardboard над построением чего-то自己的 заключается в уже сделанной работе сообщества. Вы не изобретаете колесо совместимости плагинов; вы используете годы работы команд Bukkit, Spigot и Paper.


Сообщество и что дальше

У проекта есть Discord с активными обслуживателями и тестерами. Apex Hosting управляет публичным тестовым сервером по адресу cardboardmod.apexmc.co:25666, если вы хотите увидеть, как это работает, прежде чем настроите свой собственный сервер. Это действительно полезно для понимания, как выглядит работающий сервер Cardboard.

Для административных инструментов и настроек, инструмент поиска блоков на Minecraft.How полезен для быстрого поиска ID блоков и их свойств при настройке плагинов Bukkit или модов Fabric.

Разработка продолжается. Проект благодарит команды Bukkit, Spigot и Paper (от которых унаследована лицензия GPL-3.0), а также Glowstone за загрузчик библиотек и разработчиков SpecialSource и SrgLib. Это сообщество, построенное на предыдущей работе за годы.

Если вы рассматриваете Cardboard, присоединяйтесь к Discord, тестируйте список плагинов на сервере стейджинга и проверяйте индикаторы прогресса для вашей версии. Если ваши плагины работают и вы протестировали моды вместе с ними, у вас есть прочный гибридный сервер. Если что-то сломается, fallback прост: переместите плагины на сервер PaperMC вместо этого.

CardboardPowered/cardboard - GPL-3.0, ★ 1161
Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy