Protocolo abierto · borrador 0.2

De tu servidor a tu consola, un protocolo abierto.

Lantern es un contrato abierto y versionado entre los homebrews de consola y los servidores de bibliotecas que cada uno tiene en casa para sus propios juegos: explorar la biblioteca, descargar con control de integridad, guardar copias de partidas y trucos.

Borrador 0.2

El texto aún puede cambiar antes de la 1.0. Los comentarios son bienvenidos, sobre todo de quienes escriben clientes y servidores.

Hecho para durar

Lo que lo hace sólido

Lantern empieza de cero: no es compatible con ningún protocolo anterior, así que cada decisión sirve a la seguridad y a la duración.

Lo nuevo

Lo que añade

Lo que los clientes tenían que adivinar hasta ahora, por escrito.

Implementarlo

Para quien escribe servidores y clientes

La especificación es breve: pocas rutas, formas fijas, HTTP y JSON sencillos.

Escribir un servidor

Sirve el saludo inicial y la biblioteca; añade copias de partidas, trucos o emparejamiento cuando quieras y decláralos en sus funciones. Un servidor cabe en un fin de semana.

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

Escribir un cliente

Encuentra los servidores de la red local, lee sus funciones, recorre la biblioteca página a página y verifica el SHA-256 de cada descarga. Un cliente cabe en unos cientos de líneas de C++.

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

Esquemas y ejemplos

Un esquema JSON para cada documento, un ejemplo de cada uno y una descripción OpenAPI de las rutas, para verificar los tuyos.

schemas/v1 · examples/v1 · openapi.yaml

En el repositorio: una suite de conformidad para lanzar contra un servidor (conformance/) y un pequeño servidor de referencia que la supera (server/). Solo una implementación que la supere debería llamarse compatible con Lantern.

El primer cliente será PlayShelf, un gestor de paquetes homebrew para Nintendo Switch. PlayShelf

Para tus propios juegos

Lantern lleva lo que tiene tu servidor, entre él y tu consola. No busca nada ni distribuye nada: no es una forma de conseguir juegos, y sus servidores son para los juegos que posees.

Licencias

Libre de implementar

Las preguntas, comentarios y propuestas van a los issues del repositorio.

Este sitio

Privacidad

Este sitio no usa cookies y solo guarda en tu navegador el idioma que eliges en su encabezado. No carga nada de otro sitio: sus fuentes, imágenes y scripts se sirven con él.

Cuenta sus visitas con Umami Cloud, en la Unión Europea (Fráncfort), sin cookies. Por cada página vista: la página, la página de la que vienes, tu navegador, sistema y tipo de dispositivo, el tamaño de tu pantalla, tu idioma y tu país. Tu dirección IP sirve para saber tu país y distinguir las visitas, y no se guarda con ellas. Los recuentos se conservan seis meses, solo se usan para saber qué se lee y nunca se venden ni se comparten. La política de Umami: umami.is/privacy.

Quién publica este sitio, quién lo aloja y cómo preguntar por tus datos: Privacidad y aviso legal

Léelo y cuéntanos

El borrador es el momento de cambiar cosas. Un issue sobre una ruta, un campo o un caso olvidado ayuda a todos los servidores y clientes que vendrán.