# Автообновления TTRPG Player

## Сборка и публикация

- Релизы собираются **локально** (CI отключён).
- Артефакты кладутся в `D:\TTRPG-Release\` (или копируются из `release\` после сборки).
- Подготовка релиза: **`D:\TTRPG-Release\prepare-release.cmd`** (версия, git, сборка Win/Linux, копирование в папку).
- Публикация на VPS: **`D:\TTRPG-Release\publish.cmd`** (проверка + `scp`). Копия в репо: `scripts/ttrpg-release/`
- **Имена файлов без версии** — версия только в `latest*.yml`.

## Feed URL

В `package.json` → `build.publish.url`:

`https://updates.ttrpgplayer.ru/`

Обязателен **слэш в конце**. URL вшивается в установщик при `npm run pack:win`.

## Фиксированные имена артефактов

| Платформа | Файлы |
|-----------|--------|
| Windows | `latest.yml`, `TTRPGPlayer-Setup.exe`, `TTRPGPlayer-Setup.exe.blockmap` |
| Linux | `latest-linux.yml`, `TTRPGPlayer-x64.AppImage`, `TTRPGPlayer-arm64.AppImage` |
| macOS | `latest-mac.yml`, `TTRPGPlayer-x64.dmg`, `TTRPGPlayer-arm64.dmg` |

## Локальная сборка

```bash
npm ci
npm run build
npm run release:info
```

| Команда | Где | Результат |
|---------|-----|-----------|
| `npm run pack:win` | Windows | `release\` — Win + `latest.yml` |
| `npm run pack:linux` | Linux / WSL | AppImage + `latest-linux*.yml` |
| `npm run pack:mac` | macOS | dmg + `latest-mac.yml` |

Linux из PowerShell напрямую не собирается — только WSL/Linux (`scripts/release-linux-pack.mjs`).

После `pack:win` скопируйте из `release\` в `D:\TTRPG-Release\` файлы из таблицы выше.

## Сервер

- Домен: `https://updates.ttrpgplayer.ru/`
- nginx `root`: `/var/www/updates_mailib_ru`
- Проверка: `curl https://updates.ttrpgplayer.ru/latest.yml`

## Лицензия

Обновления доступны при активной лицензии. Ключи: `TTRPG-…` и устаревшие `DND-…`.
