Я работаю с BAE более трёх лет и использовал его в крупных проектах этого жанра. Цель этого руководства - собрать полезную информацию о BAE в одном месте. Если чего-то не хватает или нужен разбор конкретной функции, напишите в комментариях, и я дополню материал.

Basic Admin Essentials 2.0 (BAE) - один из самых популярных модулей администрирования в ролевых играх про кафе и рестораны. Он мощный и гибкий, но из-за отсутствия публичной документации многие его возможности остаются неизвестными, а настройка часто требует экспериментов.


Проблема загрузки модуля

Недавно появилась ошибка, из-за которой команды администраторов могут перестать работать. Быстрое решение описано здесь:

https://devforum.roblox.com/t/the-ultimate-basic-admin-essentials-guide/3019051/45


Ошибка фильтрации

По состоянию на 14 мая сообщения и ЛС могут отображаться пустыми из-за устаревшего метода фильтрации текста в Basic Admin. Решение:

https://devforum.roblox.com/t/the-ultimate-basic-admin-essentials-guide/3019051/112


Предварительные требования

  • Понадобятся базовые знания Roblox-программирования, RemoteEvents, BindableEvents и ModuleScripts. Также важно уметь читать и изменять существующий код.
  • В руководстве используются [Basic Admin Essentials Loader](https://create.roblox.com/store/asset/564796604/Basic-Admin-Essentials-20) и [BAE 2.0 Module](https://create.roblox.com/store/asset/563619835/BAE-20-Module). Перед началом добавьте оба элемента в свой инвентарь Roblox.


Настройка

Для большей части руководства потребуется форкнуть и изменить модуль BAE. Загрузчик почти не предоставляет возможностей для настройки, поэтому основные изменения будем вносить непосредственно в модуль.
1. Импортируйте загрузчик из вашего раздела “Мои модели” в Toolbox. Вы должны увидеть, как он появляется в вашей игре, как показано ниже:

2. Откройте модель и переместите скрипт в ServerScriptService. Затем удалите остальную часть модели. Ваш ServerScriptService теперь должен содержать скрипт:

3. Импортируйте модуль из вашего раздела “Мои пакеты” в Toolbox. Вы должны увидеть, как он появляется в вашем Workspace:

4. Переместите ваш MainModule под скрипт Basic Admin Essentials 2.0, который вы только что поместили в ServerScriptService. Ваше окно Explorer должно выглядеть так:

5. Откройте скрипт Basic Admin Essentials и замените поле “Loader ID” на строке 40 на следующее:

6. Для безопасности игры и защиты от случайного использования админ-команд рекомендуется установить параметр «Подтверждение команды» на строке 111 в значение `true`. По умолчанию эта функция отключена.

На этом настройка Basic Admin Essentials завершена. При необходимости добавьте себя в список администраторов по инструкции в скрипте. Создатель игры получает права администратора автоматически.


Далее Basic Admin Essentials 2.0 будет называться «скриптом загрузчика», а MainModule - «MainModule» или просто «модулем».


Пользовательские команды

Для создания собственных команд не рекомендуется изменять MainModule напрямую. Вместо этого используйте встроенную систему плагинов Basic Admin.

Чтобы создать команду, скопируйте модуль «Пример плагина» из папки «Плагины» в скрипте загрузчика Basic Admin Essentials и переименуйте его в соответствии с назначением.

Затем откройте созданный модуль. Особое внимание уделите разделу «Конфигурация плагина». Здесь можно задать название, описание и уровень доступа к команде.

Пример конфигурации плагина для “Моего первого плагина”, который я создал выше, будет следующим:


Подробнее о `pluginLevel` см. в разделе «Пользовательские уровни администраторов» ниже.

Основная часть плагина - `pluginFunction` на строке 44. Она принимает один аргумент `Args` в виде таблицы со следующей структурой:

Используя эту информацию, мы можем удалить все, что уже есть в pluginFunction, и сделать простую команду:


Теперь при выполнении команды в игре с указанным вами именем плагин выведет весь текст, введённый после команды. Например:

Несмотря на простоту примера, плагины являются основным способом настройки Basic Admin. Изучите «Пример плагина», чтобы лучше понять их возможности.

Пользовательские команды рекомендуется создавать через плагины, а не вносить напрямую в MainModule. Ниже приведены примеры их использования.