StrangeCraft CMS PlaVER

Первые шаги

Установщик подготовил сервер — теперь всё остальное делается в браузере. Этот раздел проведёт вас от первого входа до подключённого игрового сервера.

Мастер первоначальной настройки (/setup)

После работы install.sh откройте адрес, который он напечатал: http://ваш-ip/setup (или https://ваш-домен/setup). Мастер идёт по шагам:

Шаг 1. Токен установки

Введите токен установки из вывода установщика (строка Токен установки: … в конце). Токен защищает мастер от посторонних: без него никто не сможет «настроить» ваш сайт вместо вас.

На этой же странице мастер показывает проверку окружения: версия PHP (нужен 8.2+), права на запись в storage/, bootstrap/cache и .env. Если какая‑то строка красная — сначала исправьте её (обычно это права на каталоги).

Шаг 2. База данных

Выберите драйвер:

  • SQLite — без настройки, база хранится файлом. Хороший вариант для старта и небольших проектов.
  • MySQL — укажите хост, порт, имя базы, пользователя и пароль. Если установщик сам создавал базу (флаг CMS_DB=mysql) — поля уже заполнены, просто подтвердите. Мастер проверит подключение, выполнит миграции и создаст стартовые роли.

Переключатель «открыть БД наружу» (только для локальной MySQL) откроет порт 3306 для внешних подключений — например, чтобы плагины игрового сервера на другой машине ходили в эту же базу. После включения обязательно ограничьте доступ по IP в файрволе.

Шаг 3. Администратор и название сайта

  • Название сайта — видно в шапке и заголовках (потом можно поменять в настройках);
  • Ник администратора — 3–16 символов, латинские буквы, цифры и _;
  • E‑mail и пароль (минимум 8 символов, с подтверждением).

После этого шага вы автоматически войдёте под созданным администратором, а страница /setup отключится навсегда — это нормально: попытка зайти на неё снова даст 404.

Обзор админки

Админка открывается по адресу /admin (или по вкладке «Админка» в шапке сайта). Слева — меню разделов:

Пункт меню Что там
Дашборд сводка: версия CMS, баннер обновлений, состояние системы
Модули включение и выключение модулей (Магазин, Форум, Новости, Лаунчер, Почта и другие)
Темы выбор и визуальный редактор тем оформления, импорт/экспорт zip
Страницы конструктор собственных страниц (доступны по адресу /p/…)
Серверы игровые серверы: мониторинг, RCON, токены плагина
Пользователи поиск и редактирование аккаунтов, смена ролей и паролей
Роли роли и права доступа
Связи групп соответствие групп LuckPerms ↔ ролей сайта ↔ Discord
(пункты модулей) включённые модули добавляют сюда свои страницы
Настройки все настройки сайта по категориям; внизу — «Опасная зона»
Журнал действий аудит: кто и что менял в админке
Лицензия статус лицензии (виден только суперадминистратору)

Админ-дашборд

Настройки сгруппированы по категориям: Сайт и содержимое, Доступ и аккаунты, Игровые интеграции, Система. Настройки модулей живут на страницах самих модулей (например, у Лаунчера — вкладка «Настройки» внутри его раздела).

Базовые настройки сайта

Откройте Настройки → Сайт:

  • Название сайта — то, что вы ввели в мастере; можно изменить;
  • Логотип — загрузите картинку, иначе в шапке показывается текстовое название;
  • Переключатель тем для посетителей — разрешить гостям выбирать тему;
  • подписи вкладок навигации («Главная», «Личный кабинет», «Админка», кнопки «Вход»/«Регистрация») и блоков главной страницы.

Во вкладке Настройки → Регистрация и вход выбирается режим регистрации:

  • на сайте и в игре — команда /register на игровом сервере тоже создаёт аккаунт сайта;
  • только на сайте — в игре /register лишь задаёт игровой пароль уже существующим аккаунтам;
  • отключена — регистрация закрыта везде.

