マーケットプレイスの公開失敗を直す
公開または更新のモーダルがエラーを返すとき、または公開失敗について私たちからメールを受けたとき、下であなたのエラーコードを見つけ、修正に従ってください。修正をリポジトリにプッシュしたら、公開または更新をもう一度クリックして即座に再チェックするか、次の日次のインデクサーの実行を待ってください。
ここに挙がるすべての失敗は、あなたがリポジトリで直せるものです。あなたのエラーがここにないなら、より珍しいコードについて 完全な公開エラーリファレンス を確認してください。
terms_accepted が設定されていない
caputchin.json がトップレベルに "terms_accepted": true を持たないとき、これが見えます。
- リポジトリの
caputchin.jsonを開きます。 - マーケットプレイス投稿規約 を読みます。
- マニフェストのトップレベルに
"terms_accepted": trueを追加します。 - コミットしてプッシュします。
- 公開または更新をもう一度クリックするか、次の日次のインデックスの実行を待ちます。
値はリテラルの JSON のブール値 true でなければなりません。文字列("true")、数値(1)、またはフィールドの省略は、すべて非承認として数えられます。
ライセンスが承認された一覧にない
license が欠けている、不正、または私たちの 承認された一覧 の外の識別子を名指すとき、これが見えます。
- あなたのコードとバンドルされたアセットを本当にカバーする SPDX 識別子を、承認された一覧から選びます。
caputchin.jsonを開き、トップレベルにlicenseフィールドを設定します。たとえば"license": "MIT"。- コードがデュアルライセンスなら、SPDX の
OR式を使います(例"MIT OR Apache-2.0")。少なくとも 1 つの枝が承認された一覧になければなりません。 - コードが MIT だが Creative Commons のアセットをバンドルするなら、
ANDを使います(例"MIT AND CC-BY-4.0")。すべての枝が承認された一覧になければなりません。 - コミット、プッシュ、再試行。
あなたのプロジェクトが、私たちの承認された一覧にないライセンス(最もよくあるのは GPL ファミリー、AGPL、LGPL)に依存するなら、唯一の修正は、影響を受けるコンポーネントの再ライセンスか除去です。私たちは作者ごとの例外を付与できません。
あなたのリポジトリを見つけられませんでした
私たちのマニフェストの取得が 404 を返すとき、これが見えます。
よくある原因と修正:
- あなたのリポジトリが非公開。公開にするか、インデックスに現れるのをやめるよう
caputchin-gameトピックを取り除きます。 - あなたのリポジトリに
caputchin-gameの GitHub トピックがない。リポジトリページの About セクションでそれを追加します。 - あなたのリポジトリのルートに
caputchin.jsonがない(または、コレクションの子のゲームには、リーフディレクトリにcaputchin.jsonがない)。 - あなたが入力したリポジトリの URL が間違っている。
owner/nameか完全なhttps://github.com/owner/nameURL を使います。
caputchin.json をリポジトリにプッシュし、それから再試行してください。
マニフェストの構造が不正
詳細が entry、npm、games、marketplace.support、run.modules[0].name のようなフィールド名で始まる manifest-error が見えます。
詳細は、どのフィールドが間違っているかを正確に教えます:
entry: entry must be a clean relative path:あなたのentryの値がトラバーサル(../)、絶対のスラッシュ、クエリ文字列、空白を含みます。dist/game.jsのようなクリーンなリポジトリ相対のパスを使います。npm: npm package name is malformed:あなたのnpmフィールドが有効な npm の座標ではありません。nameか@scope/name、英数字 + ハイフン + ドット + アンダースコアだけを使います。games[i] must be a relative path inside the repo:あなたのコレクションのgames配列の子のパスがリポジトリから逃げます。../externalや/abs/pathではなく、packages/leaf-memoryのようなパスを使います。run.entry must be a clean relative path:entryと同じ衛生のルールを、任意の分割 run のエントリーに適用したもの。run.modules[i].name:モジュール名は[a-zA-Z0-9_-]+\.(wasm|js)$に一致しなければならず、entry.jsかartifact.jsではいられません。
名指されたフィールドをルールに従って編集し、コミット、プッシュ、再試行してください。
marketplace.author に無効なメールがある
marketplace.author.email が存在するが、通常のメールの形(1 つの @、ドット付きのドメイン、空白なし)に一致しないとき、これが見えます。
caputchin.jsonを開きます。marketplace.author.emailを見つけます。- 値を本物のメールアドレス(私たちは公開失敗の通知にだけそれを使います)に直すか、フィールドを丸ごと取り除きます。
- コミット、プッシュ、再試行。
公開失敗の通知を受け取りたくないなら、marketplace.author ブロック全体も取り除けます。
あなたの run アーティファクトが非決定論的
私たちの適合のスモークがあなたのゲームの run(seed, trace) 関数を走らせ、それが適合する判定を生まないとき、これが見えます。
重要:これは致命的な公開失敗ではありません。あなたのゲームはなおマーケットプレイスの閲覧に一覧され、埋め込めます。ただ リプレイ不可 と表示され、決定論の問題が直るまでサイトキーをゲートできません。
よくある原因:
- あなたのシミュレーションが
Date.now()、performance.now()、Math.random()、ほかの非決定論的なグローバルを読む。 - あなたのシミュレーションが、私たちがリプレイ時に提供しない外部の状態(DOM、ネットワーク、ストレージ)を読む。
- あなたのシミュレーションが、ランタイム間で違う浮動小数点の算術に依存する。
シミュレーションをシードとトレースの純粋な関数になるよう直し、プッシュ、再試行してください。決定論のルールは リプレイ契約 を参照し、決定論的なシード可能な RNG と時計を提供する任意の エンジンキット を検討してください。
バンドルの取得が失敗
entry および/または npm によって固定されたバンドルの URL が取得できない、非 2xx を返す、または 12MB を超えるとき、これが見えます。
- 新しいバージョンをプッシュしたばかりなら:CDN がまだ伝播していないかもしれません。1 分待って再試行します。
- バンドルが 12MB を超えるなら:アセットを削る、
runの宣言でモジュールに分割する、または大きなアセットを別の配信のパスに移します。 - あなたの
npmパッケージがまだ公開されていないなら:先にそれを公開します。私たちは公開されていないバージョンを取得できません。
公開リクエストが多すぎる
過去 60 秒に 10 を超えるリクエストを送信したとき、手動公開のモーダルでこれが見えます。
60 秒待って再試行してください。制限を上げる方法はありません。それはエンドポイントを濫用から守ります。
通知メールを止める
公開失敗のメールを受け取るのを止めたいなら、投稿規約のセクション 10 を参照してください。受信者のアドレスは、マニフェストのあなたの marketplace.author.email です。それを取り除くか変えるとメールが止まります。