Moonbot для Linux
Автономный исполняемый контейнерный образ, в который входит минимальный дистрибутив Arch Linux с предустановленным Wine и необходимыми компонентами для запуска Moonbot, разработанного для Windows.
Требования
-
Установленные пакеты: fuse3 (или fuse/fuse2) и coreutils
-
Возможность выполнения файлов из директории /tmp (разрешено по умолчанию в большинстве дистрибутивов).
-
Ядро Linux с поддержкой user namespaces (требуется для работы контейнера).
-
Установленная и настроенная графическая среда рабочего стола.
Установка зависимостей для популярных дистрибутивов
Debian / Ubuntu
sudo apt install fuse3 coreutils
RHEL / CentOS / AlmaLinux
sudo dnf install fuse3 coreutils
Запуск
Для корректного старта Moonbot необходимо, чтобы на системе были установлены пакеты fuse3 (или fuse версии 2) и coreutils.
Также требуется, чтобы файловая система каталога /tmp разрешала выполнение бинарных файлов (без опции noexec). Большинство современных дистрибутивов настроены таким образом по умолчанию.
Запустить MoonBot можно как из терминала, так и через графическую оболочку.
Для первого запуска сделайте файл исполняемым:
chmod +x MoonBot
Далее просто запускайте без опций:
./MoonBot
При отсутствии дополнительных параметров командной строки бот запускается с предустановленными настройками Wine и контейнера.
Поддерживаемые дистрибутивы
Рекомендуется использовать Debian 12, однако работа также была проверена на следующих дистрибутивах:
-
Debian: 11, 12
-
Ubuntu: 20.04, 22.04, 24.04
-
RHEL / CentOS based: AlmaLinux 9.5, RockyLinux 9.5
Ожидается совместимость с любыми дистрибутивами на базе RHEL 9 и выше
Известные проблемы
Более новые версии MoonBot на Linux в настоящее время не работают из-за несовместимости с Wine.
Не обновляйте версию бота, иначе он может перестать запускаться.
Для отката версии после обновления выполните сброс с опцией -R (настройки бота сохраняются):
./MoonBot -R./MoonBot
Описание
MoonBot для Linux представляет собой автономный исполняемый контейнерный образ, включающий минимальный дистрибутив Arch Linux с предустановленным Wine и всеми необходимыми компонентами для запуска версии MoonBot для Windows.
Вся сборка упакована в один исполняемый файл и не требует установки или дополнительных зависимостей на стороне пользователя.
Основная цель данной сборки — предоставить стабильное, изолированное и простое в использовании окружение для запуска MoonBot под Linux.
В отличие от классического подхода с ручной установкой Wine и библиотек, контейнер обеспечивает полностью готовое решение, минимизируя вероятность конфликтов с пакетами хост-системы и различиями в конфигурации.
Кроме того, в образ уже включён сам MoonBot для Windows.
Преимущества подхода
-
Упрощённое развёртывание. Отсутствует необходимость устанавливать и поддерживать актуальные версии Wine и его зависимостей.
-
Изоляция окружения. Все изменения и пользовательские настройки сохраняются в отдельном рабочем каталоге контейнера, не затрагивая систему хоста.
-
Совместимость. Контейнер использует unprivileged user namespaces (через bubblewrap), OverlayFS и FUSE (версии 2 или 3) и не требует дополнительных инструментов типа Docker или root-доступа.
Технологическая основа: Conty, bubblewrap и user namespaces.
Файловая система и сохранение изменений
Контейнерный образ изначально доступен только для чтения. При запуске используется OverlayFS, позволяющий работать в режиме чтения-записи.
Все изменения сохраняются в каталоге:
$HOME/.local/share/MoonBot/overlayfs
Рабочий каталог MoonBot внутри контейнера:
$HOME/.local/share/MoonBot/overlayfs/opt/MoonBot
Для удобства в домашнем каталоге пользователя создаётся символическая ссылка:
$HOME/.config/MoonBot → $HOME/.local/share/MoonBot/overlayfs/opt/MoonBot
Запуск контейнера не влияет на системные настройки Wine или конфигурацию хост-ОС.
Альтернативный запуск без контейнера
Если в системе уже установлена актуальная версия Wine (не ниже 9.x, рекомендуется 10.0 и выше), MoonBot можно запустить напрямую.
Рекомендуется также наличие поддержки vkd3d и всех сопутствующих зависимостей.
Запуск осуществляется командой:
wine MoonBot.exe
Настройка системных параметров
На некоторых дистрибутивах (например, Ubuntu) использование unprivileged user namespaces может быть отключено.
При необходимости включить их вручную выполните:
sudo sysctl kernel.unprivileged_userns_clone=1
Для Ubuntu 24.04 и новее дополнительно:
sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0
Опции командной строки
Контейнер MoonBot поддерживает следующие параметры запуска:
-h — вывод справки
-r — сброс контейнера с сохранением рабочего каталога и настроек MoonBot
-R — аналог -r с попыткой восстановления бинарных файлов MoonBot (рекомендуется после неудачного обновления)
-RESETFULL — деструктивный режим, полный сброс контейнера с удалением всех данных и настроек
Для просмотра справки используйте:
./MoonBot -h
Moonbot под Linux
Контейнерный образ, упакованный в один исполняемый файл, предназначенный для запуска Moonbot под Linux с использованием Wine.