blockmine
v1.25.0
Published
Мощная панель управления ботами для Майнкрафта.
Maintainers
Readme
🇷🇺 Русский | 🇬🇧 English
BlockMine — это open-source решение для централизованного управления и автоматизации ботов Minecraft. Запускайте ботов, управляйте ими в реальном времени, расширяйте их возможности с помощью плагинов и создавайте сложные сценарии поведения в визуальном редакторе.
Больше примеров на - https://t.me/blockmineJs
🚀 Ключевые возможности
💻 Современный веб-интерфейс
- Адаптивная панель на React и Tailwind CSS для управления с любого устройства
- Темная тема с современным дизайном
- Real-time обновления через WebSocket
- Мультиязычность — поддержка русского и английского языков
✨ Визуальный редактор логики (No-Code)
- Drag-and-Drop интерфейс для создания сложной логики без кода
- Live Debug режим с брейкпоинтами и пошаговым выполнением
- Трассировка выполнения с историей и значениями переменных
- Совместное редактирование графов несколькими пользователями
- AI Ассистент для помощи в создании логики
🤖 Комплексное управление ботами
- Запуск/остановка/перезапуск в один клик
- Интерактивная консоль для каждого бота с историей
- Мониторинг ресурсов (CPU/RAM) в реальном времени
- 3D Viewer — просмотр мира глазами бота в реальном времени
- Поддержка SOCKS5-прокси индивидуально для каждого бота
- Планировщик задач с cron-расписаниями
🔌 Мощная система плагинов
- Встроенный магазин с категориями и поиском
- Автоматическая установка зависимостей
- Настройка через GUI без редактирования конфигов
- Hot-reload плагинов без перезапуска бота
🔐 Гибкая система прав
- Группы пользователей (Admin, Member и др.)
- Детальные права доступа для каждой команды
- Черный список пользователей
- Кулдауны и алиасы для команд
🔄 Экспорт и импорт
- Полные резервные копии ботов в ZIP-архив
- Экспорт/импорт отдельных команд и графов
- Перенос между установками BlockMine
🔌 WebSocket API
- Управление ботами из внешних приложений
- Выполнение команд с полной проверкой прав
- Вызов визуальных графов и получение результатов
- Подписка на события (чат, игроки, здоровье и др.)
- SDK
blockmine-sdkдля Node.js ⚠️ (альфа-версия, не приоритет)
✨ Быстрый старт с npx
Это самый простой способ запустить панель локально. Убедитесь, что у вас установлен Node.js v22+.
- Откройте терминал (командную строку)
- Выполните одну команду:
npx blockmine- Готово! Скрипт автоматически скачает все необходимое, настроит базу данных и запустит сервер.
⚠️ Для пользователей Windows: Если появляется ошибка
Невозможно загрузить файл ... npx.ps1, так как выполнение сценариев отключено, откройте PowerShell от имени администратора и выполнитеSet-ExecutionPolicy RemoteSigned -Scope CurrentUser. Нажмите 'Y' для подтверждения.
После успешного запуска вы увидите в консоли:
Панель управления доступна по адресу: http://localhost:3001Откройте этот адрес в вашем браузере, чтобы начать работу.
🚀 Установка на хостинг (VPS/Dedicated Server)
Для продакшн-развертывания на сервере рекомендуется использовать PM2 для управления процессом.
Требования
- Node.js v22+
- npm
- Git (для клонирования репозитория)
- PM2 (менеджер процессов)
Шаг 1: Клонирование репозитория
git clone https://github.com/blockmineJS/blockmine.git
cd blockmineШаг 2: Установка зависимостей
npm installПримечание: Команда
npm installавтоматически запуститpostinstallскрипт, который установит зависимости frontend и сгенерирует Prisma клиент.
Шаг 3: Сборка frontend
npm run buildЭта команда создаст оптимизированную production-сборку React приложения.
Шаг 4: Установка PM2
Если PM2 еще не установлен глобально:
npm install -g pm2Шаг 5: Запуск с PM2
Запустите приложение с помощью готового конфигурационного файла:
pm2 start ecosystem.config.jsПримечание: В проекте уже есть файл
ecosystem.config.jsс оптимальными настройками для production.
Обновление
Для обновления до последней версии: НА ХОСТЕ! Для локального можно и без build. ибо там 5173
cd blockmine
git pull
npm install
npm run build
pm2 restart blockmine💡 Основные концепции BlockMine
🎨 Визуальный редактор
Сердце No-Code автоматизации в BlockMine. Редактор позволяет создавать логику, перетаскивая и соединяя функциональные блоки (ноды).
Возможности редактора:
- Создание команд с аргументами, проверками прав и сложной логикой
- Обработка событий (вход игрока, сообщения в чате, появление мобов)
- Live Debug - отладка в реальном времени с брейкпоинтами
- Trace Viewer - просмотр истории выполнения с значениями переменных
- Совместная работа - несколько разработчиков могут редактировать одновременно
- AI ассистент - помощь в создании логики
🔍 Система отладки
BlockMine предоставляет две мощные системы отладки:
Live Debug (Живая отладка)
- Брейкпоинты - остановка выполнения на конкретных нодах
- Условные брейкпоинты - срабатывание при выполнении условия
- Пошаговое выполнение - Step Over для детального анализа
- What-If режим - изменение значений во время паузы
- Multi-user синхронизация - все видят одно состояние отладки
Trace Viewer (Просмотр трассировки)
- История выполнения - сохранение всех запусков графа
- Значения переменных - просмотр входов/выходов каждой ноды
- Воспроизведение - пошаговый просмотр выполнения
- Временная шкала - визуализация порядка выполнения нод
🔌 Плагины
Плагины — это способ программного расширения функциональности. Они могут:
- Добавлять новые команды
- Создавать новые ноды для визуального редактора
- Работать в фоновом режиме
- Интегрироваться с внешними сервисами
Возможности магазина плагинов
- Категории - фильтрация по назначению (Ядро, Клан, Утилиты и др.)
- Автоматическая установка - зависимости устанавливаются автоматически
- Настройка через GUI - без редактирования конфигов
- Обновления - проверка и установка обновлений
⚙️ Команды
Команды могут быть созданы двумя способами:
Программные команды (через плагины)
bot.registerCommand({
name: 'ping',
description: 'Проверка связи',
execute: async (context) => {
return `Понг, ${context.user.username}!`;
}
});Визуальные команды (через редактор)
- Drag-and-Drop создание логики
- Аргументы - определение типов и значений по умолчанию
- Условия - проверка прав, времени суток и др.
- Циклы и ветвления - сложная логика без кода
Централизованное управление
- Алиасы - короткие псевдонимы (например,
@pдля@ping) - Кулдауны - задержка между использованиями
- Разрешенные чаты - chat, local, clan, private
- Включение/выключение - временное отключение команд
🔐 Права и Группы (Permissions)
Гибкая система контроля доступа:
Права (Permissions)
- Каждое действие защищено правом (например,
user.fly) - Права создаются плагинами или в панели управления
- Детальный контроль доступа
Группы (Groups)
- Объединение нескольких прав
- Предустановленные группы: Admin, Member
- Создание пользовательских групп
Пользователи
- Автоматическое добавление при взаимодействии с ботом
- Назначение в группы
- Черный список для блокировки
⏰ Планировщик задач
Автоматизируйте действия ботов по расписанию:
- Cron-выражения - гибкая настройка времени
- Действия - запуск/перезапуск бота, выполнение команд
- История запусков - просмотр последних выполнений
- Включение/выключение - временная деактивация задач
🧑💻 Для разработчиков и контрибьюторов
🤖 Для AI агентов: Если вы AI агент, который хочет создавать плагины для BlockMine, прочитайте файл backend/src/ai/plugin-assistant-system-prompt.md для получения инструкций по разработке плагинов.
Если вы хотите внести свой вклад в проект или запустить его в режиме разработки.
Требования
- Node.js v22+
- npm или yarn
1. Установка
git clone https://github.com/blockmineJS/blockmine.git
cd blockmine
npm install
npm run build2. Запуск в режиме разработки
Эта команда одновременно запустит бэкенд (nodemon) и фронтенд (vite) с горячей перезагрузкой.
npm run dev- Бэкенд будет доступен на
http://localhost:3001 - Фронтенд с горячей перезагрузкой будет доступен на
http://localhost:5173
📸 Скриншоты
🤝 Вклад в проект
Мы приветствуем ваш вклад! Вот как вы можете помочь:
- Fork репозитория
- Создайте ветку для вашей фичи (
git checkout -b feature/amazing-feature) - Commit ваши изменения (
git commit -m 'feat: добавлена потрясающая фича') - Push в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
Стиль коммитов
Мы используем Conventional Commits:
feat:- новая функциональностьfix:- исправление багаdocs:- изменения в документацииchore:- рутинные задачи (обновление зависимостей и т.д.)
