Caputchin
마켓플레이스 게임 개발

공개 오류 레퍼런스

마켓플레이스 공개 경로가 반환할 수 있는 모든 오류 코드, 그 트리거와 고침으로의 링크와 함께. 단계별 고침은 공개 실패 고치기를 보세요.

오류 코드

코드트리거고침
invalid-repo공개 모달에 입력한 저장소 필드가 owner/name으로 파싱되지 않음. 수동 공개만owner/name이나 전체 https://github.com/owner/name URL을 쓰세요
repo-not-found우리 매니페스트 가져오기가 404를 반환함. 당신의 저장소가 비공개거나, 없거나, caputchin-game 토픽이 없거나, 기대된 경로에 caputchin.json이 없음저장소를 공개로 만들기 + 토픽 더하기 + 매니페스트 푸시하기
manifest-error당신의 caputchin.json이 검증에 실패함. detail 문자열이 특정 필드를 댐. manifest-error 하위 코드를 보세요detail이 대는 필드를 고치세요
bundle-fetch-failedentry 및/또는 npm이 고정한 번들 URL을 가져올 수 없거나, 비2xx를 반환하거나, 12MB를 넘음번들 URL과 크기 확인하기
run-not-conforming선택적 run 산출물의 스모크 확인(결정론적 시드로 한 번 돌림)이 적합한 판정을 반환하지 않음. 당신의 게임은 여전히 나열되며, 그저 재생 불가로 보이고 게이트할 수 없음당신의 시뮬레이션을 결정론적으로 만들기
rate-limited지난 60초 안에 당신의 IP에서 공개 요청이 너무 많음60초 기다리고 재시도하세요

manifest-error 하위 코드

manifest-error를 받으면, detail 문자열이 실패한 필드로 시작합니다. 맞는 고침을 찾으려면 이 표를 쓰세요.

detail의 필드의미고침
terms_accepted필드가 없거나 리터럴 JSON 불리언 true가 아님제출 약관을 읽은 뒤 true로 설정하기
license없거나, 잘못됐거나, 승인된 목록 밖의 SPDX 식별자를 댐승인된 목록에서 식별자 고르기
(root)JSON 파일이 객체로 파싱되지 않음(최상위 배열, 문자열, 또는 null을 가짐){ ... }로 감싸세요
marketplacemarketplace 블록이 있지만 객체가 아님객체로 만들거나 제거하세요(자체 호스팅 전용 게임은 블록을 생략함)
marketplace.name / description / preview필드가 문자열이 아님문자열화하거나 제거하세요
marketplace.author블록이 있지만 객체가 아님{ name?, url?, email? } 모양을 쓰세요
marketplace.author.name / url하위 필드가 문자열이 아님문자열화하거나 제거하세요
marketplace.author.email문자열이 아니거나 이메일 모양 확인에 실패주소를 고치거나 필드를 제거하기
entry단일 게임에 entrynpm도 없거나, 값이 순회(../), 절대 슬래시, Windows 구분자, 쿼리 문자열, 또는 공백을 담음깨끗한 상대 경로를 제공하세요
npm문자열이 아니거나, npm 이름 정규식에 실패유효한 npm 패키지 이름을 쓰세요
entry/npm+gamesentry/npmgames가 같은 수준에 둘 다 선언됨하나를 고르세요: 단일 게임은 entry/npm을 쓰고; 컬렉션 래퍼는 games를 씁니다
entry/npm단일 게임에 둘 다 없음하나를 더하세요
games배열이 아니거나, 비문자열 엔트리를 담거나, 순회/절대 경로를 담거나, . / ./(저장소 루트를 자기 참조할)을 담음배열을 고치세요
games[i]특정 자식 경로가 유효하지 않음그 엔트리를 고치세요
run / run.entry / run.modules[i].*선택적 분할 run 선언이 잘못됨스키마대로 고치기

승인된 라이선스

license 필드가 이 목록의 SPDX 식별자로 평가되는 caputchin.json 매니페스트만 라이선스 게이트를 통과합니다. 구속력 있는 버전은 마켓플레이스 제출 약관 4절을 보세요.

관대한 코드 라이선스

SPDX ID이름
MITMIT License
MIT-0MIT No Attribution
Apache-2.0Apache License 2.0
BSD-2-ClauseBSD 2-Clause "Simplified"
BSD-3-ClauseBSD 3-Clause "New" / "Revised"
0BSDBSD Zero Clause
ISCISC License
Zlibzlib License
UnlicenseThe Unlicense (public-domain dedication)
BSL-1.0Boost Software License 1.0
NCSAUniversity of Illinois / NCSA Open Source License
PostgreSQLPostgreSQL License
Python-2.0Python License 2.0
PHP-3.01PHP License 3.01
RubyRuby License
TCLTcl/Tk License
MS-PLMicrosoft Public License
AFL-3.0Academic Free License 3.0
MulanPSL-2.0Mulan Permissive Software License v2
WTFPLDo What The Fuck You Want To Public License

파일 범위 약한 카피레프트

SPDX ID이름
MPL-2.0Mozilla Public License 2.0
MS-RLMicrosoft Reciprocal License

자산 라이선스 (게임에 번들된 아트, 오디오, 폰트)

SPDX ID이름
CC0-1.0Creative Commons Zero v1.0
CC-BY-3.0Creative Commons Attribution 3.0
CC-BY-4.0Creative Commons Attribution 4.0
OFL-1.1SIL Open Font License 1.1

SPDX 표현식 규칙

  • 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이 공개하는 자사 게임에만 받아들여지지, 제3자 제출에는 아님.)
번들 모호성을 둔 라이브러리 카피레프트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 정규 문자열을 상대로 그대로 비교하니, 둘은 결코 충돌하지 않습니다.

함께 보기

이 페이지에서