Выпускайте обновления
Оверлей опубликован — дальше его улучшают. Обновление приходит подписчикам само, их макеты и настройки сохраняются, если соблюдать несколько правил. Около 10 минут.
Выпустите обновление
- Поменяйте код, как в прошлых шагах, и проверьте его с
npm run dev. - Поднимите
versionвracelink.overlay.json:"version": "1.1.0", - Соберите проект:
$ npm run build - В Studio на вкладке Проект кнопка теперь называется Обновить в Workshop. Форма уже заполнена тем, что опубликовано. В поле Что изменилось коротко напишите, что нового; если оставить пустым, будет «Version 1.1.0».
- Нажмите Обновить в Workshop.
Обновляется тот же элемент Мастерской: подписчики получат новую версию сами, их макеты сохранят оверлей, а настройки перейдут на новую схему.
- 1.0.0 → 1.0.1
- Исправление: поведение не меняется, только ошибки.
- 1.0.0 → 1.1.0
- Новое: настройка, поле, режим. Старое работает как раньше.
- 1.0.0 → 2.0.0
- Крупная переделка, после которой оверлей выглядит или настраивается иначе.
Не ломайте настройки игроков
Racelink хранит выбор каждого игрока по ключам настроек и при каждой загрузке сверяет его с манифестом:
- Новая настройка получает значение по умолчанию — добавлять можно смело.
- Удалённая настройка пропадает вместе с выбранным значением.
- Переименованный ключ для Racelink — удалённая настройка плюс новая: игроки потеряют свой выбор. Название в панели (
label) менять можно, ключ (key) — нет. - Число вне новых пределов прижимается к ближайшему пределу, а значение, которое больше не подходит (удалённый вариант списка), становится значением по умолчанию.
Если новая версия просит новое разрешение или новый адрес в интернете, Racelink спросит игрока ещё раз. Пока он не разрешит, новое остаётся закрытым — оверлей должен работать и без него.
Обновляйте SDK
SDK Racelink тоже выходит новыми версиями: новые поля телеметрии, исправления. Обновите его в проекте:
$ npm install @racelink/overlay@latestЧто поменялось, написано в node_modules/@racelink/overlay/CHANGELOG.md. После обновления запустите npm run build: сборка проверит, что код по-прежнему сходится с типами SDK.
Чужой проект как основа
Обновлять элемент Мастерской может только его автор. Если вы взяли за основу чужой проект, в его манифесте чужой workshop.publishedFileId, и публикация закончится ошибкой NOT_OWNER. Удалите publishedFileId из workshop и поменяйте id на свой — оверлей опубликуется новым элементом.
Что дальше
- Справочник полей —
node_modules/@racelink/overlay/docs/reference/fields.mdили Studio → «Данные API»: там найдутся данные для следующего оверлея. - Все типы настроек, условия и порядок пунктов —
node_modules/@racelink/overlay/docs/settings.md. - Карты трасс, логотипы марок и флаги стран Racelink отдаёт сам —
node_modules/@racelink/overlay/docs/assets.md.
Что должно получиться
versionв манифесте поднят, проект собран.- Элемент в Мастерской обновлён кнопкой «Обновить в Workshop».
- Ключи настроек и id оверлея не менялись.