Обзор
Из чего состоит движок и что он умеет из коробки
UnicoreCMS держит сайт Minecraft-проекта: новости, профили игроков, магазин, донат, мониторинг серверов и админку, из которой всё это настраивается. Ставится на свой сервер, исходники открыты, никакой лицензии-подписки.
Движок разбит на три приложения, которые общаются по HTTP:
Живут они в одном pnpm-монорепо, но друг от друга не зависят. Можно поднять только API и написать свой фронт, ничего не сломается.
Что есть из коробки
Аккаунты и сессии
Регистрация, подтверждение почты, восстановление пароля, 2FA, список активных сессий и история входов.
Права и роли
Права по маскам, как в LuckPerms: admin.users.*, исключения через !, приоритеты ролей.
Серверы
Список серверов, real-time онлайн по вебсокету, моды, страницы описания, RCON.
Магазин
Товары, наборы, категории, корзина и склад покупок. Всё мультисерверно.
Донат
Привилегии и отдельные права с периодами, множителями цены и веб-бонусами.
Оплата
Шесть агрегаторов, бонусы за пополнение, две валюты и обмен между ними.
Как деньги превращаются в предметы
Покупка везде идёт по одному сценарию. Игрок пополняет реальный баланс через агрегатор и тратит его в магазине или на донат, после чего покупка должна доехать до игрового сервера. Доставить её можно двумя способами.
| Способ | Как работает | Когда выбирать |
|---|---|---|
| UnicoreConnect | Плагин на сервере сам ходит в API и забирает покупки со склада | Есть возможность поставить плагин |
| RCON | Сайт шлёт готовые команды в консоль сервера | Плагин ставить некуда или лень |
Способ выбирают для каждого сервера отдельно, в его настройках. Подробности собраны в разделе Выдача покупок.
Вторая валюта
Кроме реального баланса есть виртуальный. Купить его нельзя, он начисляется за голосования в мониторингах, рефералов и подарки. Каждому товару можно указать, какую долю цены разрешено закрыть виртуальными деньгами.
Что понадобится
- Node.js 22–24 и pnpm 11
- MySQL 8 или MariaDB (Postgres тоже работает, но проверено меньше)
- Домен и HTTPS для публичного проекта: платёжные агрегаторы не любят голый HTTP
- SMTP-аккаунт, иначе не уйдут письма активации и сброса пароля
Дальше идёт установка.