Что такое Minecraft Forge
Forge - это API для Minecraft Java Edition, через который работает большинство модификаций. Сами по себе моды не запускаются: нужен слой, через который игра вообще узнаёт об их существовании. Forge как раз этим и занимается, а заодно следит, чтобы моды между собой не конфликтовали. Внутри живут ещё две вещи - ForgeModLoader (FML), который отвечает за саму загрузку модов, и Minecraft Coder Pack (MCP).
У Forge есть удобная особенность: модификации получаются универсальными. Один и тот же файл мода ставится и на клиент, и на сервер. Отдельную серверную сборку делать не приходится.
Кратко о проекте
Forge появился в конце 2011 года, первые публичные сборки - в ноябре. Изначально проект создавали Eloraam, SpaceToad и cpw - авторы крупных модов того времени, которым надоело вручную мирить свои наработки. Чуть позже к разработке подключился LexManos, и долгие годы именно он остаётся основным мейнтейнером. Написан Forge на Java, исходный код открыт, распространяется под LGPL 2.1 с дополнительными условиями для коммерческого использования.
Что Forge даёт разработчикам модов
Помимо запуска, Forge даёт авторам модов набор общих стандартов, благодаря которым модификации могут
взаимодействовать. Исторически самым известным примером был Ore Dictionary - словарь общих имён для руд, металлов и
прочих предметов: две разные модификации регистрировали медный слиток под именем ingotCopper, и слиток
из одного мода спокойно использовался в рецептах другого. По тому же принципу работал Liquid Dictionary для
жидкостей.
Начиная с версии 1.13 эти механизмы заменены на систему тегов (Tags), которая стала частью ванильного Minecraft. Forge продолжает дополнять её собственными общими тегами для модов. Из других сквозных систем у Forge есть Forge Energy - официальный преемник Redstone Flux и API-совместимая с ним энергосистема, на которую перешло большинство технических модов.
Forge и NeoForge
В 2023 году от Forge отделился форк - NeoForge. Команда мейнтейнеров разошлась с LexManos во взглядах на управление проектом и продолжила работу под новым именем. Для Minecraft 1.20.2 и новее NeoForge де-факто стал основным загрузчиком: туда переехала большая часть крупных модов и сборок. Forge при этом продолжает существовать и обновляться, но темпы заметно ниже. Если вы выбираете загрузчик для свежей версии Minecraft и не привязаны к конкретному моду - стоит начать с проверки, где он сейчас живёт: на Forge, на NeoForge или сразу на обоих.
С чем дружит, а с чем нет
Forge без проблем уживается с LiteLoader. С Fabric, Quilt и Rift - нет, ставить вместе не получится, придётся выбрать что-то одно (есть прослойки вроде Sinytra Connector для запуска Fabric-модов на NeoForge, но это отдельная история). На старых версиях (1.5.2 и ниже) Forge совместим с ModLoader и ModLoaderMP, а также имеет встроенную поддержку OptiFine. Но тут важная оговорка: конкретные версии OptiFine могут конфликтовать с конкретными версиями Forge - список совместимости стоит сверять отдельно.
Какая нужна Java
Версия Java зависит от того, под какую версию Minecraft ставится Forge:
| Minecraft | Java |
|---|---|
| 1.20.5 - 1.21.x | 21 |
| 1.18 - 1.20.4 | 17 |
| 1.17.1 | 16 |
| 1.16.5 и ниже | 8 |
Лаунчер обычно сам подбирает нужную Java, но если запускаете сервер вручную - версию придётся ставить самостоятельно. Несовпадение Java и Minecraft - самая частая причина того, что профиль Forge просто не стартует.
Сколько памяти выделять
Чистый Forge почти не нагружает игру и обходится теми же 2-4 ГБ ОЗУ, что и ванильный Minecraft. Реальная нагрузка идёт от модов: лёгкая сборка из 20-30 модификаций спокойно живёт на 4 ГБ, средняя сборка на 80-150 модов требует уже 6-8 ГБ, а тяжёлые техно-магические сборки на сотни модов комфортно работают только от 8-12 ГБ. Выделять Java больше оперативки, чем реально нужно - вредно: сборщик мусора начинает работать реже, но дольше, и в игре появляются заметные подвисания.
Установка клиента
На современных версиях Minecraft (1.16 и выше) всё делает установщик. Сначала хотя бы один раз запустите ванильный
Minecraft нужной версии - лаунчер докачает основные файлы. Потом скачайте установщик Forge той же версии и запустите
его. Он сам пропишет новый профиль в лаунчере. Дальше остаётся создать рядом с игрой папку mods (если
её ещё нет) и сложить туда нужные модификации. Запускать игру теперь нужно через профиль Forge.
На версиях 1.5.2 и ниже схема другая. Тут установщика нет: архив Forge нужно вручную распаковать поверх
minecraft.jar любым архиватором, причём папку META-INF обязательно удалить. Только после
этого папка mods начнёт восприниматься игрой.
Установка сервера
Тот же установщик умеет ставить и серверную часть. Запустите его и выберите режим Install server, указав пустую папку
под сервер. Forge скачает в неё ванильный сервер нужной версии и собственные файлы. На новых версиях установщик
кладёт рядом скрипты run.bat и run.sh - запускать сервер нужно через них, а не через
minecraft_server.jar напрямую: скрипты подставляют корректные аргументы и пути к библиотекам.
Дальше всё привычно: соглашаетесь с EULA в eula.txt, создаёте папку mods и складываете в
неё ровно те же файлы модов, что стоят у клиентов. Версии Forge и модов на клиенте и сервере должны совпадать -
иначе игроков просто не пустит.