Caputchin
Développement de jeu pour le marketplace

Corriger un échec de publication au marketplace

Quand la modale Publier ou mettre à jour renvoie une erreur, ou que tu reçois un e-mail de notre part au sujet d'un échec de publication, trouve ton code d'erreur ci-dessous et suis la correction. Une fois que tu pousses la correction vers ton dépôt, clique de nouveau Publier ou mettre à jour pour revérifier immédiatement, ou attends le prochain passage quotidien de l'indexeur.

Chaque échec listé ici est quelque chose que tu peux corriger dans ton dépôt. Si tu ne vois pas ton erreur ici, vérifie la référence complète des erreurs de publication pour les codes moins courants.

terms_accepted non réglé

Tu vois ceci quand ton caputchin.json n'a pas "terms_accepted": true au niveau supérieur.

  1. Ouvre le caputchin.json de ton dépôt.
  2. Lis les Conditions de soumission au Marketplace.
  3. Ajoute "terms_accepted": true au niveau supérieur du manifeste.
  4. Commit et pousse.
  5. Clique de nouveau Publier ou mettre à jour, ou attends le prochain passage d'indexation quotidien.

La valeur doit être le booléen JSON littéral true. Les chaînes ("true"), les nombres (1), ou l'omission du champ comptent tous comme non accepté.

Licence pas sur la liste approuvée

Tu vois ceci quand license est manquante, malformée, ou nomme un identifiant hors de notre liste approuvée.

  1. Choisis un identifiant SPDX de la liste approuvée qui couvre véritablement ton code et tes ressources embarquées.
  2. Ouvre caputchin.json et règle le champ license au niveau supérieur, par exemple "license": "MIT".
  3. Si ton code est sous double licence, utilise une expression SPDX OR (par ex. "MIT OR Apache-2.0"). Au moins une branche doit être sur la liste approuvée.
  4. Si ton code est MIT mais embarque des ressources Creative Commons, utilise AND (par ex. "MIT AND CC-BY-4.0"). Chaque branche doit être sur la liste approuvée.
  5. Commit, pousse, réessaie.

Si ton projet dépend d'une licence qui n'est pas sur notre liste approuvée (le plus souvent la famille GPL, AGPL ou LGPL), la seule correction est de re-licencier ou de retirer les composants affectés. Nous ne pouvons pas accorder d'exceptions au cas par cas par auteur.

Nous n'avons pas pu trouver ton dépôt

Tu vois ceci quand notre récupération de manifeste renvoie un 404.

Causes courantes et corrections :

  • Ton dépôt est privé. Rends-le public, ou retire le topic caputchin-game pour cesser d'apparaître dans l'index.
  • Ton dépôt n'a pas le topic GitHub caputchin-game. Ajoute-le via la section About sur la page du dépôt.
  • Ton dépôt n'a pas de caputchin.json à la racine (ou, pour les jeux enfants d'une collection, pas de caputchin.json au répertoire feuille).
  • L'URL du dépôt que tu as saisie est fausse. Utilise owner/name ou l'URL complète https://github.com/owner/name.

Pousse un caputchin.json vers ton dépôt, puis réessaie.

La structure du manifeste est malformée

Tu vois une manifest-error dont le détail commence par un nom de champ comme entry, npm, games, marketplace.support ou run.modules[0].name.

Le détail te dit exactement quel champ est faux :

  • entry: entry must be a clean relative path : ta valeur entry contient une traversée (../), des barres obliques absolues, des chaînes de requête, ou des espaces. Utilise un chemin propre relatif au dépôt comme dist/game.js.
  • npm: npm package name is malformed : ton champ npm n'est pas une coordonnée npm valide. Utilise name ou @scope/name, alphanumériques + tirets + points + underscores seulement.
  • games[i] must be a relative path inside the repo : un chemin d'enfant dans le tableau games de ta collection s'échappe du dépôt. Utilise des chemins comme packages/leaf-memory, pas ../external ni /abs/path.
  • run.entry must be a clean relative path : même règle d'hygiène que entry, appliquée à l'entrée de run découpée optionnelle.
  • run.modules[i].name : le nom de module doit correspondre à [a-zA-Z0-9_-]+\.(wasm|js)$ et ne peut pas être entry.js ni artifact.js.

Édite le champ nommé selon la règle, commit, pousse, réessaie.

marketplace.author a un e-mail invalide

Tu vois ceci quand marketplace.author.email est présent mais ne correspond pas à une forme d'e-mail normale (un @, un domaine pointé, pas d'espace).

  1. Ouvre caputchin.json.
  2. Trouve marketplace.author.email.
  3. Soit corrige la valeur en une vraie adresse e-mail (nous l'utilisons seulement pour les notifications d'échec de publication), soit retire entièrement le champ.
  4. Commit, pousse, réessaie.

Tu peux aussi retirer tout le bloc marketplace.author si tu ne veux pas recevoir de notifications d'échec de publication.

Ton artefact run est non déterministe

Tu vois ceci quand notre test de conformité exécute la fonction run(seed, trace) de ton jeu et qu'elle ne produit pas un verdict conforme.

Important : ce n'est pas un échec de publication fatal. Ton jeu est toujours listé dans le parcours du marketplace et peut être intégré. Il s'affiche juste Non rejouable et ne peut pas gater une clé de site jusqu'à ce que le problème de déterminisme soit corrigé.

Causes courantes :

  • Ta simulation lit Date.now(), performance.now(), Math.random(), ou d'autres globaux non déterministes.
  • Ta simulation lit un état externe (DOM, réseau, stockage) que nous ne fournissons pas au moment du rejeu.
  • Ta simulation dépend d'une arithmétique à virgule flottante qui diffère entre runtimes.

Corrige la simulation pour qu'elle soit une fonction pure de la graine et de la trace, pousse, réessaie. Vois le contrat de rejeu pour la règle de déterminisme, et envisage le kit moteur optionnel, qui fournit un RNG ensemençable déterministe et une horloge.

La récupération du bundle a échoué

Tu vois ceci quand l'URL du bundle épinglée par entry et/ou npm ne peut pas être récupérée, renvoie un non-2xx, ou dépasse 12 Mo.

  • Si tu viens de pousser une nouvelle version : le CDN peut ne pas encore avoir propagé. Attends une minute et réessaie.
  • Si ton bundle dépasse 12 Mo : élague les ressources, découpe en modules via la déclaration run, ou déplace les grosses ressources vers un autre chemin de livraison.
  • Si ton paquet npm n'est pas encore publié : publie-le d'abord ; nous ne pouvons pas récupérer les versions non publiées.

Trop de requêtes de publication

Tu vois ceci sur la modale de publication manuelle quand tu as soumis plus de dix requêtes dans les 60 dernières secondes.

Attends 60 secondes et réessaie. Il n'y a aucun moyen d'élever la limite ; elle protège le point de terminaison de l'abus.

Arrêter les e-mails de notification

Si tu veux cesser de recevoir les e-mails d'échec de publication, vois Conditions de soumission section 10. L'adresse destinataire est ton marketplace.author.email dans le manifeste ; le retirer ou le changer arrête les e-mails.

Voir aussi

Sur cette page