FoamFix (FoamFix) - это мод для Майнкрафт, который создан для того, чтобы решить одну из главных проблем моддинга - жуткое потребление памяти и лаги на серверах. Если вы когда-нибудь ставили себе сборку с сотней модов на Майнкрафт и замечали, что игра начинает тормозить, вылетать или есть гигабайты ОЗУ - вот то, что нужно.
Мод делает довольно простые вещи, но с умом. Он не добавляет новых блоков или мобов - его задача сделать так, чтобы всё работало плавно. Особенно это заметно на тяжёлых модпаках: по наблюдениям автора, использование кучи Java может упасть аж на 50% после загрузки! То есть, если раньше игра съедала 8 ГБ, теперь может уложиться в 4. Круто, правда?
Основные фичи
- Экономия памяти (Minecraft 1.8+) - главная фишка FoamFix. Мод оптимизирует хранение данных, убирает мусор и не даёт утечкам памяти раздувать потребление. На тяжёлых сборках разница видна сразу.
- Улучшение TPS на серверах - тоже важная штука. Если у вас большой мультиплеерный мир, мод уменьшает нагрузку на сервер, особенно за счёт исправления "призрачной загрузки чанков" и улучшения сети. В соло это не так заметно, а вот для серверов - маст-хэв.
Есть и другие, более мелкие оптимизации, но они не так сильно влияют на игру напрямую. Всё подробно описано в файле foamfix.cfg.
Важно знать (FAQ, переписанный по-человечески)
- У меня после установки FoamFix стало лагать, а без него норм. - Обнови мод до последней версии. Автор не может протестировать на всех конфигах, такое бывает. Если после обновления проблема осталась - пиши ему на GitHub.
- Можно ли ставить только на сервер или только на клиент? - Да, можно. И на сервер, и на клиент по отдельности.
- А смешивать версии FoamFix на сервере и клиенте? - Тоже можно.
- Зачем версия для Minecraft 1.7.10? - Автор решил поддержать и старые версии, бэкпортировав некоторые фиксы (например, исправление загрузки чанков). Работает она немного иначе, но тоже полезна.
- Будет ли FoamFix для ванильного Майнкрафт? - Нет, почти все оптимизации заточены под моддинг. Ванилла и так быстрее, чем Forge с FoamFix. Для больших ванильных серверов лучше использовать другие инструменты.
- Работает ли в среде разработки? - Да, но нужно декомпилировать мод через BON2 или подобное.
Советы по оптимизации
Чтобы выжать максимум из FoamFix и в целом ускорить игру:
- Включи
alwaysSetupTerrainOffThread в forge.cfg. Начиная с версии 0.6.3, FoamFix делает это автоматически на новых мирах.
- Если у вас "призрачная загрузка чанков" (заметные лаги каждые 30 секунд), поменяй в
forgeChunkLoading.cfg значение dormantChunkCacheSize на большее.
- На некоторых видеокартах (особенно AMD) выключение мипмапов (Mipmap Levels = 0) даёт прирост FPS. Потому что анимированные текстуры обновляются быстрее без лишних уровней.
- На выделенных серверах установи
max-tick-time=0 в server.properties - это решит баг с ошибкой "java.lang.Error: Watching server".
Частые ошибки
java.lang.NoSuchMethodError... на FoamFix 0.9.6+ - обнови Forge до последней версии или откати FoamFix до 0.9.5.
java.lang.IllegalArgumentException... - такая же ошибка будет и без FoamFix, потому что мод копирует ванильное поведение. Проверь сам.
- Если используешь SpongeForge вместе с FoamFix - не поддерживается, но если уж поставил, отключи
coremod.optimizedBlockPos в config/foamfix.cfg.
С чем FoamFix не дружит
Автор прямо говорит, что не поддерживает работу с некоторыми модами и не гарантирует фиксов:
- FastCraft 2 - из-за строгой лицензии, дебаг невозможен.
- NotEnoughIDs - не обновляется с сентября 2017.
- OptiFine - та же проблема с лицензией.
- Sponge - конфликты на уровне движка. Но если FoamFix стоит только на клиенте, а сервер на Sponge - это поддерживается.
- TexFix и большинство других закрытых оптимизационных модов - не видно сорцов.
В целом, FoamFix - это такой скромный, но очень полезный мод для Minecraft. Он не блистает графикой, но чинит то, что реально бесит. Если вы собираете тяжёлую сборку модов или держите сервер - ставить его обязательно. Скачайте FoamFix и забудьте про вылеты по памяти.