Перейти к содержанию

Чек-лист: рефералка + модотделы (руками)

Панель: https://media.miamigraphicsstorage.uk · Сайт: https://miami-graphics.com Тестовые аккаунты: sist1m (медиа, промо SISTIM), zz_mm_test / MmProbe123! (модотдел, промо MMTEST). Оба можно сносить после прогона.

Пометки: ✅ - уже проверено мной автоматикой/скриптами; 👁 - стоит прогнать глазами, автотест этого не видел или проверял только API.

1. Джон (root) в панели

  • 👁 Вход Джоном, «Обзор»: графики рефералов/выручки не пустые и не падают
  • 👁 «Команда»: поиск по нику/промо/твичу, фильтры Все/PR/Медиа/Только мои/Выключенные/Вся сеть
  • ✅ Создание PR (без промокода), медиа (промо+HNT сами), модотдела
  • 👁 Пароль создался и показался один раз; вход этим паролем работает
  • 👁 Карточка PR: плитки «медиек / рефералов у медиа / покупок / оборот», таблица его медиек с деньгами
  • ✅ Выключить/включить партнёра (страница и промо умирают/оживают)
  • ✅ Удаление аккаунта: PR с живыми медийками не удаляется; после удаления промокод свободен
  • 👁 Лимиты: создать медиа сверх media_limit PR-а - отказ; процент выше media_cap - отказ

2. PR в панели

  • ✅ Видит своих + ВСЕ модотделы; чужих медиек - только в «Вся сеть» (без логинов)
  • 👁 «Вся сеть»: ищет стримера по твичу → видит, чей он PR (защита от дублей)
  • ✅ Управляет ЛЮБЫМ модотделом (карточка, моды, страница), но деньги идут только назначившему
  • 👁 Чужую медийку открыть нельзя, свою - открывается рабочее место

3. Медийка в панели

  • 👁 Видит только себя; разделы Страница/Баннеры есть, Команды нет
  • ✅ Страница: тексты, тема (живое превью без сохранения), соцсети, своё фото (drag&drop)
  • ✅ Сборка из каталога: настройки+редукс+ганпак → «Собрать» → HNT-код обновился
  • 👁 Баннеры: PNG/MOV рендерятся, свой PNG в персонаже, ползунки не дёргают превью
  • 👁 Смена пароля панели в «Профиле»

4. Модотдел в панели

  • ✅ Раздел «Мои моды»: карточка (PNG drag&drop), привязка модов поиском, отвязка
  • ✅ Конфликт: чужой мод привязать нельзя, пишет у кого он
  • ✅ API-ключ: выпуск (показан один раз), перевыпуск гасит старый, отзыв
  • 👁 Вкладки в рабочем месте у админов: Статистика/Баннеры/Страница/Моды

5. Публичные страницы

  • ✅ /ref/SISTIM - медийный шаблон: сборка, HNT, «как я играю» одной строкой
  • ✅ /mod/MMTEST и /ref/MMTEST - модмейкерский: «Играй с модами», топ-3, счётчики
  • 👁 Темы красят страницу; выключенная «Страница включена» отдаёт 404
  • 👁 OG-превью в Discord/TG (кинуть ссылку в чат)
  • ✅ «За 30 дней» появится после накопления снапшотов (cron 00:10, первый срез снят)

6. Скачивание и атрибуция (нужен релиз клиента!)

  • ✅ /r/SISTIM отдаёт инсталлер с _rSISTIM в имени
  • 👁 Установка: инсталлер пишет referral.json; браузерное « (1)» в имени не ломает код
  • 👁 Регистрация в лаунчере: поле промокода предзаполнено из инсталлера
  • ✅ Липовый промокод не пускает регистрацию с ошибкой
  • ✅ Привязка навсегда: второй код после регистрации не перебивает
  • ✅ Антифрод: тот же HWID, что у партнёра - привязки нет
  • 👁 Реферал появился в статистике медийки в панели (кто, когда, по какому коду)
  • 👁 Регистрация без письма: кнопка «Создать аккаунт», кода из почты не спрашивает

7. Лаунчер: раздел «Авторы» (нужен билд из main)

  • 👁 Пункт «Авторы» между Модами и Сборками, виден гостю
  • 👁 Сетка: фото, ник, кол-во модов, загрузки; поиск фильтрует
  • 👁 Окно модотдела: лого, соцсети, все моды, фильтры Редуксы/Ганпаки + поиск
  • 👁 Follow: у гостя кнопка погашена; у юзера подписка/отписка, счётчик подписчиков
  • 👁 Пуш новинок: после недели и новых модов - плашка при заходе в «Авторы», второй раз подряд не показывается
  • 👁 Карточка редукса: автор = название модотдела, клик ведёт в его окно
  • 👁 «Редактировать» видит только сам модотдел и админ L2 (ведёт в панель)
  • 👁 Zapret: окно «поставь запрет» больше НЕ появляется; у кого стоит - whitelist дописан сам

8. API модмейкера (ключ)

  • ✅ whoami по ключу - 200 с промо; мусорный/отозванный ключ - 401
  • ✅ add/remove мода по ключу; несуществующий мод - mod_not_found
  • ✅ Троттлинг 30 req/мин на IP (429)

9. Деньги (заработает при подписках)

  • каркас ✅: purchases фиксирует доли на момент покупки; балансы = earned − paid
  • 👁 Запрос вывода из панели → Джон меняет статус → баланс уменьшился
  • ⏳ Врезать вызов referral_register_purchase в платёжный поток, когда появится оплата

10. Негативные проверки (безопасность)

  • ✅ Медийка не создаёт аккаунты, не видит чужих, не правит чужие страницы
  • ✅ PR не трогает root; никто не выключает Джона
  • ✅ Логины чужих медиек не отдаются в «Вся сеть»
  • ✅ sens/fps и ручной состав сборки сервер отбрасывает (белые списки)
  • ✅ Upload: подпись файла сверяется с расширением, >6МБ режется
  • 👁 Панель под чужим паролем не пускает; истёкший токен выкидывает на вход

Хвосты (не тест, а работа)

  • Релиз клиента - без него игроки не видят ни промокод, ни «Авторов» (#32/#36)
  • Промокод при регистрации на сайте (melouwen/MIAMI-GRAPHICS)
  • Полная HTTP-заливка модов по ключу - ждёт решения: класть ли R2-ключи на eu2
  • Снести тестовых: zz_mm_test, sist1m, zz_tmp_player (панель → Удалить)