main
Co-authored-by: Cursor <cursoragent@cursor.com>
TTRPG License Manager
Android-приложение для администрирования лицензий TTRPG Player через сервер DndGamePlayerLicenseServer.
Возможности
- Лицензии — список всех продуктовых ключей с параметрами (
sub,pid, лимит устройств, срок, статус отзыва, активированныеdeviceId). - Новый ключ — генерация продуктового ключа через
POST /v1/admin/product-keys.- По умолчанию — period (
validDays, отсчёт с первой активации в TTRPG Player). - Режим фиксированная дата — явный
expiresAtSec(старый формат).
- По умолчанию — period (
- Настройки — URL сервера и admin token (
LICENSE_ADMIN_TOKEN).
Требования
- Android Studio Ladybug (2024.2+) или новее
- JDK 17
- Android SDK 35
Сборка
Первоначальная настройка SDK (Windows)
powershell -ExecutionPolicy Bypass -File .\scripts\setup-android-sdk.ps1
$env:ANDROID_HOME = "$env:LOCALAPPDATA\Android\Sdk"
Android Studio установлен в C:\Program Files\Android\Android Studio. Для запуска на устройстве подключите телефон с USB-отладкой или создайте эмулятор в Android Studio (Device Manager).
Сборка debug APK
./gradlew assembleDebug
APK: app/build/outputs/apk/debug/app-debug.apk
- Откройте проект в Android Studio (или соберите через Gradle, см. выше).
- При первом запуске укажите в Настройках:
- URL:
https://license.ttrpgplayer.ru/(или локальный сервер) - Admin token с сервера (
LICENSE_ADMIN_TOKEN)
- URL:
- Run на устройстве или эмуляторе.
./gradlew assembleDebug
API сервера
Приложение использует admin-эндпоинты (Bearer token):
| Метод | Путь | Описание |
|---|---|---|
| GET | /v1/admin/licenses |
Список лицензий |
| POST | /v1/admin/product-keys |
Создание ключа |
Перед использованием приложения задеплойте обновлённый сервер с этими эндпоинтами.
Логотип
Иконка и брендинг — логотип TTRPG Player (фиолетовая молния #8B5CF6).
Локальная разработка с сервером
cd DndGamePlayerLicenseServer
cp data.example.json data.json
# задайте LICENSE_PRIVATE_KEY_PEM
npm start
В приложении укажите URL http://10.0.2.2:3847/ (эмулятор) и admin token.
Description
Languages
Kotlin
98.1%
PowerShell
1.9%