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.
- Öffne die
caputchin.jsondeines Repositorys. - Lies die Marketplace-Einreichungsbedingungen.
- Füg
"terms_accepted": trueauf oberster Ebene des Manifests hinzu. - Committe und pushe.
- 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.
- Wähl einen SPDX-Identifier aus der genehmigten Liste, der deinen Code und die gebündelten Assets wirklich abdeckt.
- Öffne
caputchin.jsonund setz daslicense-Feld auf oberster Ebene, zum Beispiel"license": "MIT". - 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. - 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. - 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.jsonim Root (oder, für Kind-Spiele in einer Sammlung, keinecaputchin.jsonim Leaf-Verzeichnis). - Die Repository-URL, die du eingegeben hast, ist falsch. Nutz
owner/nameoder die vollehttps://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: deinentry-Wert enthält Traversierung (../), absolute Slashes, Query-Strings oder Whitespace. Nutz einen sauberen repo-relativen Pfad wiedist/game.js.npm: npm package name is malformed: deinnpm-Feld ist keine gültige npm-Koordinate. Nutznameoder@scope/name, nur Alphanumerische + Bindestriche + Punkte + Unterstriche.games[i] must be a relative path inside the repo: ein Kind-Pfad imgames-Array deiner Sammlung entkommt dem Repo. Nutz Pfade wiepackages/leaf-memory, nicht../externaloder/abs/path.run.entry must be a clean relative path: dieselbe Hygiene-Regel wieentry, angewendet auf den optionalen Split-Run-Entry.run.modules[i].name: der Modul-Name muss[a-zA-Z0-9_-]+\.(wasm|js)$matchen und darf nichtentry.jsoderartifact.jssein.
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).
- Öffne
caputchin.json. - Find
marketplace.author.email. - Korrigier den Wert entweder zu einer echten E-Mail-Adresse (wir nutzen sie nur für Publish-Fehler-Benachrichtigungen) oder entferne das Feld ganz.
- 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.