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.
- Abre el
caputchin.jsonde tu repositorio. - Lee los Términos de Envío del Marketplace.
- Añade
"terms_accepted": trueen el nivel superior del manifiesto. - Haz commit y push.
- 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.
- Elige un identificador SPDX de la lista aprobada que de verdad cubra tu código y tus assets empaquetados.
- Abre
caputchin.jsony fija el campolicenseen el nivel superior, por ejemplo"license": "MIT". - 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. - 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. - 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-gamepara 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.jsonen la raíz (o, para juegos hijos en una colección, no tienecaputchin.jsonen el directorio leaf). - La URL del repositorio que introdujiste está mal. Usa
owner/nameo la URL completahttps://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 valorentrycontiene recorrido (../), barras absolutas, query strings, o espacios en blanco. Usa una ruta limpia relativa al repo comodist/game.js.npm: npm package name is malformed: tu camponpmno es una coordenada npm válida. Usanameo@scope/name, solo alfanuméricos + guiones + puntos + guiones bajos.games[i] must be a relative path inside the repo: una ruta hija en el arraygamesde tu colección se escapa del repo. Usa rutas comopackages/leaf-memory, no../externalni/abs/path.run.entry must be a clean relative path: la misma regla de higiene queentry, 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 serentry.jsniartifact.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).
- Abre
caputchin.json. - Encuentra
marketplace.author.email. - 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.
- 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
npmtodaví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.