Руководство по загрузке и установке модов в BONEWORKS на ПК.
BONEWORKS — это физическая песочница только для VR, созданная на Unity, и её моды загружаются через MelonLoader, а не через BepInEx. Именно это главное отличие от большинства модифицируемых Unity-игр. Всё находится на Thunderstore.
Наш рабочий пример — Custom Maps, загрузчик карт, позволяющий добавлять в игру уровни, созданные сообществом. Для работы ему нужны ещё два мода, что делает его удобным примером того, как весь стек собирается воедино.
Требования
- ПК с Windows 10 или новее. Linux через Proton работает при установке дополнительной переменной окружения, об этом ниже.
- BONEWORKS в Steam, а также VR-гарнитура и её среда выполнения. Режима без VR не предусмотрено.
- Microsoft Visual C++ 2015-2019 Redistributable, 64-бит. Нужен для MelonLoader.
- .NET Desktop Runtime 6.0, x64. BONEWORKS — игра на Il2Cpp, и MelonLoader требует это для таких игр.
- Несколько сотен МБ свободного места, больше — если собираете пользовательские карты.
BONEWORKS — однопользовательская игра без античита. Ничего из описанного здесь не подвергает риску ваш аккаунт.
MelonLoader, а не BepInEx
Если вы модифицировали Lethal Company, Valheim или большинство других Unity-игр, вы использовали BepInEx. В BONEWORKS он не применяется.
MelonLoader — это другой универсальный загрузчик модов для Unity, созданный LavaGang, с полноценной поддержкой Il2Cpp-игр, таких как эта. Работает по тому же принципу: подключается к игре при запуске и загружает моды, но структура папок и установщик у него свои.
Моды для MelonLoader — это файлы .dll, которые размещаются в папке Mods в директории игры, а не в BepInEx/plugins.
ModThatIsNotMod
Почти каждый мод для BONEWORKS, который вам действительно понадобится, зависит от ModThatIsNotMod авторства gnonme. Это общая библиотека для этой игры: она отвечает за загрузку пользовательских предметов, даёт авторам модов вспомогательные средства для систем игры и является тем, на чём построена вся остальная экосистема.
Custom Maps нуждается в ней, а также в FieldInjection. Так что полный стек для нашего примера выглядит так:
MelonLoader -> ModThatIsNotMod + FieldInjection -> Custom Maps
Менеджер модов разберётся со всем этим за вас.
Немного о модах BONELAB
BONEWORKS и BONELAB — это отдельные игры с отдельными сообществами на Thunderstore, и некоторые пакеты перечислены сразу для обеих. Такое кросс-размещение не всегда что-то значит.
Hitmarkers — мод, с которым люди сталкиваются чаще всего. Он присутствует в списках BONEWORKS, но каждая опубликованная версия зависит от BoneLib — библиотеки для BONELAB, у которой нет аналога в BONEWORKS, а в собственном описании мода говорится, что он был переработан под BONELAB. Установка его здесь не даст желаемого результата.
Правило простое: если мод для BONEWORKS указывает ModThatIsNotMod как зависимость, это действительно мод для BONEWORKS. Если указан BoneLib — это мод для BONELAB, случайно оказавшийся в кросс-листинге.
Установка через Gale
Gale — самый простой способ, который сам устанавливает MelonLoader за вас.
- Скачайте Gale с Thunderstore или GitHub.
- Откройте программу и выберите BONEWORKS.
- Позвольте ей найти вашу установку Steam или укажите папку игры вручную.
- Откройте Browse mods, найдите Custom Maps и нажмите Install.
- MelonLoader, ModThatIsNotMod и FieldInjection установятся вместе с ним.
- Нажмите Launch game (modded).
Запуск BONEWORKS через Steam запускает игру без модов. Запускайте через Gale.
Установка через r2modman
r2modman работает точно так же.
- Установите r2modman и выберите BONEWORKS.
- Создайте профиль.
- Откройте Online, найдите Custom Maps и используйте Download with dependencies.
- Нажмите Start modded.
Оба варианта подходят. Gale легче; r2modman имеет более широкую поддержку платформ.
Установка MelonLoader вручную
Полезно знать, если вы предпочитаете обойтись без менеджера или если менеджер вызывает у вас проблемы.
Сначала найдите папку с игрой. Щёлкните правой кнопкой по BONEWORKS в Steam, затем Управление и Обзор локальных файлов:
C:\Program Files (x86)\Steam\steamapps\common\BONEWORKS
Вам нужен файл BONEWORKS.exe.
Автоматический установщик
Это рекомендуемый способ, и он действительно прост.
- Скачайте MelonLoader Installer.
- Запустите его. Он сканирует установленные Unity-игры и должен сам найти BONEWORKS в списке. Если нет — используйте Add Game Manually и укажите
BONEWORKS.exe. - Выберите BONEWORKS в списке, укажите версию и нажмите Install.
ВНИМАНИЕ — не трогайте переключатель ночных сборок (nightly builds). Nightly-сборки создаются из последних коммитов и регулярно что-то ломают. Стабильный релиз — то, под что собираются моды.
Ручной метод
- Скачайте MelonLoader.x64.zip. BONEWORKS — 64-битная игра.
- Извлеките папку
MelonLoaderиз архива в папку BONEWORKS. - Извлеките
version.dllиз того же архива также в папку BONEWORKS. - Запустите игру один раз, чтобы MelonLoader создал свои папки, затем закройте её.
Теперь у вас должны быть папка MelonLoader, файл version.dll и папка Mods рядом с BONEWORKS.exe.
Установка модов вручную
Когда MelonLoader установлен, установка модов становится простой.
- Откройте страницу мода на Thunderstore и нажмите Manual Download.
- Распакуйте архив.
- Скопируйте файл
.dllв папкуModsв директории BONEWORKS.
Для Custom Maps это означает три отдельные загрузки, так как вам также нужны ModThatIsNotMod и FieldInjection. Скачивайте каждую в версии, указанной в разделе Dependencies мода, и копируйте каждый .dll в Mods.
Некоторые моды поставляются с дополнительным контентом помимо .dll, например файлами карт или моделей. Читайте описание мода, чтобы узнать, куда их класть. Custom Maps, например, читает файлы карт из собственной папки, а не из Mods.
ПРИМЕЧАНИЕ - Файлы manifest.json, icon.png и README.md в архиве Thunderstore — это служебные файлы для сайта. В папке Mods они ничего не делают.
Установка через The TMC App
Замыкает список наш собственный инструмент. The TMC App — это менеджер модов и браузер серверов, который мы разрабатываем, с установкой в один клик и sandboxes: именованными профилями модов для каждой игры, каждый со своим порядком загрузки и методом развёртывания, переключаемыми без повторной загрузки чего-либо.
BONEWORKS пока нет в списке поддерживаемых игр. Добавление игры — это четыре JSON-файла и никакого кода, так что это небольшая задача, а игры на MelonLoader — как раз то, для чего и предназначена система плагинов.
Честно скажем: приложение находится на очень ранней стадии разработки. Мы говорим об этом в его README и говорим здесь. Многое протестировано лишь частично, так что относитесь к нему как к чему-то, что стоит попробовать наряду с Gale, а не как к замене. Если вы всё же попробуете, пожалуйста, расскажите нам, что произошло — сейчас это самое полезное, что кто-либо может сделать для проекта.
Это открытый исходный код под лицензией GPL-3.0 на github.com/modcommunity/tmc-app. Баги и предложения по функциям отправляйте в трекер задач, pull request'ы приветствуются, а в репозитории описан формат для каждой игры, если вы хотите добавить поддержку BONEWORKS самостоятельно.
Установка:
- Linux: одна строка, без root и без пакетного менеджера.
curl -fsSL https://raw.githubusercontent.com/modcommunity/tmc-app/main/scripts/install.sh | sh
- Windows:
setup.exeилиsetup.msiсо страницы релизов. Есть и портативная сборка, хотя она не регистрирует запись в лаунчере и обработчик ссылокtmc://. - macOS:
.dmgс той же страницы релизов.
Проверка, что всё сработало
MelonLoader открывает консольное окно рядом с игрой при запуске. Во время старта он выводит собственную версию, а затем строку для каждого мода по мере загрузки, с именем мода, версией и автором.
Логи также записываются на диск:
BONEWORKS\MelonLoader\Latest.log
Этот файл — первое, на что стоит взглянуть, если что-то не работает, и первое, что попросит любой, кто будет вам помогать.
Что касается Custom Maps, мод добавляет собственный способ выбора уровня прямо в игре, когда у вас установлены файлы карт.
Запуск на Linux
BONEWORKS работает через Proton. MelonLoader требует переопределение DLL для загрузки, поэтому установите параметры запуска игры в Steam на:
WINEDLLOVERRIDES="version=n,b" %command%
Обратите внимание, это version, а не winhttp. MelonLoader использует другую DLL для хука, чем BepInEx, и перенос параметра запуска от BepInEx — распространённая ошибка.
У установщика MelonLoader также есть сборка для Linux, если вы не хотите делать это вручную. Gale и r2modman оба сами устанавливают переопределение при запуске через них.
Удаление модов
Удалите .dll из папки Mods или удалите мод через ваш менеджер модов.
Чтобы полностью удалить MelonLoader, удалите папку MelonLoader, файл version.dll, папку Mods и папку UserData из директории игры. У установщика MelonLoader также есть опция удаления, которая делает это за вас.
Функция Steam Проверить целостность файлов игры не очистит ничего из этого, потому что у Steam нет записи о файлах, которые он не устанавливал.
Устранение неполадок
Нет консольного окна и модов нет. MelonLoader не загружается. Проверьте, что version.dll находится прямо рядом с BONEWORKS.exe, и что вы запускали игру через менеджер модов, а не через Steam.
MelonLoader загружается, но мод — нет. Откройте MelonLoader\Latest.log. Отсутствующие зависимости и несовпадения версий там чётко видны.
MelonLoader вылетает при запуске. Обычно это связано с отсутствующей зависимостью. Установите VC++ 2015-2019 x64 redistributable и .NET Desktop Runtime 6.0 x64, которые нужны играм на Il2Cpp.
Мод установился нормально, но ничего не делает. Проверьте, действительно ли это мод для BONEWORKS. Если в списке его зависимостей упоминается BoneLib, это мод для BONELAB, который просто перечислен и здесь тоже.
Всё сломалось после обновления игры. BONEWORKS сейчас обновляется нечасто, но когда это происходит, MelonLoader и моды должны догнать обновление. Очистите папку Mods, чтобы убедиться, что сама игра работает нормально, а затем подождите.
Ошибки VR-рантайма после установки модов. Сначала попробуйте запустить игру без модов, чтобы убедиться, что шлем работает нормально. Проблемы модов и проблемы SteamVR выглядят похоже изнутри шлема.
Заключение
Моддинг BONEWORKS прост, как только понимаешь, что это MelonLoader, а не BepInEx, и что ModThatIsNotMod — это библиотека, на которой держится всё остальное. Установите Gale, установите нужный мод и запускайте через Gale.
Единственная особенная для BONEWORKS ловушка — это перечисленные и там, и там пакеты BONELAB. Проверяйте список зависимостей перед установкой: ModThatIsNotMod означает BONEWORKS, BoneLib означает BONELAB.
Если хотите помочь с чем-то, TMC App имеет открытый исходный код и находится на ранней стадии разработки, и обратная связь по нему для нас очень ценна.
Смотрите также
- BONEWORKS на Thunderstore
- Вики MelonLoader - Собственная документация загрузчика, стоит прочитать.
- MelonLoader на GitHub
- Дискорд по моддингу BONEWORKS
- Вики BONEWORKS
- TMC App
Мы стараемся поддерживать это руководство в актуальном состоянии, но MelonLoader и моды на его основе со временем меняются. Если какая-то инструкция здесь больше не соответствует тому, что вы видите, пожалуйста, сообщите об этом или откройте pull request в GitHub-репозитории этого руководства.
Присоединяйтесь к нашему Discord-серверу, если у вас есть вопросы или нужна помощь с чем-либо, связанным с моддингом!

