mirror of
https://github.com/SirHumza/orbisRPC.git
synced 2026-10-25 02:02:37 +02:00
docs: rewrite ARTWORK (mp proxy rule, true default app id)
This commit is contained in:
1 parent
19ceef79ce
commit
0d8a897a91
1 file changed
+23
-36
+23
-36
@@ -1,46 +1,33 @@
|
||||
# Cover art pipeline
|
||||
|
||||
## Path A: Sony TMDB icon URLs (primary, fully automatic)
|
||||
How a game gets its tile. Order matters — first hit wins.
|
||||
|
||||
Every title lookup also queries Sony's TMDB service, which returns an
|
||||
official 512x512 icon URL on Sony's CDN. The daemon sends it as
|
||||
`assets.large_image` (Discord accepts external image URLs there). No
|
||||
uploads, no hosting, no per-game work, works on any console. If the
|
||||
service lacks the title or the network fails, the next path is tried.
|
||||
## Path 1: Sony TMDB live (automatic)
|
||||
|
||||
## Path B: icon pack + external URLs (fallback, maintainer-hosted)
|
||||
Every title lookup queries Sony's TMDB service, which returns an
|
||||
official icon URL on Sony's CDN. Requires the console to reach
|
||||
`tmdb.np.dl.playstation.net` — without the nanoDNS exception this
|
||||
path is dead (see Troubleshooting). No uploads, no hosting, no
|
||||
per-game work.
|
||||
|
||||
## Path A: icon pack + external URLs (recommended)
|
||||
## Path 2: icon pack (fallback, maintainer-hosted)
|
||||
|
||||
The daemon sends `assets.large_image` as
|
||||
`<art_base_url><lowercase titleId>.png` (Discord accepts external image
|
||||
URLs in asset fields). Host the pack once, e.g. in this repo:
|
||||
The daemon sends `<art_base_url><lowercase titleId>.png`. Default is
|
||||
the project pack (`orbisrpc-host`); host your own by setting
|
||||
`art_base_url`. `scripts/sync_icons.sh` pulls every
|
||||
`/user/appmeta/<TITLEID>/icon0.png` off the PS4 over FTP (read-only)
|
||||
into `config/icons/`. Missing files degrade to no image.
|
||||
|
||||
```
|
||||
config/icons/cusa00740.png (512x512 PNG, pulled from the console)
|
||||
```
|
||||
## Path 3: uploaded Discord asset keys
|
||||
|
||||
`scripts/sync_icons.sh` pulls every `/user/appmeta/<TITLEID>/icon0.png`
|
||||
off the PS4 over FTP (read-only) into `config/icons/`. Set
|
||||
`art_base_url` in config to the hosted prefix, e.g.
|
||||
`https://raw.githubusercontent.com/<you>/orbisRPC/main/config/icons/`.
|
||||
Every install then shows art with zero setup. Missing files degrade to
|
||||
no image. Pack hosting is a maintainer decision (game art is not ours).
|
||||
Set `asset_idle` / `asset_playing` to an uploaded key to prefer that
|
||||
instead — keys need no network at all. Current default
|
||||
`application_id` is `1536977374795538532`. Capped at 300 assets per app.
|
||||
|
||||
## Path B: shared Discord application (fallback)
|
||||
## Hard rule (verified on hardware)
|
||||
|
||||
Create an application, upload one PNG per game under Art Assets named
|
||||
as the lowercase title ID, set `application_id` in config. The daemon
|
||||
sends the asset key instead. Capped at 300 assets per app.
|
||||
|
||||
Current default: the public PS4-Rich-Presence-for-Discord application
|
||||
(zorua98741/bshar1865, ID 858345055966461973), which already hosts
|
||||
per-title art. Borrowed backend, credited here: if it ever goes away,
|
||||
art degrades to nothing and everything else keeps working. Replace the
|
||||
default with your own app ID to own the whole chain.
|
||||
|
||||
## Runtime behavior
|
||||
|
||||
URL pack wins when `art_base_url` is set, uploaded keys when only
|
||||
`application_id` is set, no artwork otherwise (one log notice). Missing
|
||||
art never crashes anything.
|
||||
Raw external URLs and dangling keys **drop the entire activity**
|
||||
silently — name, timer, everything. So every URL above is resolved
|
||||
through Discord's `mp:` external-assets proxy at post time, and
|
||||
dangling keys are dropped, never sent. Missing art never crashes
|
||||
anything; worst case is a tile with no image.
|
||||
Reference in new issue
Block a user