Скачать Minecraft

Magma: универсальное ядро для Bukkit и Forge в одном решении

В сообществе Minecraft давно идет негласная война между любителями модов (Forge) и фанатами плагинов (Bukkit/Spigot/Paper). Первые привносят в игру новые измерения, машины и магию, в то время как вторые обеспечивают стабильность, защиту территорий и удобство администрирования.

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

Что такое Magma?

Magma – это серверное ядро с открытым исходным кодом, базирующееся на Forge и адаптированное для работы с API Spigot/Paper. Если говорить проще, оно берет за основу мощь Forge, позволяя игрокам заходить с модами и добавляет слой совместимости с Paper. Это дает возможность устанавливать плагины вроде WorldGuard, EssentialsX или LuckPerms.

В отличие от старых аналогов Cauldron или Thermos, Magma активно разрабатывается для популярных версий Minecraft, таких как 1.12.2, 1.16.5 и 1.18.2. По сути, это «прослойка», которая эмулирует Bukkit API внутри Forge-сервера. Благодаря этому плагины думают, что работают на обычном Spigot, а моды – что на обычном Forge.

Главные преимущества:

  1. Лучшее из двух миров: вам больше не нужно искать модную замену плагинам на приват территории. Вы просто берете привычный WorldGuard и ставите его рядом с Industrial Craft или Twilight Forest. Плагины на экономику, авто-сообщения и анти-чит работают бок о бок с глобальными модификациями.
  2. Производительность Paper: Magma наследует многие оптимизации ядра Paper. Это означает более эффективную работу с чанками, оптимизированный ИИ мобов и уменьшение нагрузки на процессор по сравнению с «чистым» Forge-сервером.
  3. Простота миграции: если у вас уже есть сервер на Forge, переход на Magma обычно занимает пару минут: достаточно заменить .jar файл ядра. Все ваши миры и конфиги модов останутся нетронутыми.

Magma обеспечивает полную совместимость с Forge-модами, Bukkit/Spigot/Paper-плагинами и модами, которые используют Mixin.

Но есть и ограничения: не все моды работают. Особенно часто проблемы возникают с теми, которые глубоко ломают клиентский рендер или кардинально меняют физику блоков.

Установка Magma – пошаговая инструкция

Установка Magma немного сложнее, чем стандартного Paper или Forge, но при соблюдении инструкции с ней справится даже новичок. Как и для любого современного сервера, крайне важно соблюдать соответствие. Для Magma 1.12.2 нужна Java 8, для 1.16.5 – Java 11, а для 1.18.2 и выше – Java 17.

Скачивание ядра

Первый шаг установки, для которого используется официальный сайт Magma: https://magmafoundation.org (будьте осторожны: есть много фейковых сайтов). Альтернатива – GitHub репозиторий MagmaFoundation/Magma.

Выберите версию под ваш клиент:

  • Magma 1.12.2 – самая стабильная, подходит для старых модов (Thaumcraft, IC2, EnderIO);
  • Magma 1.16.5 – средняя стабильность, много модов уже обновились;
  • Magma 1.20.1 – экспериментальная версия, возможны баги.

Скачивайте файл с названием типа magma-1.12.2-1.0.0-server.jar (или magma-…-server.jar).

Создание папки сервера

Создайте новую папку, например MagmaServer. Поместите туда скачанный JAR-файл. Создайте текстовый файл start.bat (для Windows) или start.sh (Linux/Mac):

Windows (start.bat):

batch
@echo off
java -Xmx4096M -Xms1024M -jar magma-1.12.2-1.0.0-server.jar nogui
pause

Linux/Mac (start.sh):

bash
#!/bin/bash
java -Xmx4096M -Xms1024M -jar magma-1.12.2-1.0.0-server.jar nogui

Запустите. Сервер в первый раз сгенерирует папки: libraries, mods, plugins, config, world.

Принятие лицензионного соглашения

После первого запуска сервер остановится с ошибкой: нужно принять EULA. Откройте файл eula.txt, измените eula=false на eula=true.

Базовая настройка server.properties

Отредактируйте стандартные параметры:

  • server-port=25565 (или другой);
  • online-mode=true (если лицензия) или false (если пиратка);
  • max-players=20.

Установка модов и плагинов

Моды (.jar) кладите в папку mods.

Плагины (.jar) кладите в папку plugins.

Некоторые моды требуют клиентскую установку. Игроки тоже должны будут поставить те же моды на свой клиент (с Forge).

Запустите сервер снова. В консоли вы увидите сначала загрузку Forge (модов), потом – Bukkit (плагинов). Если нет ошибок – все работает.

Magma: универсальное ядро для Bukkit и Forge в одном решении

Настройка совместимости: какие моды и плагины не работают

Опыт показывает, что 80% модов работают без проблем. Но есть черный список:

Моды, которые гарантированно конфликтуют:

  • OptiFine (серверная часть не нужна, клиентская – без проблем);
  • Just Enough Items (JEI) – работает, но лишнее на сервере (это клиентский мод);
  • Minecraft Coder Pack (MCP) – не нужен;
  • любые моды, которые пытаются зарегистрировать свой протокол пакетов вне стандартного Forge (например, старые версии CustomNPCs).

Плагины, которые могут тормозить:

  • WorldEdit – работает, но при массовых операциях с блоками из модов может вылететь;
  • CoreProtect – работает, но логировать модные блоки нужно через отдельную настройку;
  • PlotSquared – работает с костылями (нужно отключить проверку типов блоков).

