리버티게임:게임 메타데이터/스키마.json: 두 판 사이의 차이
imported>Hsl0 편집 요약 없음 |
편집 요약 없음 |
||
(사용자 4명의 중간 판 34개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
{ | { | ||
"$schema": "http://json-schema.org/draft-07/schema#", | "$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": " | "$id": "http://libertyga.me/wiki/Special:UrlRedirector/H#", | ||
"title": "리버티게임 게임 메타데이터", | "title": "리버티게임 게임 메타데이터", | ||
"description": "게임 메타데이터는 게임에 대한 정보를 리버티게임의 다양한 시스템이 읽을 수 있도록 모아놓은 JSON 문서입니다.\n게임 메타데이터는 기본적으로 최상위 게임 문서의 하위 문서인 `/game.json`에 작성됩니다.\n게임 메타데이터 규격은 아직 확정되지 않았습니다. 계속 논의 중이며, 언제든지 변경될 수 있습니다.", | "description": "게임 메타데이터는 게임에 대한 정보를 리버티게임의 다양한 시스템이 읽을 수 있도록 모아놓은 JSON 문서입니다.\n게임 메타데이터는 기본적으로 최상위 게임 문서의 하위 문서인 `/game.json`에 작성됩니다.\n게임 메타데이터 규격은 아직 확정되지 않았습니다. 계속 논의 중이며, 언제든지 변경될 수 있습니다.", | ||
"$defs": { | "$defs": { | ||
" | "genre": { | ||
"title": "장르", | "title": "장르", | ||
"type": "string", | "type": "string", | ||
11번째 줄: | 11번째 줄: | ||
"oneOf": [ | "oneOf": [ | ||
{ | { | ||
"const": " | "const": "어드벤처", | ||
"title": "어드벤처 게임" | "title": "어드벤처 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "오픈 월드", | ||
"title": " | "title": "오픈 월드 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "철도 교통", | ||
"title": " | "title": "철도 교통 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "도로 기행", | ||
"title": " | "title": "도로 기행 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "탈출", | ||
"title": "탈출 게임" | "title": "탈출 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "함정 피하기", | ||
"title": " | "title": "함정 피하기 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "액션", | ||
"title": "액션 게임" | "title": "액션 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "퍼즐", | ||
"title": "퍼즐 게임" | "title": "퍼즐 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "퀴즈", | ||
"title": "퀴즈 게임" | "title": "퀴즈 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "보드", | ||
"title": "보드 게임" | "title": "보드 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "음악", | ||
"title": "음악 게임" | "title": "음악 게임" | ||
}, | }, | ||
{ | { | ||
"const": " | "const": "롤플레잉", | ||
"title": "롤플레잉 게임" | |||
}, | |||
{ | |||
"const": "시뮬레이션", | |||
"title": "시뮬레이션 게임" | |||
}, | |||
{ | |||
"const": "전략", | |||
"title": "전략 게임" | |||
}, | |||
{ | |||
"const": "캐주얼", | |||
"title": "캐주얼 게임" | |||
}, | |||
{ | |||
"const": "예언", | |||
"title": "예언 게임" | |||
}, | |||
{ | |||
"const": "스포츠", | |||
"title": "스포츠 게임" | |||
}, | |||
{ | |||
"const": "시간 낭비하기", | |||
"title": "시간 낭비하기 게임" | |||
}, | |||
{ | |||
"const": "멀티플레이", | |||
"title": "멀티플레이 게임" | "title": "멀티플레이 게임" | ||
} | |||
] | |||
}, | |||
"platform": { | |||
"title": "플랫폼", | |||
"type": "string", | |||
"description": "게임이 지원하는 플랫폼입니다.", | |||
"oneOf": [ | |||
{ | |||
"const": "web", | |||
"title": "웹", | |||
"description": "웹 (무설치)", | |||
"icon": "language" | |||
}, | }, | ||
{ | { | ||
"const": " | "const": "windows", | ||
"title": " | "title": "윈도우", | ||
"description": "윈도우 (설치)", | |||
"icon": "desktop_windows" | |||
}, | }, | ||
{ | { | ||
"const": " | "const": "linux", | ||
"title": " | "title": "리눅스", | ||
"description": "리눅스 (설치)", | |||
"icon": "terminal" | |||
}, | }, | ||
{ | { | ||
"const": " | "const": "macos", | ||
"title": " | "title": "맥 OS", | ||
"description": "맥 OS (설치)", | |||
"icon": "laptop_mac" | |||
}, | }, | ||
{ | { | ||
"const": " | "const": "android", | ||
"title": " | "title": "안드로이드", | ||
"description": "안드로이드 (설치)", | |||
"icon": "android" | |||
}, | }, | ||
{ | { | ||
"const": " | "const": "other", | ||
"title": " | "title": "기타", | ||
"description": "기타", | |||
"icon": "dynamic_feed" | |||
} | } | ||
], | ], | ||
" | "pattern": "[a-z]" | ||
}, | }, | ||
"DB2KeyInfo": { | "DB2KeyInfo": { | ||
104번째 줄: | 150번째 줄: | ||
"type": "object", | "type": "object", | ||
"properties": { | "properties": { | ||
" | "genre": { | ||
"title": "게임 | "title": "장르", | ||
"type": " | "description": "게임의 장르입니다. 배열을 사용해 여러 장르를 지정할 수 있습니다. [[분류:리버티게임 장르별 분류]]의 하위 분류에서 '게임'만 뗀 값입니다.", | ||
"anyOf": [ | |||
{ | |||
"$ref": "#/$defs/genre" | |||
}, | |||
{ | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/$defs/genre" | |||
} | |||
} | |||
] | |||
}, | }, | ||
"author": { | "author": { | ||
"title": " | "title": "저자 이름", | ||
"description": "게임의 소유자, 또는 주 기여자의 사용자 이름을 입력합니다. 다시 말해, 여러분의 사용자 이름을 입력하면 되겠습니다. 여러명이 제작한 합작 게임의 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, | "description": "게임의 소유자, 또는 주 기여자의 사용자 이름을 입력합니다. 다시 말해, 여러분의 사용자 이름을 입력하면 되겠습니다. 여러명이 제작한 합작 게임의 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, 사용자: 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 기본 이름공간의 경우 그냥 :(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다.", | ||
"anyOf": [ | "anyOf": [ | ||
{ | { | ||
"type": "string" | "type": "string", | ||
"format": "uri-reference" | |||
}, | }, | ||
{ | { | ||
"type": "array", | "type": "array", | ||
"items": { | "items": { | ||
"type": "string" | "type": "string", | ||
"format": "uri-reference" | |||
} | } | ||
} | } | ||
] | ] | ||
}, | |||
"name": { | |||
"title": "게임 이름", | |||
"type": "string", | |||
"description": "게임의 이름입니다. 상위 문서명과 다르게 입력할 수 있으며, 여기에 입력한 대로 게임아이콘에 보여집니다.", | |||
"maxLength": 50 | |||
}, | |||
"vairant": { | |||
"title": "대체 제목", | |||
"type": "string", | |||
"description": "이 필드는 게임의 대체 제목 또는 별칭을 나타냅니다. 'name' 필드만으로 게임의 설계대로 구현할 수 없을때 사용하는 필드입니다.", | |||
"maxLength": 50, | |||
"default": null | |||
}, | |||
"issuetracker": { | |||
"title": "이슈 트래커", | |||
"type": "string", | |||
"format": "iri", | |||
"description": "게임의 이슈를 보고할 수 있는 트래커에 대한 링크입니다. 리버티게임 내부 게임은 해당게임 토론 이름공간으로 통일되기에 기입할 필요가 없습니다. 소스코드가 외부 저장소에 위치한 경우 해당 사이트의 이슈 게시란으로 명시하기 위한 필드입니다." | |||
}, | |||
"changelog": { | |||
"title": "변경이력", | |||
"type": "string", | |||
"description": "게임의 변경이력에 대한 링크입니다." | |||
}, | |||
"summary": { | |||
"title": "짧은 설명", | |||
"type": "string", | |||
"description": "게임에 대한 한 줄짜리 짧은 설명입니다. 80자 이내로 작성해 주세요.", | |||
"maxLength": 80 | |||
}, | }, | ||
"description": { | "description": { | ||
"title": "설명", | "title": "설명", | ||
"type": "string", | "type": "string", | ||
"description": "게임에 대한 간단한 설명입니다." | "description": "게임에 대한 간단한 설명입니다. 한 문단 정도의 분량으로 최대한 간단히 작성해 주세요.", | ||
"maxLength": 4000 | |||
}, | |||
"version": { | |||
"title": "현재 버전", | |||
"type": "string", | |||
"description": "현재 버전을 나타냅니다." | |||
}, | }, | ||
"contributor": { | "contributor": { | ||
"title": "기여자", | "title": "기여자", | ||
"description": "게임을 만드는데 크거나 작게 도움을 준 기여자(조력자)의 사용자 이름을 입력합니다. 주 기여자(author)는 입력하지 않습니다.", | "description": "게임을 만드는데 크거나 작게 도움을 준 기여자(조력자)의 사용자 이름을 입력합니다. 주 기여자(author)는 입력하지 않습니다. 여러명을 입력하려는 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, 사용자: 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 기본 이름공간의 경우 그냥 :(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다.", | ||
"anyOf": [ | "anyOf": [ | ||
{ | { | ||
140번째 줄: | 234번째 줄: | ||
"items": { | "items": { | ||
"type": "string" | "type": "string" | ||
} | } | ||
} | } | ||
167번째 줄: | 246번째 줄: | ||
"const": 0, | "const": 0, | ||
"title": "변경하지 말아야 하는 공사중인 게임", | "title": "변경하지 말아야 하는 공사중인 게임", | ||
"description": "변경하지 말아야 하는 공사중인 게임입니다." | "description": "변경하지 말아야 하는 공사중인 게임입니다.", | ||
"icon": "signal_cellular_0_bar" | |||
}, | }, | ||
{ | { | ||
"const": 1, | "const": 1, | ||
"title": "조금 완성된 게임", | "title": "조금 완성된 게임", | ||
"description": "조금 완성된 게임입니다." | "description": "조금 완성된 게임입니다.", | ||
"icon": "signal_cellular_1_bar" | |||
}, | }, | ||
{ | { | ||
"const": 2, | "const": 2, | ||
"title": "중간 정도 완성된 게임", | "title": "중간 정도 완성된 게임", | ||
"description": "중간 정도 완성된 게임입니다." | "description": "중간 정도 완성된 게임입니다.", | ||
"icon": "signal_cellular_2_bar" | |||
}, | }, | ||
{ | { | ||
"const": 3, | "const": 3, | ||
"title": "거의 완성된 게임", | "title": "거의 완성된 게임", | ||
"description": "거의 완성된 게임입니다." | "description": "거의 완성된 게임입니다.", | ||
"icon": "signal_cellular_3_bar" | |||
}, | }, | ||
{ | { | ||
"const": 4, | "const": 4, | ||
"title": "완성되었지만 추가할 수 있는 게임", | "title": "완성되었지만 추가할 수 있는 게임", | ||
"description": "완성되었지만 추가할 수 있는 게임입니다." | "description": "완성되었지만 추가할 수 있는 게임입니다.", | ||
"icon": "signal_cellular_4_bar" | |||
}, | }, | ||
{ | { | ||
"const": 5, | "const": 5, | ||
"title": "완성되어 변경하지 말아야 하는 게임", | "title": "완성되어 변경하지 말아야 하는 게임", | ||
"description": "완성되어 변경하지 말아야 하는 게임입니다." | "description": "완성되어 변경하지 말아야 하는 게임입니다.", | ||
"icon": "signal_cellular_connected_no_internet_4_bar" | |||
} | } | ||
], | ], | ||
198번째 줄: | 283번째 줄: | ||
"maximum": 5 | "maximum": 5 | ||
}, | }, | ||
" | "editpolicy": { | ||
"title": " | "title": "게임 편집 정책", | ||
"type": | "type": "string", | ||
"description": "게임 편집의 개방성을 결정하는 게임 편집 정책입니다.", | |||
"description": " | |||
"oneOf": [ | "oneOf": [ | ||
{ | { | ||
"const": | "const": "open", | ||
"title": "편집 가능", | "title": "편집 가능", | ||
"description": "모두에게 편집이 개방되었습니다." | "description": "모두에게 편집이 개방되었습니다.", | ||
"icon": "lock_open_right" | |||
}, | }, | ||
{ | { | ||
"const": | "const": "limited", | ||
"title": "규칙에 따라 편집 가능", | |||
"description": "규칙에 따라 일부만 편집할 수 있습니다.", | |||
"icon": "lock_open" | |||
}, | |||
{ | |||
"const": "closed", | |||
"title": "편집 금지", | "title": "편집 금지", | ||
"description": "제작자 이외의 편집이 제한됩니다." | "description": "제작자 이외의 편집이 제한됩니다.", | ||
"icon": "lock" | |||
} | |||
], | |||
"pattern": "[a-z]" | |||
}, | |||
"editpolicypage": { | |||
"title": "게임 편집 지침 문서", | |||
"type": "string", | |||
"description": "게임 편집 지침이나 규칙을 안내하는 문서의 제목을 작성합니다. 게임 대문(game.json의 상위 문서)을 기준으로 한 상대 경로를 사용할 수 있습니다.", | |||
"format": "uri-reference" | |||
}, | |||
"platform": { | |||
"title": "플랫폼", | |||
"description": "게임이 지원하는 플랫폼 목록입니다. 생략하면 web만 지원하는 것으로 간주됩니다.", | |||
"default": "web", | |||
"anyOf": [ | |||
{ | |||
"$ref": "#/$defs/platform" | |||
}, | }, | ||
{ | { | ||
" | "type": "array", | ||
" | "items": { | ||
"$ref": "#/$defs/platform" | |||
} | |||
} | } | ||
] | ] | ||
}, | }, | ||
" | "rating": { | ||
"title": " | "title": "등급 분류", | ||
" | "description": "각 등급 분류 기관별 등급 분류 정보를 입력합니다.", | ||
" | "default": null, | ||
"oneOf": [ | "oneOf": [ | ||
{ | { | ||
"const": " | "const": "null", | ||
"title": " | "type": "null", | ||
"description": " | "title": "등급 판정 필요", | ||
"description": "등급 판정이 필요한 게임입니다.", | |||
"icon": "hourglass_empty" | |||
}, | }, | ||
{ | { | ||
"const": " | "type": "object", | ||
"properties": { | |||
" | "libertygame": { | ||
}, | "type": "object", | ||
"title": "리버티게임 등급 분류 정보", | |||
"description": "리버티게임 자체 등급 심의의 등급 분류 정보입니다. 등급면제를 제외한 grac 등급 분류 정보가 있다면 생략해도 됩니다.", | |||
"properties": { | |||
"age": { | |||
"type": [ | |||
"integer", | |||
"string" | |||
], | |||
"title": "이용 등급", | |||
"description": "게임 이용 등급 연령을 입력합니다.", | |||
"oneOf": [ | |||
{ | |||
"const": "test", | |||
"title": "평가용", | |||
"description": "등급 판정중인 게임입니다.", | |||
"icon": "hourglass_top" | |||
}, | |||
{ | |||
"const": "all", | |||
"title": "전체 이용가", | |||
"description": "모든 연령이 즐길 수 있습니다.", | |||
"icon": "cruelty_free" | |||
}, | |||
{ | |||
"const": 12, | |||
"title": "12세 이용가", | |||
"description": "12세 미만이 이용시 부모의 지도가 필요합니다.", | |||
"icon": "12mp" | |||
}, | |||
{ | |||
"const": 15, | |||
"title": "15세 이용가", | |||
"description": "15세 미만이 이용시 부모의 지도가 필요합니다.", | |||
"icon": "15mp" | |||
}, | |||
{ | |||
"const": 18, | |||
"title": "18세 이용가", | |||
"description": "청소년은 이용이 불가하며 리버티게임에서 서비스 될 수 없는 등급의 게임입니다.", | |||
"icon": "18_up_rating" | |||
} | |||
] | |||
}, | |||
"date": { | |||
"type": "string", | |||
"title": "등급 분류 일자", | |||
"description": "게임 이용 등급을 분류한 일자를 입력합니다.", | |||
"format": "date" | |||
} | |||
}, | |||
"required": [ | |||
"age", | |||
"date" | |||
] | |||
}, | |||
"grac": { | |||
"type": "object", | |||
"title": "게임물관리위원회 등급 분류 정보", | |||
"description": "게임물관리위원회(게임콘텐츠등급분류위원회 포함)의 등급 분류 정보입니다. 정식으로 등급분류나 등급면제/시험용 게임 확인을 받은 경우에만 작성하세요.", | |||
"properties": { | |||
"age": { | |||
"type": "object", | |||
"title": "이용 등급", | |||
"description": "게임 이용 등급 연령을 입력합니다.", | |||
"oneOf": [ | |||
{ | |||
"const": "re", | |||
"title": "등급면제" | |||
}, | |||
{ | |||
"const": "test", | |||
"title": "평가용" | |||
}, | |||
{ | |||
"const": "all", | |||
"title": "전체이용가" | |||
}, | |||
{ | |||
"const": 12, | |||
"title": "12세이용가" | |||
}, | |||
{ | |||
"const": 15, | |||
"title": "15세이용가" | |||
}, | |||
{ | |||
"const": 18, | |||
"title": "18세 이용가" | |||
} | |||
] | |||
}, | |||
"contentdescriptor": { | |||
"type": "array", | |||
"title": "내용정보", | |||
"description": "게임 내용정보를 입력합니다.", | |||
"items": { | |||
"type": "string", | |||
"oneOf": [ | |||
{ | |||
"const": "sexuality", | |||
"title": "선정성" | |||
}, | |||
{ | |||
"const": "violence", | |||
"title": "폭력성" | |||
}, | |||
{ | |||
"const": "horror", | |||
"title": "공포" | |||
}, | |||
{ | |||
"const": "language", | |||
"title": "언어의 부적절성" | |||
}, | |||
{ | |||
"const": "drug", | |||
"title": "약물" | |||
}, | |||
{ | |||
"const": "crime", | |||
"title": "범죄" | |||
}, | |||
{ | |||
"const": "gambling", | |||
"title": "사행성" | |||
} | |||
] | |||
} | |||
}, | |||
"id": { | |||
"type": "string", | |||
"title": "등급분류번호/확인증번호", | |||
"description": "age가 \"test\"면 평가확인증번호를, \"re\"면 등급면제 확인증번호를, 그 외이면 등급분류번호를 입력합니다.", | |||
"oneOf": [ | |||
{ | |||
"title": "등급분류번호", | |||
"pattern": "^(GC-)?CC-([A-Z]{2})-\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])-\\d{3}$" | |||
}, | |||
{ | |||
"title": "평가확인증번호", | |||
"pattern": "^\\d{4}-\\d{4}$" | |||
}, | |||
{ | |||
"title": "등급면제 확인증번호", | |||
"pattern": "^\\d{4}-RE\\d{4}$" | |||
} | |||
] | |||
}, | |||
"title": { | |||
"type": "string", | |||
"title": "제명", | |||
"description": "등급분류/시험용게임확인/등급면제확인 상 게임의 제명을 입력합니다. name과 같은 경우 입력하지 않으며, 다른 경우에만 입력합니다." | |||
}, | |||
"author": { | |||
"type": "string", | |||
"title": "제작자/상호", | |||
"description": "등급분류/시험용게임확인/등급면제확인 상 신청자를 입력합니다." | |||
}, | |||
"authorid": { | |||
"type": "string", | |||
"title": "게임물 제작업자 및 배급업자의 신고번호 및 등록번호", | |||
"description": "게임물 제작업자 및 배급업자의 신고번호 및 등록번호를 입력합니다. 개인이 비영리로 게임을 만드는 리버티게임의 특성 상 거의 사용되지 않습니다." | |||
}, | |||
"date": { | |||
"type": "string", | |||
"title": "게임 제작 일자", | |||
"description": "등급분류/시험용게임확인/등급면제확인 상 게임의 제작일자를 입력합니다.", | |||
"format": "date" | |||
} | |||
}, | |||
"required": [ | |||
"age", | |||
"id", | |||
"author", | |||
"date" | |||
], | |||
"additionalProperties": false | |||
} | |||
}, | |||
"minProperties": 1, | |||
"additionalProperties": false | |||
} | |||
] | |||
}, | |||
"construction": { | |||
"title": "공사중", | |||
"oneOf": [ | |||
{ | { | ||
" | "type": "string", | ||
" | "format": "date", | ||
"description": " | "description": "해당 날짜까지 공사중인 게임입니다." | ||
}, | }, | ||
{ | { | ||
" | "type": "boolean", | ||
"title": " | "oneOf": [ | ||
"description": " | { | ||
"const": true, | |||
"title": "공사중", | |||
"description": "공사중인 게임입니다. 공사 기간은 마지막 편집으로부터 15일 뒤까지입니다." | |||
}, | |||
{ | |||
"const": false, | |||
"description": "공사중인 게임이 아닙니다." | |||
} | |||
] | |||
} | |||
], | |||
"description": "게임 공사 여부 및 기간을 입력합니다. true를 입력하거나 공사를 마치는 날짜를 년-월-일로 입력해 주세요." | |||
}, | |||
"repair": { | |||
"title": "수리중", | |||
"anyOf": [ | |||
{ | { | ||
" | "type": "string", | ||
" | "format": "date", | ||
"description": " | "description": "해당 날짜까지 수리중인 게임입니다." | ||
}, | }, | ||
{ | { | ||
" | "type": "boolean", | ||
"title": " | "oneOf": [ | ||
{ | |||
"const": true, | |||
"title": "수리중", | |||
"description": "수리중인 게임입니다. 수리 기간은 마지막 편집으로부터 15일 뒤까지입니다." | |||
}, | |||
{ | |||
"const": false, | |||
"description": "수리중인 게임이 아닙니다." | |||
} | |||
] | |||
} | } | ||
], | ], | ||
" | "default": false, | ||
"description": "게임 수리 여부 및 기간을 입력합니다. true를 입력하거나 수리를 마치는 날짜를 년-월-일로 입력해 주세요." | |||
}, | |||
"abandon": { | |||
"title": "버려진 게임", | |||
"type": "boolean", | |||
"description": "버려진 게임 여부입니다. 버려진 게임이 아닐 경우 입력할 필요가 없습니다.", | |||
"default": false | |||
}, | }, | ||
" | "login": { | ||
"title": " | "title": "로그인 필요 여부", | ||
"type": | "type": "string", | ||
"description": "로그인 필요 여부를 선택합니다.", | |||
"default": "unnecessary", | |||
" | |||
"oneOf": [ | "oneOf": [ | ||
{ | { | ||
"const": | "const": "required", | ||
"title": "로그인 필수", | |||
"description": "로그인한 사용자만 이용할 수 있는 게임입니다. 로그인하지 않으면 모든 기능이 사용 불가능할 때 선택하세요." | |||
"title": " | |||
"description": " | |||
}, | }, | ||
{ | { | ||
"const": | "const": "recommended", | ||
"title": " | "title": "로그인 권장", | ||
"description": " | "description": "로그인하여 플레이할 것을 권장하는 게임입니다. 로그인하지 않으면 일부 기능이 제한될 때 선택하세요." | ||
}, | }, | ||
{ | { | ||
"const": | "const": "unnecessary", | ||
"title": " | "title": "로그인 불필요", | ||
"description": " | "description": "IP 사용자도 이용할 수 있는 게임입니다. 로그인하지 않아도 모든 기능을 제한없이 사용할 수 있을 때 선택하세요." | ||
} | } | ||
] | ], | ||
"pattern": "[a-z]" | |||
}, | }, | ||
" | "privacypolicy": { | ||
"title": " | "title": "개인정보 취급 방침", | ||
"type": "string", | "type": "string", | ||
"description": "개인 정보를 수집하는 게임의 개인 정보 취급 방침 문서를 지정합니다. 게임 대문(game.json의 상위 문서)을 기준으로 한 상대 경로를 사용할 수 있습니다.", | |||
"description": "게임 | "format": "uri-reference" | ||
"format": " | |||
}, | }, | ||
"gameDB": { | "gameDB": { | ||
330번째 줄: | 625번째 줄: | ||
"default": { | "default": { | ||
"title": "기본키", | "title": "기본키", | ||
"$ref": "#/ | "$ref": "#/$defs/DB2KeyInfo", | ||
"description": "기본키에 대한 정보를 입력합니다." | "description": "기본키에 대한 정보를 입력합니다." | ||
}, | }, | ||
338번째 줄: | 633번째 줄: | ||
"description": "사용자 지정 키에 대한 정보를 입력합니다. 키에 키 이름을, 값에 키 정보 객체를 작성합니다.", | "description": "사용자 지정 키에 대한 정보를 입력합니다. 키에 키 이름을, 값에 키 정보 객체를 작성합니다.", | ||
"additionalProperties": { | "additionalProperties": { | ||
"$ref": "#/ | "$ref": "#/$defs/DB2KeyInfo" | ||
} | } | ||
} | } | ||
}, | }, | ||
"additionalProperties": false | "additionalProperties": false | ||
}, | |||
"created": { | |||
"title": "작성일", | |||
"type": "string", | |||
"description": "게임이 생성된 일자를 기입합니다.", | |||
"format": "date" | |||
}, | |||
"image": { | |||
"title": "대표 이미지", | |||
"type": "image", | |||
"description": "게임에서 사용되는 대표 이미지를 지정합니다. 리버티 게임 내부의 파일만 허용되며, 파일 네임스페이스는 제외하여 기재합니다." | |||
} | } | ||
}, | |||
"featured": { | |||
"title": "특집 게임 정보", | |||
"type": "object", | |||
"properties": { | |||
"date": { | |||
"title": "특집 게임 날짜", | |||
"type": "string", | |||
"description": "특집 게임이 선정된 날짜를 지정합니다.", | |||
"format": "date" | |||
}, | |||
"description": { | |||
"title": "특집 게임 추천평", | |||
"type": "string", | |||
"description": "특집 게임의 추천평을 기입합니다." | |||
}, | |||
"author": { | |||
"title": "추천평 작성자", | |||
"type": "string", | |||
"description": "추천평을 작성한 사용자명을 기입합니다." | |||
} | |||
}, | |||
"required": [ | |||
"date" | |||
], | |||
"description": "특집게임에 대한 추가 정보를 기입하는 섹션입니다." | |||
}, | }, | ||
"required": [ | "required": [ | ||
" | "genre", | ||
" | "AuthorName", | ||
" | "Name", | ||
" | "Summary", | ||
"progress", | "progress", | ||
" | "editpolicy" | ||
], | ], | ||
"additionalProperties": false | "additionalProperties": false | ||
} | } |
2023년 11월 2일 (목) 06:46 기준 최신판
$schema | "http://json-schema.org/draft-07/schema#" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
$id | "http://libertyga.me/wiki/Special:UrlRedirector/H#" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
title | "리버티게임 게임 메타데이터" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
description | "게임 메타데이터는 게임에 대한 정보를 리버티게임의 다양한 시스템이 읽을 수 있도록 모아놓은 JSON 문서입니다. 게임 메타데이터는 기본적으로 최상위 게임 문서의 하위 문서인 `/game.json`에 작성됩니다. 게임 메타데이터 규격은 아직 확정되지 않았습니다. 계속 논의 중이며, 언제든지 변경될 수 있습니다." | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$defs |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | "object" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
properties |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
featured |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionalProperties | false |