Caputchin
Desarrollo de juegos del marketplace

Arregla un fallo de publicación en el marketplace

Cuando el modal de Publicar o actualizar devuelve un error, o recibes un correo nuestro sobre un fallo de publicación, encuentra tu código de error abajo y sigue el arreglo. Una vez que empujas el arreglo a tu repositorio, haz clic en Publicar o actualizar de nuevo para volver a comprobar de inmediato, o espera a la siguiente ejecución diaria del indexador.

Cada fallo listado aquí es algo que puedes arreglar en tu repositorio. Si no ves tu error aquí, revisa la referencia completa de errores de publicación para códigos menos comunes.

terms_accepted no está fijado

Ves esto cuando tu caputchin.json no tiene "terms_accepted": true en el nivel superior.

  1. Abre el caputchin.json de tu repositorio.
  2. Lee los Términos de Envío del Marketplace.
  3. Añade "terms_accepted": true en el nivel superior del manifiesto.
  4. Haz commit y push.
  5. Haz clic en Publicar o actualizar de nuevo, o espera a la siguiente ejecución diaria del índice.

El valor debe ser el booleano literal de JSON true. Las cadenas ("true"), los números (1), u omitir el campo cuentan todos como no aceptado.

La licencia no está en la lista aprobada

Ves esto cuando license falta, está malformada, o nombra un identificador fuera de nuestra lista aprobada.

  1. Elige un identificador SPDX de la lista aprobada que de verdad cubra tu código y tus assets empaquetados.
  2. Abre caputchin.json y fija el campo license en el nivel superior, por ejemplo "license": "MIT".
  3. Si tu código tiene licencia dual, usa una expresión SPDX OR (p. ej. "MIT OR Apache-2.0"). Al menos una rama debe estar en la lista aprobada.
  4. Si tu código es MIT pero empaqueta assets de Creative Commons, usa AND (p. ej. "MIT AND CC-BY-4.0"). Cada rama debe estar en la lista aprobada.
  5. Haz commit, push, reintenta.

Si tu proyecto depende de una licencia que no está en nuestra lista aprobada (lo más común la familia GPL, AGPL, o LGPL), el único arreglo es relicenciar o quitar los componentes afectados. No podemos conceder excepciones por autor.

No pudimos encontrar tu repositorio

Ves esto cuando nuestra descarga del manifiesto devuelve un 404.

Causas comunes y arreglos:

  • Tu repositorio es privado. Hazlo público, o quita el topic caputchin-game para dejar de aparecer en el índice.
  • A tu repositorio le falta el topic de GitHub caputchin-game. Añádelo vía la sección About en la página del repositorio.
  • Tu repositorio no tiene caputchin.json en la raíz (o, para juegos hijos en una colección, no tiene caputchin.json en el directorio leaf).
  • La URL del repositorio que introdujiste está mal. Usa owner/name o la URL completa https://github.com/owner/name.

Empuja un caputchin.json a tu repositorio, luego reintenta.

La estructura del manifiesto está malformada

Ves un manifest-error cuyo detalle empieza con un nombre de campo como entry, npm, games, marketplace.support, o run.modules[0].name.

El detalle te dice exactamente qué campo está mal:

  • entry: entry must be a clean relative path: tu valor entry contiene recorrido (../), barras absolutas, query strings, o espacios en blanco. Usa una ruta limpia relativa al repo como dist/game.js.
  • npm: npm package name is malformed: tu campo npm no es una coordenada npm válida. Usa name o @scope/name, solo alfanuméricos + guiones + puntos + guiones bajos.
  • games[i] must be a relative path inside the repo: una ruta hija en el array games de tu colección se escapa del repo. Usa rutas como packages/leaf-memory, no ../external ni /abs/path.
  • run.entry must be a clean relative path: la misma regla de higiene que entry, aplicada al entry de run dividido opcional.
  • run.modules[i].name: el nombre del módulo debe coincidir con [a-zA-Z0-9_-]+\.(wasm|js)$ y no puede ser entry.js ni artifact.js.

Edita el campo nombrado según la regla, haz commit, push, reintenta.

marketplace.author tiene un correo inválido

Ves esto cuando marketplace.author.email está presente pero no coincide con una forma de correo normal (un @, un dominio con punto, sin espacios en blanco).

  1. Abre caputchin.json.
  2. Encuentra marketplace.author.email.
  3. O arregla el valor a una dirección de correo real (la usamos solo para notificaciones de fallo de publicación) o quita el campo por completo.
  4. Haz commit, push, reintenta.

También puedes quitar el bloque marketplace.author entero si no quieres recibir notificaciones de fallo de publicación.

Tu artefacto run es no determinista

Ves esto cuando nuestra prueba de conformidad corre la función run(seed, trace) de tu juego y no produce un veredicto conforme.

Importante: esto no es un fallo de publicación fatal. Tu juego sigue listado en la navegación del marketplace y se puede incrustar. Solo muestra No reproducible y no puede ejercer de gate de una clave de sitio hasta que se arregle el problema de determinismo.

Causas comunes:

  • Tu simulación lee Date.now(), performance.now(), Math.random(), u otros globales no deterministas.
  • Tu simulación lee estado externo (DOM, red, almacenamiento) que no proveemos en el momento de la repetición.
  • Tu simulación depende de aritmética de coma flotante que difiere entre runtimes.

Arregla la simulación para que sea una función pura de la semilla y la traza, push, reintenta. Mira el contrato de repetición para la regla de determinismo, y considera el engine kit opcional, que provee un RNG sembrable determinista y un reloj.

La descarga del bundle falló

Ves esto cuando la URL del bundle fijada por entry y/o npm no se puede descargar, devuelve un no-2xx, o excede 12MB.

  • Si acabas de empujar una nueva versión: el CDN puede no haber propagado todavía. Espera un minuto y reintenta.
  • Si tu bundle supera los 12MB: recorta assets, divide en módulos vía la declaración run, o mueve los assets grandes a un camino de entrega distinto.
  • Si tu paquete npm todavía no está publicado: publícalo primero; no podemos descargar versiones no publicadas.

Demasiadas peticiones de publicación

Ves esto en el modal de publicación manual cuando has enviado más de diez peticiones en los últimos 60 segundos.

Espera 60 segundos y reintenta. No hay forma de subir el límite; protege el endpoint del abuso.

Detener los correos de notificación

Si quieres dejar de recibir correos de fallo de publicación, mira los Términos de Envío sección 10. La dirección destinataria es tu marketplace.author.email en el manifiesto; quitarlo o cambiarlo detiene los correos.

Véase también

En esta página