Racelink
Кроки посібника · 08 / 08

// Посібник з оверлеїв · 08

Release updates

The overlay is published; now you improve it. Updates reach subscribers by themselves, and their layouts and settings stay, as long as you keep a few rules. About 10 minutes.

Цей посібник поки що лише англійською.

Release an update

  1. Change the code as in the earlier steps and try it with npm run dev.
  2. Raise version in racelink.overlay.json:
    racelink.overlay.json
    "version": "1.1.0",
  3. Build the project:
    $ npm run build
  4. In Studio, on the Project tab, the button now says Update in the Workshop. The form starts from what is published. In What changed write briefly what is new; left empty, it says “Version 1.1.0”.
  5. Press Update in the Workshop.

The same Workshop item is updated: subscribers get the new version by themselves, their layouts keep the overlay, and their settings move to the new schema.

1.0.0 → 1.0.1
A fix: behaviour stays, only mistakes go.
1.0.0 → 1.1.0
Something new: a setting, a field, a mode. The old works as before.
1.0.0 → 2.0.0
A big rework after which the overlay looks or is set up differently.

Do not break players’ settings

Racelink keeps each player’s choice by setting key and checks it against the manifest every time the overlay loads:

  • A new setting gets its default — add settings freely.
  • A removed setting goes, along with the chosen value.
  • A renamed key is, for Racelink, a removed setting plus a new one: players lose their choice. The name in the panel (label) may change, the key may not.
  • A number outside the new limits is moved to the nearest limit, and a value that no longer fits (a removed option of a list) becomes the default.

If a new version asks for a new permission or a new internet host, Racelink asks the player again. Until they allow it, the new one stays closed — the overlay must work without it.

Update the SDK

The Racelink SDK gets new versions too: new telemetry fields, fixes. Update it in the project:

$ npm install @racelink/overlay@latest

What changed is in node_modules/@racelink/overlay/CHANGELOG.md. After updating run npm run build: the build checks that the code still matches the SDK’s types.

Someone else’s project as a start

Only its author can update a Workshop item. If you started from someone else’s project, its manifest has their workshop.publishedFileId, and publishing ends with NOT_OWNER. Remove publishedFileId from workshop and change the id to your own — the overlay is published as a new item.

What next

  • The field reference — node_modules/@racelink/overlay/docs/reference/fields.md or Studio → API data: the data for your next overlay is there.
  • Every setting type, conditions and item order — node_modules/@racelink/overlay/docs/settings.md.
  • Track maps, car brand logos and country flags come from Racelink — node_modules/@racelink/overlay/docs/assets.md.

What you should have

  • version in the manifest is raised and the project is built.
  • The Workshop item is updated with “Update in the Workshop”.
  • Setting keys and the overlay’s id are unchanged.