Prepará tu distribución
ZIP con index.html en la raíz, rutas relativas y archivos estáticos. Máximo 25 MB comprimidos, 100 MB descomprimidos, 30 MB por archivo y 1500 entradas. No se admiten enlaces simbólicos, rutas ocultas, archivos de servidor o paquetes cifrados. El runtime conserva mayúsculas/minúsculas y no ejecuta código de backend.
Conectá el bridge
El iframe y el portal validan el origen y la ventana del handshake antes de transferir un MessagePort. El SDK envía solicitudes RPC por ese puerto. El portal valida los métodos y llama a la API con un token de juego de cinco minutos que nunca entra al iframe.
const play = await SaltoPlay.init();
const session = await play.auth.getSession();
const tag = await play.player.getSaltoTag();
// La demo local devuelve demo: true y datos de invitado.Permisos y consentimiento
Antes de una partida conectada, el portal pide permiso para leer perfil y SaltoTag, consultar/solicitar logros casuales y leer/escribir guardados del juego. El token sólo sirve para ese jugador y juego. Las llamadas se rechazan si el juego deja de estar publicado o la autorización se revoca.
Qué puede ejecutar el juego
JavaScript, Canvas, WebGL y WASM de una sola hebra. El runtime restringe red a su propio origen, bloquea service workers, frames, formularios y APIs de cámara/micrófono. No se permiten backends subidos, scripts de terceros ni SharedArrayBuffer en esta versión. Empaquetá todas las dependencias del juego.
Versiones y publicación
Cada distribución tiene un ID y hash. El administrador elige qué distribución revisada publicar; puede volver a una distribución publicada anteriormente. Para actualizar contenido publicado, el administrador debe devolver el proyecto a borrador, lo que lo retira temporalmente del catálogo. El flujo de actualización sin interrupción y los previews firmados quedan pendientes.
Probar Órbita
Ejecutá pnpm runtime junto a pnpm dev y abrí /jugar/orbita sin configurar DATABASE_URL. La demo usa el bridge real y guarda datos en memoria de la página padre. No escribe logros ni datos de usuario en PostgreSQL.