BakkesMod — это мод для Rocket League, изначально созданный как улучшение для свободной игры. Со временем он разросся и теперь включает в себя такие усовершенствования, как телекамера, варианты вариаций внутриигрового пользовательского тренера, хостинг многопользовательских игр, повторы голов от первого лица и многое другое.
BakkesMod также предоставляет комплект разработки программного обеспечения/API, который взаимодействует с Rocket League. На данный момент он в основном используется для создания тренировок по свободной игре и улучшений повторов (например, инструментов анализа). Планируется также расширить SDK, чтобы можно было получать (ограниченную) информацию из онлайн-игр, которую можно использовать, например, для отслеживания расширенной статистики во время игры.
Примеры плагинов, которые встраиваются в мод при его установке, можно найти здесь. Плагин dollycam также имеет открытый исходный код, его можно найти здесь.
Чтобы начать использовать BakkesMod, просто зайдите на http://bakkesmod.com и загрузите инжектор. Если вы хотите создать плагины для мода, следуйте инструкциям, описанным далее на этой странице.
В настоящее время SDK расширяется, чтобы разработчикам плагинов было проще создавать свои собственные многопользовательские игровые режимы и сценарии обучения. BakkesMod имеет возможность разместить сервер онлайн-игр, к которому могут подключиться другие игроки. На данный момент поддерживается только свободная игра, но добавляется поддержка Team soccar/rumble. Просто введите «хост» в консоли BakkesMod, чтобы разместить игру, другим игрокам нужно ввести «connect 127.0.0.1», чтобы подключиться к вашему серверу (где 127.0.0.1, конечно, ваш IP). Чтобы это работало, вам необходимо перенаправить порт 27016 или использовать такую утилиту, как Hamachi, для эмуляции среды локальной сети.
Чтобы создавать плагины для Rocket League с помощью BakkesMod, вам понадобится SDK. По умолчанию SDK будет включен в установку BakkesMod и его можно найти в %appdata%bakkesmodbakkesmodbakkesmodsdk. Вы также можете просто клонировать этот репозиторий, поскольку он также содержит полный SDK и зачастую более актуален.
Чтобы быстро начать работу, воспользуйтесь шаблоном для автоматического создания скелета проекта. Чтобы загрузить плагин в игру, убедитесь, что сгенерированный .dll помещен в папку плагинов BakkesMod. Затем в Rocket League откройте консоль и введите plugin load filename
(без расширения .dll!). Чтобы выгрузить плагин, вы можете использовать plugin unload filename
. Любые cvars/notifiers/drawables, зарегистрированные при загрузке плагина, автоматически удаляются при выгрузке плагина, так что вам не о чем беспокоиться!
Вам все равно потребуется установить Visual Studio для включенных в нее компиляторов.
x64 Native Tools Command Prompt for VS 2019
.bakkesmodsdk
, приведенные ниже, на правильные для вашей системы, а в plugin.cpp
— фактическое имя плагина. cl / LD - I bakkesmodsdk / include / bakkesmodsdk / lib / pluginsdk.lib plugin.cpp
Если у вас есть какие-либо вопросы, заходите на дискорд по программированию BakkesMod. Этот раздор также полон множества руководств о том, как начать работу.