Перейти к содержимому

BSDHacks

Хаки, чтобы Minecraft работал лучше на FreeBSD и с несовпадающими версиями LWJGL. Вероятно, также помогает с другими BSD?

NilLoader
Загрузчики
NilLoader
Скачиваний на Modrinth
85
Подписчиков на Modrinth
3
версия
1
Обновлён
10 сентября 202610 сент.
Опубликован
в 2026

Коротко о моде

Работает на NilLoader
Для Minecraft 1.17, 1.18–26.2
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.0 от 10 сентября 2026
Лицензия BSD-2-Clause — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.17, 1.18–26.2
Описание переведено автоматическиПоказать оригинал (EN)

BSDHacks

Хаки, чтобы Minecraft работал лучше на FreeBSD и с несовпадающими версиями LWJGL. (Наверное, поможет и с другими BSD?)

Текущие исправления

Sodium крашит игру при запуске из-за несовпадающей версии LWJGL

[main/ERROR]: The game failed to start because the currently active LWJGL version is not compatible.
Installed version: 3.4.3-snapshot
Required version: 3.3.1
It appears you are using Prism Launcher to start the game. You can likely fix this problem by opening your instance settings and navigating to the Versionsection in the sidebar.
For more information, please see: https://link.caffeinemc.net/help/sodium/runtime-issue/lwjgl3/gh-2561

Исправляется установкой -Dsodium.checks.issue2561=false во время premain.

(~1.20.1) Vorbis-аудио не воспроизводится

Это вызвано внутренним NoSuchMethodError на STBVorbisInfo.mallocStack, который проглатывается той странной асинхронной хренью на CompletableFuture, которую делает Mojang. LWJGL удалил эти методы после довольно долгого периода устаревания. Методы mallocStack динамически пропатчиваются обратно во все классы, которые по форме должны их иметь.

(~1.20.1) Иконки миров не работают

[IO-Worker-35/ERROR]: Caught exception in thread Thread[IO-Worker-35,10,main]
java.lang.NoSuchMethodError: 'int org.lwjgl.stb.STBImageResize.nstbir_resize_uint8(long, int, int, int, long, int, int, int, int)'
    at net.minecraft.class_1011.method_4300([NativeImage.resizeSubRectTo]:630)
    at net.minecraft.class_757.method_3181([GameRenderer.method_3181]:1024)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.lang.Thread.run(Thread.java:840)

У nstbir_resize_uint8 был неправильный тип возвращаемого значения, и его изменили на long. Кроме того, все методы без суффикса были удалены. Сломанный вариант этого метода пропатчивается обратно, делегируя к nstbir_resize_uint8_srgb.

(~1.21.1) Бесполезные ошибки инициализации GLFW

Вместо настоящей ошибки GLFW будет отображаться какой-то вариант следующего исключения:

java.lang.NoSuchMethodError: 'boolean org.lwjgl.util.tinyfd.TinyFileDialogs.tinyfd_messageBox(java.lang.CharSequence, java.lang.CharSequence, java.lang.CharSequence, java.lang.CharSequence, boolean)'

Тип возвращаемого значения изменили с boolean на int. Старый метод пропатчивается обратно.

(~1.20.1) Бесполезные ошибки инициализации GLFW 2

java.lang.IllegalStateException: Failed to initialize GLFW, errors: GLFW error during init: [0x1000E]63553497619776
    at knot//com.mojang.blaze3d.platform.GLX._initGlfw(GLX.java:75)
    at knot//com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(RenderSystem.java:847)
    at knot//net.minecraft.class_310.<init>(class_310.java:483)
    at knot//net.minecraft.client.main.Main.main(Main.java:211)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:514)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:72)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:115)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

Ванилла выводит сырое значение указателя на сообщение об ошибке GLFW вместо того, чтобы перейти по нему и прочитать строку. Код пропатчен на использование MemoryUtil.memUTF8.

Известные неисправленные проблемы

(Flywheel 1.21.1) Случайные SIGSEGV/SIGBUS после входа в мир

Пока нет идей о причине. Установка бэкенда Flywheel на flywheel:off работает, но это не идеально. Использование Epsilon GC тоже исправляет...? Ничто, что реально использует Flywheel, не должно рендериться или даже быть установленным, чтобы игра крашилась.

Частые вопросы

Как установить BSDHacks?

Установите NilLoader под свою версию Minecraft, скачайте BSDHacks под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть BSDHacks?

У BSDHacks есть сборки для Minecraft 1.17, 1.18–26.2.

Нужен ли BSDHacks на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
BSD 2-Clause "Simplified" Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее