マーケットプレイスゲーム開発
公開エラーリファレンス
マーケットプレイスの公開パスが返し得るすべてのエラーコード、トリガー、そして修正へのリンク。順を追った修正は 公開失敗を直す を参照してください。
| コード | トリガー | 修正 |
|---|
invalid-repo | 公開のモーダルに入力したリポジトリのフィールドが owner/name としてパースされない。手動公開のみ | owner/name か完全な https://github.com/owner/name URL を使う |
repo-not-found | 私たちのマニフェストの取得が 404 を返した。あなたのリポジトリが非公開、欠けている、caputchin-game トピックがない、または期待のパスに caputchin.json がない | リポジトリを公開にする + トピックを追加 + マニフェストをプッシュ |
manifest-error | あなたの caputchin.json が検証に失敗。詳細の文字列が特定のフィールドを名指します。manifest-error サブコード 参照 | 詳細が名指すフィールドを直す |
bundle-fetch-failed | entry および/または npm によって固定されたバンドルの URL が取得できない、非 2xx を返す、または 12MB を超える | バンドルの URL とサイズを確認 |
run-not-conforming | 任意の run アーティファクトのスモークチェック(決定論的なシードで一度実行)が適合する判定を返さなかった。あなたのゲームはなお一覧され、ただリプレイ不可と表示されゲートできません | シミュレーションを決定論的にする |
rate-limited | 過去 60 秒にあなたの IP から公開リクエストが多すぎる | 60 秒待って再試行 |
manifest-error を受け取ると、詳細の文字列が失敗したフィールドで始まります。この表で正しい修正を見つけてください。
| 詳細のフィールド | 意味 | 修正 |
|---|
terms_accepted | フィールドが欠けているか、リテラルの JSON のブール値 true でない | 投稿規約を読んだ後 true に設定 |
license | 欠けている、不正、または承認された一覧の外の SPDX 識別子を名指す | 承認された一覧から識別子を選ぶ |
(root) | JSON ファイルがオブジェクトとしてパースされない(トップレベルの配列、文字列、または null がある) | { ... } で包む |
marketplace | marketplace ブロックが存在するがオブジェクトでない | それをオブジェクトにするか取り除く(セルフホスト専用のゲームはブロックを省く) |
marketplace.name / description / preview | フィールドが文字列でない | 文字列化するか取り除く |
marketplace.author | ブロックが存在するがオブジェクトでない | { name?, url?, email? } の形を使う |
marketplace.author.name / url | サブフィールドが文字列でない | 文字列化するか取り除く |
marketplace.author.email | 文字列でない、またはメールの形のチェックに失敗 | アドレスを直すかフィールドを取り除く |
entry | 単一のゲームに entry も npm もない、または値がトラバーサル(../)、絶対のスラッシュ、Windows のセパレーター、クエリ文字列、空白を含む | クリーンな相対のパスを与える |
npm | 文字列でない、または npm 名の正規表現に失敗 | 有効な npm パッケージ名を使う |
entry/npm+games | entry/npm と games の両方が同じレベルで宣言 | 1 つを選ぶ:単一のゲームは entry/npm、コレクションのラッパーは games |
entry/npm | 単一のゲームにどちらもない | 1 つを追加 |
games | 配列でない、非文字列のエントリーを含む、トラバーサル/絶対のパスを含む、または . / ./(リポジトリのルートを自己参照する)を含む | 配列を直す |
games[i] | 特定の子のパスが無効 | そのエントリーを直す |
run / run.entry / run.modules[i].* | 任意の分割 run の宣言が不正 | スキーマに従って直す |
license フィールドがこの一覧の SPDX 識別子に評価される caputchin.json マニフェストだけが、ライセンスのゲートを通ります。拘束力のあるバージョンは マーケットプレイス投稿規約のセクション 4 を参照してください。
| SPDX ID | 名前 |
|---|
MIT | MIT License |
MIT-0 | MIT No Attribution |
Apache-2.0 | Apache License 2.0 |
BSD-2-Clause | BSD 2-Clause "Simplified" |
BSD-3-Clause | BSD 3-Clause "New" / "Revised" |
0BSD | BSD Zero Clause |
ISC | ISC License |
Zlib | zlib License |
Unlicense | The Unlicense (public-domain dedication) |
BSL-1.0 | Boost Software License 1.0 |
NCSA | University of Illinois / NCSA Open Source License |
PostgreSQL | PostgreSQL License |
Python-2.0 | Python License 2.0 |
PHP-3.01 | PHP License 3.01 |
Ruby | Ruby License |
TCL | Tcl/Tk License |
MS-PL | Microsoft Public License |
AFL-3.0 | Academic Free License 3.0 |
MulanPSL-2.0 | Mulan Permissive Software License v2 |
WTFPL | Do What The Fuck You Want To Public License |
| SPDX ID | 名前 |
|---|
MPL-2.0 | Mozilla Public License 2.0 |
MS-RL | Microsoft Reciprocal License |
| SPDX ID | 名前 |
|---|
CC0-1.0 | Creative Commons Zero v1.0 |
CC-BY-3.0 | Creative Commons Attribution 3.0 |
CC-BY-4.0 | Creative Commons Attribution 4.0 |
OFL-1.1 | SIL Open Font License 1.1 |
MIT:素の識別子。上に現れなければなりません。
MIT OR Apache-2.0:OR のどの枝も上に現れなければなりません。
MIT AND CC-BY-4.0:AND のすべての枝が上に現れなければなりません。
Apache-2.0 WITH LLVM-exception:WITH の節は受け付けられません。
LGPL-2.1+:+(または以降)の接尾辞は受け付けられません。
| カテゴリ | 例 | なぜ |
|---|
| 強いコピーレフト | GPL-*、AGPL-* | ウイルス的。私たちがネットワークのホストなので AGPL の §13 のネットワークのトリガーは急性です。(GPL-2.0-only は、Caputchin が公開するファーストパーティのゲームにだけ受け付けられ、サードパーティの投稿には受け付けられません。) |
| バンドルの曖昧さを伴うライブラリのコピーレフト | LGPL-* | 「ライブラリを伝える」が JavaScript と WebAssembly のバンドルには曖昧に読めます |
| アセットへのシェアアライク | CC-BY-SA-*、CC-BY-NC-*、CC-BY-ND-* | シェアアライクが埋め込むサイトの連携を汚染します。NC が商用のデプロイを除外します |
| ソース利用可能(OSI でない) | BUSL-1.1、SSPL-1.0、Elastic-2.0 | 利用分野の制限、再配布の制限、またはその両方 |
BSL-1.0(Boost Software License)は寛容で受け付けられ、BUSL-1.1(Business Source License)は受け付けられないことに注意してください。パーサーは SPDX の正規の文字列にそのまま照合するので、2 つは決して衝突しません。