Настройки сайта

Роли и права

Из коробки создаются четыре роли (раздел Роли):

Роль Права по умолчанию
Гость нет
Игрок нет (роль по умолчанию — выдаётся каждому новому аккаунту)
Модератор доступ к админ‑панели, наказания, новости, модерация форума
Администратор все права (суперадмин, право *)

Роли можно создавать свои и менять набор прав у существующих. Доступные права: доступ к админ‑панели, настройки сайта, управление модулями, темами, пользователями, ролями, серверами и RCON, магазином, наказаниями, новостями, модерация форума — и особое право * («все права»).

Назначить роль пользователю: Пользователи → найдите аккаунт → кнопка редактирования → выберите роль → сохраните.

Роли

Несколько ролей и иерархия

Пользователю можно назначить несколько ролей сразу — права складываются, а «главной» считается роль с наибольшим приоритетом. Действует иерархия:

  • нельзя редактировать пользователей, чья высшая роль выше вашей;
  • нельзя выдавать роль, равную вашей высшей или выше неё;
  • собственные роли ниже высшей можно снимать и возвращать, высшую — нет;
  • в чужих ролях нельзя выдать или отозвать права, которых нет у вас самих.

Суперпользователь (право *) ограничений не имеет. Создать пользователя вручную можно кнопкой «Создать» на странице «Пользователи» — удобно для выдачи учёток персоналу.

Пользователи

Аналитика

Страница «Аналитика» (право analytics.view) показывает выручку по дням, регистрации, топ товаров, конверсию кейсов и график онлайна серверов — онлайн замеряется автоматически каждые 10 минут.

Аналитика

Игроки и топы

Модуль «Игроки и топы» публикует топы по наигранному времени и голосам и профили игроков (данные собирает игровой плагин). В настройках модуля: размер страницы, минимум часов для попадания в топ, скрытые ники персонала и выключатель топа по голосам. Страница «Игроки» в админке показывает всю статистику без фильтров.

Топы игроков

Бэкапы

CMS ежесуточно сохраняет базу данных и файлы (storage/app) в storage/backups с ротацией. Управление — Админка → Бэкапы: создать сейчас, скачать, удалить. Восстановление выполняется из консоли: php artisan cms:restore <файл>.

Бэкапы

Telegram-уведомления

Настройки → Telegram: токен бота (@BotFather) и chat_id. Бот сообщает о новых оплаченных заказах, тикетах и ответах игроков, падении и подъёме серверов. Каждое событие включается отдельно.

SEO

Настройки → Сайт: описание сайта (meta description) и OG-картинка для шаринга. У новостей и страниц конструктора есть свои SEO-описания. Карта сайта доступна на /sitemap.xml и уже указана в robots.txt — ничего настраивать не нужно.

Страница статуса

Публичная страница /status показывает состояние серверов, аптайм за 24 часа и 7 дней и график онлайна. Выключается в Настройках → Сайт.

Календарь ивентов

Модуль «Календарь ивентов» добавляет игрокам раздел События: сетка месяца с переключением, клик по событию открывает описание. Многодневные события занимают все дни интервала, идущие сейчас помечаются отдельно.

Управление — Админка → События (право events.manage): название, тип (бейдж вроде «Турнир»), даты начала и окончания, цвет метки в календаре и описание в Markdown. Событие можно выключить, не удаляя.

На главную выводится блок «Ближайшие события» — добавьте его в редакторе темы (вкладка «Страницы»). Сколько событий показывать и отображать ли прошедшие — во вкладке Настройки раздела «События». Весь модуль целиком отключается в Админка → Модули.

Тикеты (обращения в поддержку)

Модуль «Тикеты» добавляет игрокам раздел Поддержка: обращение создаётся по одной из тем, дальше идёт переписка; ответ поддержки помечает тикет «Есть ответ», ответ игрока возвращает его в очередь, закрыть может и игрок, и сотрудник.

