tp-back.starlight.digital). It searches the platform’s catalogue by title, retrieves project metadata including seasons and episodes (each identified by a unique hash), and resolves hashes to playable stream URLs on demand using a call-method pattern. Quality variants returned by the StarLight API are exposed to Lampac as a StreamQualityTpl, letting the player pick the best available resolution.
Module version: 4.1 (
ModInit.Version in LME.StarLight/ModInit.cs). Default backend: https://tp-back.starlight.digital.HTTP routes
Index action handles search, season selection, and episode listing. The /play sub-route resolves a hash to a stream URL and returns a VideoTpl JSON payload.
Key query parameters for the Index action:
| Parameter | Type | Description |
|---|---|---|
title | string | Title used for search |
original_title | string | Original title (also used for search) |
imdb_id | string | IMDb identifier (passed through for similar-results links) |
kinopoisk_id | long | Kinopoisk identifier (passed through) |
year | int | Release year (passed through) |
serial | int | 1 = TV serial, 0 = movie |
s | int | Season index (-1 = show season list) |
href | string | Direct project URL (skips search) |
checksearch | bool | Lightweight content availability check |
rjson | bool | Return JSON instead of HTML templates |
/play parameters
| Parameter | Type | Description |
|---|---|---|
hash | string | Episode or movie hash from the StarLight API |
title | string | Display title for the video |
How content is resolved
- Search —
invoke.Search(title, original_title)queries the StarLight catalogue. If multiple results are found, aSimilarTpldisambiguation list is returned. - Project fetch —
invoke.GetProject(href)retrieves full metadata: season list, episode list, and a top-level hash for the movie case. - Episode listing — episodes are sorted first by numeric episode number (extracted from title or a dedicated
Numberfield), then by broadcast date. Each episode is rendered withmethod: "call"pointing to/lite/lme.starlight/play?hash=<hash>. - Stream resolution — the
/playendpoint callsinvoke.ResolveStream(hash), which returns aStreamResultwith one or more(link, quality)pairs. These are assembled into aStreamQualityTplso the Lampac player can select a quality level.
Configuration (init.conf)
Key parameters
Enables or disables the module.
Base URL of the StarLight backend API.
Label shown in the Lampac source list.
Sort order among sources.
Route video streams through Lampac’s built-in stream proxy. Automatically disabled when APN is active.
Route outbound parsing requests through the
proxy list.Season and episode ordering
Seasons are indexed from zero internally but presented with 1-based numbering. Episode ordering uses the following priority:- Explicit
Numberfield from the API. - A number found before a keyword such as
"випуск","серия", or"серія"in the episode title. - Broadcast date from the
Datefield ("yyyy-MM-dd HH:mm:ss"format). - Original API order as a final fallback.
APN and stream proxy precedence
- APN active (
apn/apn_hostininit.conf) →streamproxyis forced off. streamproxy: trueand no APN →apnstreamandapnare cleared.- StarLight does not currently define a
magic_apndefault; APN must be configured explicitly if needed.