админка

This commit is contained in:
2026-03-13 23:33:35 +04:00
parent bae063a4fa
commit eaedeeb52b
41 changed files with 2506 additions and 67 deletions
+12
View File
@@ -8,6 +8,10 @@ Laravel 12-приложение с WoW-лендингом и публичной
- Главная страница оформлена в тёмной cinematic-стилистике с компоновкой, вдохновлённой официальным сайтом WoW.
- Форма регистрации создаёт аккаунт напрямую в `acore_auth` через отдельное соединение `azerothcore_auth`.
- При регистрации заполняются таблицы `account`, `realmcharacters` и `account_access`.
- Регистрация возможна только по инвайт-коду, который хранится в базе сайта.
- Добавлены личный кабинет и админка поверх игровых аккаунтов из auth-базы.
- В кабинете доступны смена пароля, список персонажей и ссылка на клиент игры из S3.
- В админке доступны просмотр всех аккаунтов, их персонажей, смена `gmlevel` и выпуск инвайт-кодов.
- Проект подготовлен под Laravel Sail: приложение работает в контейнере, а AzerothCore auth DB берётся с хоста через `host.docker.internal:3306`.
## Как запускать через Sail
@@ -89,12 +93,20 @@ chmod +x scripts/deploy-ubuntu.sh
- `AZEROTHCORE_AUTH_DB_DATABASE=acore_auth`
- `AZEROTHCORE_AUTH_DB_USERNAME=root`
- `AZEROTHCORE_AUTH_DB_PASSWORD=password`
- `AZEROTHCORE_CHARACTERS_DB_DATABASE=acore_characters`
- `MOONWELL_ADMIN_MIN_GMLEVEL=3`
- `MOONWELL_CLIENT_OBJECT_KEY="World of Warcraft.zip"`
- `AWS_ENDPOINT=https://storage.yandexcloud.net`
- `AWS_BUCKET=warcraft-client`
## Архитектура
- `compose.yaml` — Sail-окружение с `laravel.test` и локальным MySQL для самого сайта.
- `config/database.php` — отдельное соединение `azerothcore_auth`.
- `config/moonwell.php` — настройки realm/landing и регистрации.
- `app/Auth/AzerothCoreUserProvider.php` — Laravel-auth поверх игровых аккаунтов.
- `app/Services/AzerothCoreAccountService.php` — работа с аккаунтами, персонажами, паролями и `gmlevel`.
- `app/Services/GameClientDownloadService.php` — генерация ссылки на клиент из S3.
- `app/Services/AzerothCoreAccountRegistrar.php` — SRP6-совместимое создание учётной записи AzerothCore.
- `app/Http/Controllers/LandingController.php` — данные лендинга и обработка формы.