К обращению и к каждому ответу (и у игрока, и у сотрудника) можно приложить скриншоты — до 5 изображений по 5 МБ: JPG, PNG, WEBP или GIF. Файлы лежат в закрытом хранилище и скачиваются только участниками переписки: автором тикета и сотрудниками с правом просмотра его категории; прямых публичных ссылок на них нет. Удаление тикета удаляет и файлы.

Настройка — Админка → Тикеты → Категории (нужно право tickets.manage): создайте темы обращений («Жалобы на игроков», «Технические проблемы», «Вопросы по донату»…). Для каждой категории автоматически появляются два права: tickets.category.<id>.view (видеть тикеты категории) и …reply (отвечать) — выдайте их нужным ролям в разделе Роли. Так модератор чата видит только жалобы, а тех-админ — только технические темы; tickets.manage открывает всё. Категорию можно выключить — новые обращения по ней перестанут приниматься, существующие останутся доступны.

Двухфакторная аутентификация (2FA)

Каждый пользователь может включить 2FA в своём профиле (раздел «Двухфакторная аутентификация») — после этого при входе, помимо пароля или OAuth, потребуется одноразовый код. Два метода:

  • Приложение-аутентификатор (Google Authenticator, Aegis и т.п.) — сканируется QR-код, коды генерируются офлайн;
  • Код на почту — шестизначный код приходит письмом при каждом входе (требует указанного email и настроенной отправки почты — см. раздел «Почта»).

При включении выдаются 8 резервных кодов — каждый одноразовый и заменяет код 2FA при потере доступа к методу; показываются только один раз, их нужно сохранить. Если пользователь потерял и метод, и резервные коды — администратор сбрасывает 2FA в карточке пользователя (Админка → Пользователи → карточка → «Сбросить 2FA»), после чего её можно включить заново.

Администраторам рекомендуется включить 2FA в первую очередь.

Добавление игрового сервера

Откройте Серверы и нажмите «Добавить сервер». Заполните форму:

  • Название — как сервер будет подписан на сайте;
  • Адрес (хост игры) и Порт — куда подключаются игроки; по этим же данным работает мониторинг онлайна;
  • Режим авторизации:
    • offline — без проверки входа (по умолчанию; вход контролирует auth‑плагин или никто);
    • session — вход через аккаунты сайта (authlib‑injector, online-mode=true), работает на любом ядре; подробности — в разделе «Лаунчер» вики;
    • mojang — обычная лицензия Mojang;
  • RCON‑хост, RCON‑порт, RCON‑пароль — те же значения, что в server.properties вашего сервера (enable-rcon=true, rcon.port, rcon.password). RCON нужен для выдачи покупок и команд из админки;
  • Query‑порт — необязательно, для расширенного опроса.

Нажмите «Добавить».

Серверы

Подключение плагина StrangeCraftCore

Плагин связывает игровой сервер с сайтом: наказания, выдача покупок, настройки — всё ходит через него.

  1. На странице Серверы нажмите «Скачать jar» и положите файл в папку plugins/ игрового сервера.
  2. Откройте созданный сервер (кнопка редактирования) и в блоке «Плагин StrangeCraftCore» нажмите «Сгенерировать токен». Токен показывается один раз — сразу скопируйте его.
  3. Вставьте токен в конфиг плагина на игровом сервере и перезапустите сервер.

Когда плагин выйдет на связь, в этом же блоке появится зелёный статус «на связи, последняя сверка …». Там же настраивается сам плагин: язык сообщений, частота heartbeat (5–300 секунд) и опроса заданий — настройки доезжают до сервера автоматически.

Если токен скомпрометирован — кнопка «Отозвать» мгновенно закрывает плагину доступ к API; затем сгенерируйте новый.

Готово: сервер появится в мониторинге на главной странице, а из админки можно отправлять ему RCON‑команды и проверять доступность.