Caputchin
Marketplace-Spiel-Entwicklung

Ein Marketplace-Publish-Versagen beheben

Wenn das Veröffentlichen-oder-aktualisieren-Modal einen Fehler zurückgibt, oder du eine E-Mail von uns über ein Publish-Versagen bekommst, find deinen Error-Code unten und folg dem Fix. Sobald du den Fix in dein Repository pushst, klick erneut Veröffentlichen oder aktualisieren, um sofort neu zu prüfen, oder warte auf den nächsten täglichen Indexer-Lauf.

Jedes hier gelistete Versagen ist etwas, das du in deinem Repository beheben kannst. Siehst du deinen Fehler hier nicht, prüf die vollständige Publish-Fehler-Referenz für seltenere Codes.

terms_accepted nicht gesetzt

Du siehst das, wenn deine caputchin.json kein "terms_accepted": true auf oberster Ebene hat.

  1. Öffne die caputchin.json deines Repositorys.
  2. Lies die Marketplace-Einreichungsbedingungen.
  3. Füg "terms_accepted": true auf oberster Ebene des Manifests hinzu.
  4. Committe und pushe.
  5. Klick erneut Veröffentlichen oder aktualisieren, oder warte auf den nächsten täglichen Index-Lauf.

Der Wert muss das literale JSON-Boolean true sein. Strings ("true"), Zahlen (1) oder das Feld wegzulassen zählen alle als nicht akzeptiert.

Lizenz nicht auf der genehmigten Liste

Du siehst das, wenn license fehlt, fehlerhaft ist oder einen Identifier außerhalb unserer genehmigten Liste benennt.

  1. Wähl einen SPDX-Identifier aus der genehmigten Liste, der deinen Code und die gebündelten Assets wirklich abdeckt.
  2. Öffne caputchin.json und setz das license-Feld auf oberster Ebene, zum Beispiel "license": "MIT".
  3. Ist dein Code dual-lizenziert, nutz einen SPDX-OR-Ausdruck (z. B. "MIT OR Apache-2.0"). Mindestens ein Zweig muss auf der genehmigten Liste sein.
  4. Ist dein Code MIT, bündelt aber Creative-Commons-Assets, nutz AND (z. B. "MIT AND CC-BY-4.0"). Jeder Zweig muss auf der genehmigten Liste sein.
  5. Committe, pushe, versuch erneut.

Hängt dein Projekt von einer Lizenz ab, die nicht auf unserer genehmigten Liste ist (am häufigsten die GPL-Familie, AGPL oder LGPL), ist der einzige Fix, die betroffenen Komponenten neu zu lizenzieren oder zu entfernen. Wir können keine Ausnahmen auf Pro-Autor-Basis gewähren.

Wir konnten dein Repository nicht finden

Du siehst das, wenn unser Manifest-Abruf einen 404 zurückgibt.

Häufige Ursachen und Fixes:

  • Dein Repository ist privat. Mach es öffentlich, oder entferne das caputchin-game-Topic, um nicht mehr im Index zu erscheinen.
  • Deinem Repository fehlt das caputchin-game-GitHub-Topic. Füg es über den About-Abschnitt auf der Repository-Seite hinzu.
  • Dein Repository hat keine caputchin.json im Root (oder, für Kind-Spiele in einer Sammlung, keine caputchin.json im Leaf-Verzeichnis).
  • Die Repository-URL, die du eingegeben hast, ist falsch. Nutz owner/name oder die volle https://github.com/owner/name-URL.

Pushe eine caputchin.json in dein Repository, dann versuch erneut.

Manifest-Struktur ist fehlerhaft

Du siehst einen manifest-error, dessen Detail mit einem Feldnamen wie entry, npm, games, marketplace.support oder run.modules[0].name beginnt.

