Сборка модпака для Minecraft сервера: пошаговое руководство
Как собрать свой модпак для Minecraft-сервера: где брать моды, как проверять совместимость, решать конфликты Optifine/Sodium и заливать сборку на хостинг.
Своя сборка модпака - это полный контроль над контентом сервера и возможность собрать уникальный игровой опыт под аудиторию. Но за гибкость приходится платить временем на тесты и борьбу с конфликтами. Разберём весь процесс: от выбора лоадера до заливки готового модпака на хостинг.
С чего начать: концепция и лоадер
Перед скачиванием первого мода ответьте на вопросы:
- Какой игровой опыт хотите дать? Технология, магия, RPG, выживание, мини-игры?
- На какой версии Minecraft? 1.20.1 - стабильная классика, 1.21.x - актуальная.
- Какой лоадер? Forge, Fabric, NeoForge.
- Какой целевой онлайн? Это повлияет на количество модов.
- Сколько RAM готовы выделить?
Самая частая ошибка новичков - “просто накачаю 300 модов всего, что нравится”. Получается несовместимая каша. Хороший модпак - это 100-200 модов одной направленности.
Выбор лоадера
Кратко:
- Forge - максимум модов, особенно технологичных и магических. Тяжёлый, но богатый;
- Fabric - быстрее, легче, фокус на оптимизацию и кастомизацию;
- NeoForge - современная замена Forge, активно развивается, многие новые моды выходят сразу под него.
Если вы делаете сборку с нуля на 1.21+, смотрите в сторону NeoForge или Fabric. Подробное сравнение - в гайде по выбору лоадера и серверного ядра.
Где брать моды
CurseForge
curseforge.com/minecraft/mc-mods - крупнейший репозиторий с десятками тысяч модов. Преимущества:
- огромный каталог;
- встроенный клиент CurseForge App с управлением сборками;
- поддержка модпаков как отдельной сущности (твист модпак - и все моды подтянутся).
Минусы:
- иногда заставляет проходить редирект на скачивание;
- не все авторы публикуют там новые версии.
Modrinth
modrinth.com - современная альтернатива. Преимущества:
- быстрый и удобный поиск с фильтрами по лоадеру/версии;
- открытый API;
- встроенный лаунчер Modrinth App;
- многие новые моды публикуются сначала здесь.
Минусы:
- меньше старых модов из 2015-2020 годов.
GitHub и сайты авторов
Часть модов (особенно от энтузиастов) лежит только на GitHub в Releases. Это нормально, но качайте только из официальных репозиториев авторов.
Чего избегать
- Сайты с “взломанными модами для премиум-функций” - там трояны.
- 9minecraft.net и аналоги - часто перезаливают моды с рекламой и вирусами.
- Случайные форумы с прямыми ссылками - источник может быть скомпрометирован.
Совместимость версий
Ключевое правило: все моды должны быть под одну версию Minecraft и одну версию лоадера.
Что проверять
-
Версия Minecraft. Мод для 1.20.1 не запустится на 1.20.4. Иногда работает на близких версиях (1.19.2 и 1.19.4), но это лотерея.
-
Лоадер. Forge-мод не работает на Fabric и наоборот. NeoForge частично совместим со старыми Forge-модами.
-
Версия лоадера. Forge 47.x для 1.20.1 - стабильная. Бывают баги между минорами, проверяйте changelog.
-
Зависимости. Многие моды требуют библиотек: Architectury API, Cloth Config, Patchouli, GeckoLib. Без них - краш при старте.
-
Java. 1.21+ требует Java 21, 1.20 - Java 17.
Инструменты
- MultiMC / Prism Launcher - удобный лаунчер для тестирования клиентских сборок. Создаёт изолированные инстансы с разными версиями.
- PackWiz - утилита для управления модпаком из CLI с поддержкой версионирования.
Структура сборки
Типичная папка готового модпака выглядит так:
my-modpack/
├── mods/ # .jar файлы модов
├── config/ # конфиги модов
├── defaultconfigs/ # NeoForge: дефолтные конфиги для новых миров
├── kubejs/ # скрипты KubeJS (если используется)
├── resourcepacks/ # серверные ресурспаки
├── scripts/ # CraftTweaker-скрипты
├── server.properties
├── eula.txt
├── start.sh / run.sh
└── pack.toml # PackWiz manifest
Деление модов: client / server / both
Часть модов бессмысленна на сервере и может вызвать краш:
| Тип | Примеры | Где ставить |
|---|---|---|
| Client-only | JEI Tweaker, Xaero’s Minimap, Sodium, Iris, ReplayMod | Только клиент |
| Server-only | Spark, EssentialsX (Bukkit) | Только сервер |
| Both | Большинство контент-модов | И там, и там |
Перед заливкой на хостинг внимательно отфильтруйте client-only моды.
Создание config-папки и базовая настройка
После первого запуска сервер сгенерирует папку config/ с десятками файлов. Что критично настроить сразу:
Лимиты тяжёлых модов
Industrial Foregoing - в config/industrialforegoing-common.toml есть лимиты area-radius машин. Уменьшайте, если не хотите чтобы один игрок съел сервер.
Mekanism - config/mekanism/general.toml - лимиты digital miner.
Create - config/create-common.toml - лимиты на размер контраптов, скорость машин.
Лимиты сущностей и ферм
Многие моды добавляют моба-фермы. В Forge есть глобальные лимиты:
# config/forge-server.toml
[entityPerChunkSpawnLimit]
monsters = 50
creatures = 8
ambientCreatures = 5
Производительность
- FerriteCore не требует конфига - просто работает.
- ModernFix - в
config/modernfix-mixins.jsonможно отключать отдельные оптимизации, если что-то ломают. - Lithium (Fabric) - отдельные оптимизации в
config/lithium.properties.
Pterohost - игровой хостинг с DDoS-защитой L4+L7, NVMe и 24/7 поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг
Локальное тестирование
Не заливайте непротестированную сборку на сервер. Сэкономите часы потом.
Чек-лист тестирования
- Сервер стартует без ошибок. Открыли консоль, увидели
Done (X.Xs)!- хорошо. - Зашли в игру. Клиент подключается, не выкидывает.
- Сгенерировался мир. Походили по биомам, нет крашей.
- Базовые механики. Сломали блок, поставили блок, поели, поспали.
- Тяжёлые механики каждого крупного мода. Создали машину Create, машину Mekanism, ритуал Botania.
- Перезапустили сервер. Снова зашли - всё на месте, ничего не потерялось.
- Подключение второго клиента. Чтобы убедиться, что мультиплеер работает.
Что искать в логах
Файл logs/latest.log - первая остановка при любой проблеме.
Маркеры:
[FATAL],[ERROR]- явные проблемы;Caused by:- стек исключения, обычно указывает на конкретный мод;MixinApplyError- конфликт миксинов;WARN- предупреждения, иногда важные (например, “two mods have item id ‘minecraft:stone’”).
Сохраняйте логи. Если будете спрашивать помощь у автора мода - первое, что попросят, это latest.log или debug.log.
Частые конфликты и решения
Optifine vs Sodium
Не сочетаются. Optifine - модификация рендера старой школы, Sodium - современный движок через миксины. Оба пытаются переписать одни и те же классы.
Решение: на сервере это вообще не имеет значения (сервер не рендерит мир). На клиенте - выберите одно. Современный выбор - Sodium + Iris (для шейдеров) + Continuity (для коннектящихся текстур).
Performant + другие моды на оптимизацию
Мод Performant иногда конфликтует с FerriteCore, Saturn и другими. Симптом - падение TPS вместо роста или редкие краши. Решение: оставить FerriteCore + ModernFix, убрать Performant.
Дублирующиеся ID предметов
В новых версиях Minecraft (1.16+) с системой namespace это редкость, но бывает: два мода регистрируют один namespace. Лог покажет Conflict for namespace. Решение: связаться с авторами или удалить один.
Конфликты лоадеров миксинов
Сообщение типа:
mixin.target.NPE @Inject method ... target ... was not found
Значит, мод ожидает определённую сигнатуру метода Minecraft, а её нет. Обычно - мод обновлён под другую версию MC. Лечится корректной версией мода.
OutOfMemoryError при старте
Could not reserve enough space или OOM in metaspace. Решение:
- увеличить heap (
-Xmx); - для metaspace:
-XX:MaxMetaspaceSize=512m; - проверить, точно ли вы запускаете 64-битную Java.
Заливка модпака на хостинг
Когда модпак работает локально - можно переносить.
Через FTP/SFTP
- Остановите сервер на хостинге.
- Подключитесь через FTP-клиент (FileZilla, WinSCP).
- Залейте папки
mods/,config/,kubejs/,scripts/,defaultconfigs/. - Если меняете лоадер - залейте серверный jar или используйте установщик хостинга.
- Удалите старый мир (если несовместим) или сделайте бэкап.
- Запустите сервер, смотрите консоль.
Через CurseForge/Modrinth модпак
Если модпак опубликован как пакет на CurseForge или Modrinth:
- на Pterohost есть готовая установка модпаков по ID;
- одной кнопкой выбираете модпак, версию - всё ставится автоматически.
Это удобно, если планируете публичный модпак для клиентов.
Через MRPACK/CurseForge ZIP
Экспортируйте модпак из лаунчера в .mrpack или .zip. Это контейнер с manifest и списком модов. Многие хостинги (в том числе с панелью Pterodactyl) умеют такие распаковывать автоматически.
Дамп логов при проблемах
Когда вы обращаетесь в поддержку или к авторам модов, нужны:
logs/latest.log(всегда).logs/debug.log- если включён--debugрежим.crash-reports/crash-YYYY-MM-DD_HH.MM.SS-server.txt- если был краш.- Список модов (
/forge modsили просто содержимое папкиmods/). - Версия Minecraft, лоадера, Java.
Заливайте логи на mclo.gs - это сайт для шаринга Minecraft-логов с подсветкой ошибок.
После заливки модпака не забудьте о бэкапах и общей оптимизации сервера - тяжёлый модпак потребует тюнинга server.properties и JVM-флагов.
Pterohost - игровой хостинг с DDoS-защитой L4+L7, NVMe и 24/7 поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг
FAQ
Где брать моды для сборки? CurseForge и Modrinth - два проверенных источника. Не качайте с пиратских и левых сайтов.
Что такое миксины и почему из-за них всё ломается? Механизм патчей байткода в Fabric/NeoForge. При конфликте двух модов на один метод возникает MixinTransformerError. Лечится удалением конфликтующего мода или обновлением.
Почему Optifine не работает с Sodium? Они оба переписывают рендер разными способами. На клиенте выбирайте одно, на сервере вопрос не стоит.
Как протестировать модпак локально? Поднять сервер у себя, запустить, погенерировать чанки, потестить 10-20 минут крупные механики.
Что делать, если сервер падает при старте? Открыть latest.log, искать Caused by, найти виновный мод, удалить или обновить.
Нужно ли делать клиентский модпак отдельно от серверного? Да. Client-only моды (миникарты, шейдеры) не нужны на сервере и могут крашить его.