Рекомендуемые плагины:

  • LuckPerms (идеально, поддерживает модные группы);
  • EssentialsX (почти все работает, кроме /item на модные предметы);
  • Vault (экономика – да, но модные деньги не подхватит без моста);
  • WorldGuard (флаги работают, но регионы с модными блоками – осторожно)

Оптимизация Magma (память, CPU, лаги)

Гибридное ядро жрет ресурсы. Снизить потребление можно различными способами.

Настройка параметров JVM (Java)

Используйте не стандартные флаги, а агрессивные:

java -Xmx6G -Xms4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -jar magma.jar nogui
  • -Xmx6G – максимум 6 ГБ (для 20 игроков + 50 модов);
  • -XX:+UseG1GC – сборщик мусора для больших хипов;
  • -XX:+AlwaysPreTouch – зарезервировать всю память сразу (меньше лагов).

Файл magma.yml (конфигурация ядра)

Magma создает свой конфиг. Откройте config/magma.yml:

bukkit:
  allow-bukkit-commands: true
  allow-mod-block-interaction: true  # Разрешить плагинам видеть модные блоки

forge:
  reloadable-mods: false  # Никогда не перезагружайте моды через /reload
  allow-tweak-classes: true

Важнейший параметр: allow-mod-block-interaction: true. Без него WorldGuard не сможет защитить модные двери или сундуки.

Настройка bukkit.yml для гибрида

Добавьте в bukkit.yml:

chunk-gc:
  period-in-ticks: 600

  load-threshold: 500

world-settings:
  default:
    entity-activation-range:
      animals: 16
      monsters: 24
      misc: 8

Это снизит активность мобов из модов, которые могут лагать.

Типичные проблемы и их решение

Проблема 1: Сервер падает при запуске с ошибкой ClassNotFoundException

Причина: Несовместимость версии мода и Forge внутри Magma.
Решение: Проверьте, для какой версии Forge собран мод. Magma для 1.12.2 использует Forge 14.23.5.2860. Обновите мод до совместимой версии.

Проблема 2: Плагин не видит блоки из мода (например, WorldGuard не защищает модный сундук)

Причина: Magma не передает Bukkit API информацию о модных блоках.
Решение: В magma.yml поставьте allow-mod-block-interaction: true и перезагрузите сервер. Если не помогло – используйте флаг -Dmagma.block-interaction=true в JVM.

Проблема 3: Огромные лаги при загрузке мира

Причина: Моды генерируют структуры (рудные жилы, деревья), а плагины пытаются их анализировать.
Решение: При первом запуске добавьте флаг -Dfml.queryResult=confirm. Или временно отключите плагины типа WorldGuard, пока мир не прогенерируется.

Проблема 4: Игроки не могут зайти, вылетает Internal Exception: java.io.IOException

Причина: У игроков нет нужных модов на клиенте.
Решение: Соберите папку mods с сервера и раздайте игрокам. Обязательно используйте тот же Forge на клиенте, что и на сервере (узнать можно в консоли при запуске).

Проблема 5: Плагин EssentialsX не выдает модные предметы через /give

Решение: Это ограничение самого Essentials. Используйте команду Forge /forge give <player> <modid:item> <amount>.

Альтернативы Magma

Прежде чем окончательно остановиться на Magma, стоит оценить альтернативы. На рынке гибридных ядер существует несколько проектов – живых, мертвых и «спящих». У каждого свои сильные и слабые стороны, а также своя аудитория.

  • Magma – версии 1.12.2-1.20.1, средняя стабильность, активная поддержка;
  • Mohist – высокая стабильность, больше настроек, но сложнее;
  • CatServer – только 1.12.2, очень стабильный, но больше не развивается;
  • Crucible – старая версия 1.7.10, проект заброшен;
  • SpongeForge – работает только с модами, без поддержки Bukkit-плагинов.

Magma отлично подходит для новичков, простой конфиг, Mohist – для профессионалов, больше настроек, но сложнее, CatServer – для старых сборок 1.12.2 (очень стабилен).

Magma: универсальное ядро для Bukkit и Forge в одном решении

Пошаговый пример

Для примера соберем реальный рабочий сервер с модами Thaumcraft и плагином GriefPrevention.

  • Качаем Magma 1.12.2.
  • Кладем в mods:
- Thaumcraft-1.12.2-6.1.BETA26.jar
- Baubles-1.12-1.5.2.jar
- JEI-1.12.2-4.15.0.jar
  • Кладем в plugins:
- GriefPrevention-16.17.1.jar
- EssentialsX-2.20.1.jar
- LuckPerms-Bukkit-5.4.102.jar

В magma.yml включаем allow-mod-block-interaction: true. Запускаем. Заходим с клиента Forge 1.12.2 + те же моды. Проверяем – GriefPrevention защищает землю, Thaumcraft генерирует ауру, игроки получают приваты. Работает без вылетов.

Magma – это мощный, но требовательный инструмент. Он идеально подходит для небольших дружеских серверов (до 30 игроков), где хочется и моды, и плагины одновременно. Для крупных проектов (>100 игроков) лучше выбрать что-то одно: либо чистый Forge без плагинов, либо Paper с плагинами и датапаками, имитирующими моды. Теперь вы знаете, как запустить свой первый гибридный сервер. Удачи и меньше крашей!