Das Detail sagt dir genau, welches Feld falsch ist:

  • entry: entry must be a clean relative path: dein entry-Wert enthält Traversierung (../), absolute Slashes, Query-Strings oder Whitespace. Nutz einen sauberen repo-relativen Pfad wie dist/game.js.
  • npm: npm package name is malformed: dein npm-Feld ist keine gültige npm-Koordinate. Nutz name oder @scope/name, nur Alphanumerische + Bindestriche + Punkte + Unterstriche.
  • games[i] must be a relative path inside the repo: ein Kind-Pfad im games-Array deiner Sammlung entkommt dem Repo. Nutz Pfade wie packages/leaf-memory, nicht ../external oder /abs/path.
  • run.entry must be a clean relative path: dieselbe Hygiene-Regel wie entry, angewendet auf den optionalen Split-Run-Entry.
  • run.modules[i].name: der Modul-Name muss [a-zA-Z0-9_-]+\.(wasm|js)$ matchen und darf nicht entry.js oder artifact.js sein.

Bearbeite das benannte Feld gemäß der Regel, committe, pushe, versuch erneut.

marketplace.author hat eine ungültige E-Mail

Du siehst das, wenn marketplace.author.email vorhanden ist, aber keiner normalen E-Mail-Form entspricht (ein @, eine gepunktete Domain, kein Whitespace).

  1. Öffne caputchin.json.
  2. Find marketplace.author.email.
  3. Korrigier den Wert entweder zu einer echten E-Mail-Adresse (wir nutzen sie nur für Publish-Fehler-Benachrichtigungen) oder entferne das Feld ganz.
  4. Committe, pushe, versuch erneut.

Du kannst auch den ganzen marketplace.author-Block entfernen, wenn du keine Publish-Fehler-Benachrichtigungen empfangen willst.

Dein run-Artefakt ist nicht-deterministisch

Du siehst das, wenn unser Konformitäts-Smoke die run(seed, trace)-Funktion deines Spiels laufen lässt und sie kein konformes Urteil produziert.

Wichtig: das ist kein fatales Publish-Versagen. Dein Spiel ist trotzdem im Marketplace-Browse gelistet und kann eingebettet werden. Es zeigt nur Nicht abspielbar und kann keinen Site-Key gaten, bis das Determinismus-Problem behoben ist.

Häufige Ursachen:

  • Deine Simulation liest Date.now(), performance.now(), Math.random() oder andere nicht-deterministische Globals.
  • Deine Simulation liest externen Zustand (DOM, Netzwerk, Speicher), den wir zur Replay-Zeit nicht bereitstellen.
  • Deine Simulation hängt von Fließkomma-Arithmetik ab, die sich zwischen Laufzeiten unterscheidet.

Beheb die Simulation, eine reine Funktion des Seeds und Trace zu sein, pushe, versuch erneut. Sieh dir den Replay-Vertrag für die Determinismus-Regel an und erwäg das optionale Engine-Kit, das einen deterministischen seedbaren RNG und Clock bereitstellt.

Bundle-Abruf fehlgeschlagen

Du siehst das, wenn die durch entry und/oder npm gepinnte Bundle-URL nicht abgerufen werden kann, einen Nicht-2xx zurückgibt oder 12MB überschreitet.

  • Wenn du gerade eine neue Version gepusht hast: das CDN hat eventuell noch nicht propagiert. Warte eine Minute und versuch erneut.
  • Ist dein Bundle über 12MB: trimm Assets, teil über die run-Deklaration in Module, oder verschieb große Assets auf einen anderen Auslieferungs-Pfad.
  • Ist dein npm-Paket noch nicht veröffentlicht: veröffentlich es zuerst; wir können unveröffentlichte Versionen nicht abrufen.

Zu viele Publish-Anfragen

Du siehst das im Manuell-Veröffentlichen-Modal, wenn du in den letzten 60 Sekunden mehr als zehn Anfragen eingereicht hast.

Warte 60 Sekunden und versuch erneut. Es gibt keinen Weg, das Limit zu erhöhen; es schützt den Endpunkt vor Missbrauch.

Benachrichtigungs-E-Mails stoppen

Willst du aufhören, Publish-Fehler-E-Mails zu empfangen, sieh dir Einreichungsbedingungen Abschnitt 10 an. Die Empfänger-Adresse ist dein marketplace.author.email im Manifest; es zu entfernen oder zu ändern stoppt die E-Mails.

Siehe auch

Auf dieser Seite