8.9 KiB
Начало работы
Чтобы начать разработку для BeamMP вам понадобится как минимум:
- BeamNG.drive, установленный локально
- BeamMP, установленный локально; как минимум лаунчер, дополнительно также сервер
- Git, установленный локально, и учетная запись GitHub.com
- Редактор кода, например VSCode или notepad++
Разница между модом, лаунчером и сервером
BeamMP разделен на три основные части:
- Мод загружается BeamNG, как и любой другой мод транспортного средства или пользовательского интерфейса для игры. Его основная функция — установить локальное соединение с лаунчером и отобразить элементы многопользовательского пользовательского интерфейса. Он в основном написан на Lua, с некоторым количеством JavaScript, HTML и CSS для элементов пользовательского интерфейса. Его репозиторий — https://github.com/BeamMP/BeamMP
- Основная функция лаунчера — установить постоянное соединение с модом, а при необходимости — и с выбранным сервером, а также обрабатывать вход пользователя с помощью бэкенда BeamMP. Он написан на C++, предварительно скомпилирован BeamMP и его можно найти по адресу https://github.com/BeamMP/BeamMP-Launcher
- Сервер устанавливает соединения между одним или несколькими лаунчерами, а также «пульсирует» бэкенд BeamMP, предоставляя такую информацию, как IP, порт, версия, количество игроков и т. д. Кроме того, он управляет и запускает серверные плагины Lua. Он написан на C++, предварительно скомпилирован BeamMP для нескольких различных архитектур ОС и ЦП и может быть найден по адресу https://github.com/BeamMP/BeamMP-Server
Настройка среды разработки для работы над модом
Использование распакованной папки для BeamNG
Для эффективной работы с модами в BeamNG рекомендуется использовать unpacked папку, а не упаковывать zip-архивы после каждого изменения.
Откройте папку пользователя BeamNG, перейдя в %appdata%/Local/BeamNG.drive/0.xx/mods, где xx — последняя версия BeamNG. Создайте папку с именем unpacked внутри папки mods.
Дополнительную информацию о папке пользователя можно найти по адресу https://documentation.beamng.com/support/userfolder/
Включение режима разработчика в лаунчере BeamMP
Чтобы предотвратить удаление вашего локального клона git автоматическим обновлением, необходимо отключить его с помощью --no-download. Если вы также не хотите, чтобы лаунчер запускал BeamNG, и хотели бы видеть отладочные распечатки, то рекомендуется использовать --dev.
| Аргумент | Примечание |
|---|---|
--help или -h |
Выведет следующий список аргументов |
--port <port> или -p |
Измените порт прослушивания по умолчанию на <port>. Это также должно быть настроено в игре |
--verbose или -v |
Подробный режим, выводит отладочные сообщения |
--no-download |
Пропустить загрузку и установку мода BeamMP Lua |
--no-update |
Пропустить применение обновлений лаунчера (необходимо выполнить обновление вручную) |
--no-launch |
Пропустить запуск игры (игру необходимо запустить вручную) |
--dev |
Режим разработчика, то же самое, что и --verbose --no-download --no-launch --no-update |
--game <args...> или -- <args...> |
Передает аргументы в игру |
Клонирование репозитория BeamMP в распакованную папку
Хотя вы можете вручную скопировать файлы модов BeamMP из нашего репозитория github, настоятельно рекомендуется использовать систему управления исходным кодом, например git. Сначала создайте форк https://github.com/BeamMP/BeamMP
Наиболее эффективным было бы клонировать репозиторий непосредственно в unpacked папку.
Для git запустите git clone https://github.com/yourName/BeamMP из PowerShell или окна CMD, запущенного из unpacked папки. Находясь в папке userfolder, убедитесь, что в mods не осталось папки multiplayer и что теперь есть unpacked/beammp.
Теперь попробуйте режим разработчика. Запустите лаунчер BeamMP, запустите BeamNG вручную, после входа в игру убедитесь, что BeamMP — единственный активный мод. Вы должны иметь возможность использовать BeamMP как обычно.
Используя редактор кода, вы теперь можете добавлять или изменять код непосредственно в unpacked папке. Затем вы можете попробовать изменения, перезагрузив Lua в игре, нажав Ctrl+L (и F5 если вы внесли изменения в пользовательский интерфейс).
Как только вы будете довольны своими изменениями, вы можете зафиксировать их через git. Посетите веб-сайт Git-SCM для получения руководств и документации по использованию Git. Как только ваши изменения будут зафиксированы и отправлены (в ваш форк), вы можете сделать запрос на извлечение.
Если у вас возникнут какие-либо проблемы, смело задавайте их на канале #scripting в нашем Discord.
Настройка локального сервера
При работе с BeamMP может быть полезно использовать локальный сервер. Вы можете следовать общей установке сервера , пропуская первые два шага для чисто локальных подключений.
Установите сервер как закрытый в serverConfig.toml, используя любую строку в качестве AuthKey.
Правила Внесения Вклада
Подробную информацию о формате кода, формате сообщения о коммите, общих рекомендациях по разработке и т. д. см. в файле CONTRIBUTING.md в каждом репозитории. Этот файл содержит более подробную информацию о том, как внести свой вклад. Файл README.md в каждом репозитории обычно также содержит шаги сборки (для скомпилированных проектов).