Protocollo aperto · bozza 0.2

Dal tuo server alla tua console, un protocollo aperto.

Lantern è un contratto aperto e versionato tra gli homebrew per console e i server di librerie che si tengono in casa per i propri giochi: sfogliare la libreria, scaricare con controllo d'integrità, conservare salvataggi e trucchi.

Bozza 0.2

Il testo può ancora cambiare prima della 1.0. I commenti sono benvenuti, soprattutto da chi scrive client e server.

Fatto per durare

Cosa lo rende solido

Lantern riparte da zero: non è compatibile con nessun protocollo precedente, così ogni scelta serve la sicurezza e la durata.

Cosa c'è di nuovo

Cosa aggiunge

Ciò che i client finora dovevano indovinare, messo per iscritto.

Implementarlo

Per chi scrive server e client

La specifica è breve: poche rotte, forme fisse, HTTP e JSON semplici.

Scrivere un server

Servi l'handshake e la libreria; aggiungi backup dei salvataggi, trucchi o abbinamento quando vuoi, e dichiarali tra le sue funzioni. Un server sta in un fine settimana.

GET /.well-known/lantern
GET /api/lantern/v1/apps?sort=added

Scrivere un client

Trova i server sulla rete locale, leggi le loro funzioni, sfoglia la libreria pagina per pagina e verifica lo SHA-256 di ogni download. Un client sta in qualche centinaio di righe di C++.

User-Agent: ExampleClient/0.1
Range: bytes=0-1048575

Schemi ed esempi

Uno schema JSON per ogni documento, un esempio di ciascuno e una descrizione OpenAPI delle rotte, per verificarci i tuoi.

schemas/v1 · examples/v1 · openapi.yaml

Nel repository: una suite di conformità da eseguire contro un server (conformance/) e un piccolo server di riferimento che la supera (server/). Solo un'implementazione che supera la suite dovrebbe dirsi compatibile con Lantern.

Il primo client sarà PlayShelf, un gestore di pacchetti homebrew per Nintendo Switch. PlayShelf

Per i tuoi giochi

Lantern porta ciò che contiene il tuo server, tra lui e la tua console. Non trova nulla e non distribuisce nulla: non è un modo per procurarsi giochi, e i suoi server sono per i giochi che possiedi.

Licenze

Libero da implementare

Domande, commenti e proposte vanno nelle issue del repository.

Questo sito

Privacy

Questo sito non imposta cookie e nel tuo browser conserva solo la lingua che scegli nella sua intestazione. Non carica nulla da altri siti: caratteri, immagini e script sono serviti insieme al sito.

Conta le visite con Umami Cloud, nell'Unione europea (Francoforte), senza cookie. Per ogni pagina vista: la pagina, la pagina da cui arrivi, il tuo browser, sistema e tipo di dispositivo, le dimensioni dello schermo, la tua lingua e il tuo paese. Il tuo indirizzo IP serve a ricavare il paese e a distinguere le visite, e non viene conservato con esse. I conteggi sono conservati sei mesi, usati solo per sapere cosa viene letto, e mai venduti né condivisi. L'informativa di Umami: umami.is/privacy.

Chi pubblica questo sito, chi lo ospita e come chiedere dei tuoi dati: Privacy e note legali

Leggilo, poi dicci

La bozza è il momento per cambiare le cose. Una issue su una rotta, un campo o un caso dimenticato aiuta tutti i server e i client che verranno.