---
title: "OP.GG 챔피언 빌드 빌더 작성 가이드"
description: "AI 어시스턴트와 브라우저 에이전트를 위한 작성, 원본 Markdown, 검증, 복구 레퍼런스입니다."
language: ko
canonical: https://op.gg/ko/lol/user-guides/help
---

# OP.GG 챔피언 빌드 빌더 작성 가이드

> OP.GG 챔피언 빌드 빌더를 설명하거나 조작하는 AI 어시스턴트와 브라우저 에이전트를 위한 지침입니다.

현재 빌더를 위한 한국어 기계 판독용 가이드입니다.

- Canonical HTML: https://op.gg/ko/lol/user-guides/help
- Markdown URL: https://op.gg/ko/lol/user-guides/help.md
- 새 빌드 URL: https://op.gg/ko/lol/user-guides/new
- 빌드 목록 URL: https://op.gg/ko/lol/user-guides

## 작성 모드 선택

- 기본값은 폼 편집입니다.
- 사용자가 원본 형식을 요청하거나 많은 텍스트를 직접 다뤄야 할 때만 원본 Markdown을 사용합니다.
- 샘플을 불러오거나 콘텐츠를 교체하기 전에 기존 초안과 자동 저장 상태를 확인합니다.
- 게시 전에는 항상 미리 보기와 검증 상태를 확인합니다.

## 인증과 초안 저장

- 초안은 계정이 아니라 현재 브라우저에 저장됩니다.
- 다른 브라우저나 기기에서는 동일한 초안을 자동으로 볼 수 없습니다.
- 정상적으로 게시하면 이 브라우저에 저장된 해당 공략의 초안이 삭제됩니다.
- 원본 Markdown은 문서 구조를 직접 편집하는 고급 모드입니다.
- 원본에 문제가 있으면 진단 문제를 해결하기 전까지 편집 모드로 돌아오지 못할 수 있습니다.
- 소환사 명함은 원본 Markdown에서 직접 편집하지 않는 고정 콘텐츠입니다.
- localStorage를 직접 조작하거나 게시에 필요한 인증을 우회하지 않습니다.

## 폼 편집기로 빌드 만들기

1. 위에 표시된 정확한 새 빌드 URL을 엽니다.
2. 기존 브라우저 초안이 복구되었는지와 자동 저장 상태를 확인합니다.
3. 챔피언, 제목, 포지션, 패치를 설정합니다.
4. 요청에 따라 용도·커스텀 태그와 선택형 소환사 명함을 추가합니다.
5. + 블록 추가 또는 / 명령으로 필요한 블록을 추가합니다.
6. 각 블록을 채운 뒤 읽기 좋은 순서로 정리합니다.
7. 미리 보기를 열고 모든 검증 문제와 최종 공개 문서를 확인합니다.
8. 사용자가 요청한 범위 안에서 인증과 검증이 성공한 경우에만 게시합니다.

## 지원 블록 유형

| 사용자 표시 이름 | Canonical type | 원본 directive |
| --- | --- | --- |
| 텍스트 | `text` | `CommonMark paragraph` |
| 제목 1 | `heading1` | `##` |
| 제목 2 | `heading2` | `###` |
| 아이템 빌드 | `ItemBuild` | `opgg lol ItemBuild` |
| 룬 빌드 | `RuneBuild` | `opgg lol RuneBuild` |
| 클래식 룬 빌드 | `ClassicRuneBuild` | `opgg lol ClassicRuneBuild 1` |
| 클래식 특성 빌드 | `ClassicMasteryBuild` | `opgg lol ClassicMasteryBuild 1` |
| 스킬 순서 | `SkillOrder` | `opgg lol SkillOrder` |
| 소환사 주문 | `SummonerSpells` | `opgg lol SummonerSpells` |
| 티어 리스트 | `TierList` | `opgg lol TierList` |
| 정글 동선 플래너 | `JungleRoute` | `opgg lol JungleRoute` |
| 링크 미리 보기 | `LinkEmbed` | `opgg lol LinkEmbed 1` |
| 전적 기록 | `MatchRecord` | `opgg lol MatchRecord 1` |
| YouTube | `YouTube` | `opgg YouTube` |
| 소환사 명함 | `SummonerCard` | 읽기 전용 capsule, 폼에서 추가 |

opaque와 hr은 사용자가 일반적으로 추가하는 블록으로 안내하지 않습니다. SummonerCard는 반복 본문 블록이 아닌 고정 capsule입니다.

## 원본 Markdown 문서 형식

빌더 원본은 Markdown 안에 포함된 OP.GG 전용 문서 형식입니다. 이 도움말을 전달하는 CommonMark와는 다릅니다.

```markdown
# 아리 미드 빌드

---
GameMode: LIVE
Champion: Ahri
Position: mid
Patch: latest
> 라인전에 초점을 맞춘 예시 빌드
---

## 운영법

운영 계획을 여기에 설명합니다.
```

- 첫 H1은 빌드 제목입니다.
- metadata 영역은 H1 바로 다음의 --- 구분자 사이에 둡니다.
- GameMode는 RANKED 또는 CLASSIC이며 문서에서 사용할 에셋 세트를 결정합니다.
- Position은 top, jungle, mid, adc, support 중 하나여야 합니다.
- 표시용 H2와 H3는 빌더의 heading1과 heading2 블록에 대응합니다.

## 에셋 참조

원본 토큰에는 로케일별 표시 이름 대신 변경되지 않는 Riot ID를 사용합니다.

```text
<@lol-champion-103>
<@lol-item-1054>
<@lol-spell-4>
<@lol-rune-8005>
<@lol-shard-5008>
<@lol-skill-103-Q>
```

- 챔피언, 아이템, 주문, 룬, 파편 토큰에는 양의 정수 ID가 필요합니다.
- 스킬 토큰에는 양의 챔피언 ID와 대문자 Q, W, E, R이 필요합니다.
- 새 원본에는 과거 opgg:// 에셋 링크를 사용하지 않습니다.
- 이름과 아이콘은 렌더링할 때 현재 로케일과 선택한 패치에서 조회합니다.

## 구조화 블록 레퍼런스

아래의 유효한 예제는 현재 serializer가 생성합니다. compact list 순서, 따옴표로 감싼 문자열, 숫자 ID, 대문자 enum을 그대로 유지합니다.

### 아이템 빌드 (`ItemBuild`)

- 사용 시점: 시작, 신발, 핵심, 상황별 아이템 선택을 공유할 때
- UI 경로: + 블록 추가 → 아이템 빌드, 또는 빈 문단에서 /를 입력하고 아이템 빌드 항목을 선택합니다.
- 원본 directive: `opgg lol ItemBuild`
- 직렬화 필드 순서: `starter, boots, core, situational`
- 작성 조건: serializer 형식의 배열에 양의 아이템 ID를 넣어야 함
- 성공 상태: 네 아이템 그룹이 직렬화된 순서대로 표시됨
- 대표 실패: 필수 필드가 배열이 아니면 fence가 잘못됨. 양수가 아닌 ID나 표시 이름은 에셋으로 조회되지 않을 수 있음

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol ItemBuild latest
starter: [1054]
boots: [3020]
core: [6655,3089]
situational: []
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol ItemBuild latest
starter: 1054
boots: []
core: []
situational: []
```
````

### 룬 빌드 (`RuneBuild`)

- 사용 시점: 룬 경로, 선택 룬, 능력치 파편을 공유할 때
- UI 경로: + 블록 추가 → 룬 빌드, 또는 빈 문단에서 /를 입력하고 룬 빌드 항목을 선택합니다.
- 원본 directive: `opgg lol RuneBuild`
- 직렬화 필드 순서: `primaryStyle, secondaryStyle, primaryRunes, secondaryRunes, shards`
- 작성 조건: serializer가 만든 숫자 경로 enum과 양의 룬 또는 파편 ID를 사용해야 함
- 성공 상태: 두 경로, 선택 룬, 파편이 표시됨
- 대표 실패: 필수 룬 목록이 배열이 아니면 fence가 잘못됨. 정규 형식이 아닌 경로나 참조는 의도대로 표시되지 않을 수 있음

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol RuneBuild latest
primaryStyle: 8000
secondaryStyle: 8100
primaryRunes: [8005,8009,9103,8014]
secondaryRunes: [8126,8141]
shards: [5008,5010,5001]
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol RuneBuild latest
primaryStyle: 8000
secondaryStyle: 8100
primaryRunes: 8005
secondaryRunes: []
shards: []
```
````

### 클래식 룬 빌드 (`ClassicRuneBuild`)

- 사용 시점: 클래식 30칸 룬 페이지를 공유할 때
- UI 경로: + 블록 추가 → 클래식 룬 빌드, 또는 빈 문단에서 /를 입력하고 클래식 룬 빌드 항목을 선택합니다.
- 원본 directive: `opgg lol ClassicRuneBuild 1`
- 직렬화 필드 순서: `ruleset, slots`
- 작성 조건: CLASSIC_1 규칙을 사용해 슬롯·룬 ID 쌍을 30개 이하로 작성해야 함. 슬롯은 1~30 사이의 중복 없는 정수이고 룬 ID는 양의 정수이며, 각 룬은 슬롯 유형과 일치해야 함
- 성공 상태: 선택한 클래식 룬이 유형에 맞는 슬롯에 표시됨
- 대표 실패: 지원하지 않는 규칙, 중복 슬롯, 슬롯 유형과 맞지 않는 룬, 알 수 없는 JADE 룬은 게시를 차단함

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol ClassicRuneBuild 1
ruleset: CLASSIC_1
slots: [[1,775253],[10,775317]]
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol ClassicRuneBuild 1
ruleset: CLASSIC_1
slots: [[1,5273],[1,5317]]
```
````

### 클래식 특성 빌드 (`ClassicMasteryBuild`)

- 사용 시점: 클래식 특성 트리 배분을 공유할 때
- UI 경로: + 블록 추가 → 클래식 특성 빌드, 또는 빈 문단에서 /를 입력하고 클래식 특성 빌드 항목을 선택합니다.
- 원본 directive: `opgg lol ClassicMasteryBuild 1`
- 직렬화 필드 순서: `ruleset, ranks`
- 작성 조건: CLASSIC_1 규칙을 사용해 특성 ID·랭크 쌍을 60개 이하로 작성해야 함. 양의 특성 ID는 한 번만 사용할 수 있고 랭크는 1~5 사이의 정수이자 각 특성의 최대 랭크 이하여야 하며, 선행 조건을 충족하고 총 30포인트를 넘지 않아야 함
- 성공 상태: 선택한 랭크가 클래식 특성 트리에 표시됨
- 대표 실패: 지원하지 않는 규칙, 중복 특성, 잘못된 랭크, 알 수 없는 JADE 특성은 게시를 차단함

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol ClassicMasteryBuild 1
ruleset: CLASSIC_1
ranks: [[512,4],[514,2]]
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol ClassicMasteryBuild 1
ruleset: CLASSIC_1
ranks: [[511,1],[511,4]]
```
````

### 스킬 순서 (`SkillOrder`)

- 사용 시점: 스킬 우선순위와 레벨별 순서를 보여줄 때
- UI 경로: + 블록 추가 → 스킬 순서, 또는 빈 문단에서 /를 입력하고 스킬 순서 항목을 선택합니다.
- 원본 directive: `opgg lol SkillOrder`
- 직렬화 필드 순서: `priority, order`
- 작성 조건: priority와 order에는 Q, W, E, R만 사용할 수 있음
- 성공 상태: 우선순위와 스킬 순서가 저장된 순서대로 표시됨
- 대표 실패: 알 수 없는 스킬 키가 있으면 fence가 잘못됨

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol SkillOrder latest
priority: [Q,E,W,R]
order: [Q,E,W,Q,Q,R]
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol SkillOrder latest
priority: [Q,X,W,R]
order: [Q,X]
```
````

### 소환사 주문 (`SummonerSpells`)

- 사용 시점: 소환사 주문 조합을 추천할 때
- UI 경로: + 블록 추가 → 소환사 주문, 또는 빈 문단에서 /를 입력하고 소환사 주문 항목을 선택합니다.
- 원본 directive: `opgg lol SummonerSpells`
- 직렬화 필드 순서: `spells`
- 작성 조건: 양의 정수 주문 ID가 담긴 배열을 사용해야 함
- 성공 상태: 선택한 주문 조합이 표시됨
- 대표 실패: spells 값이 배열이 아니면 fence가 잘못됨. 양수가 아닌 ID나 표시 이름은 주문으로 조회되지 않을 수 있음

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol SummonerSpells latest
spells: [4,12]
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol SummonerSpells latest
spells: 4
```
````

### 티어 리스트 (`TierList`)

- 사용 시점: 챔피언, 아이템, 룬 에셋을 이름 있는 행으로 나눌 때
- UI 경로: + 블록 추가 → 티어 리스트, 또는 빈 문단에서 /를 입력하고 티어 리스트 항목을 선택합니다.
- 원본 directive: `opgg lol TierList`
- 직렬화 필드 순서: `schemaVersion, segment, assetType, preset, rows, unranked, ```, ## Synergy, > Teamfight impact, ```opgg lol TierList latest, schemaVersion, segment, index, ```, ### Best, Reliable pairings, ```opgg lol TierList latest, schemaVersion, segment, index, ```, ### Good, ```opgg lol TierList latest, schemaVersion, segment`
- 작성 조건: 유효한 에셋이 하나 이상 티어에 배치되어야 함
- 성공 상태: 행, 팔레트 ID, 설명, 배치된 에셋이 순서대로 표시됨
- 대표 실패: 알 수 없는 enum·색상 ID, 중복 에셋, 빈 티어 영역은 게시를 차단함

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol TierList latest
schemaVersion: 1
segment: START
assetType: CHAMPION
preset: SYNERGY
rows: [[1,[79]],[4,[75]]]
unranked: []
```

## Synergy

> Teamfight impact

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 0
```

### Best

Reliable pairings

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 1
```

### Good

```opgg lol TierList latest
schemaVersion: 1
segment: END
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol TierList latest
schemaVersion: 1
segment: START
assetType: CHAMPION
preset: CUSTOM
rows: [[99,[103]],[2,[]]]
unranked: []
```

## Matchups

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 0
```

### S

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 1
```

### A

```opgg lol TierList latest
schemaVersion: 1
segment: END
```
````

### 정글 동선 플래너 (`JungleRoute`)

- 사용 시점: 정글 동선을 설명하고 비교할 때
- UI 경로: + 블록 추가 → 정글 동선 플래너, 또는 빈 문단에서 /를 입력하고 정글 동선 플래너 항목을 선택합니다.
- 원본 directive: `opgg lol JungleRoute`
- 직렬화 필드 순서: `map, title, plans`
- 작성 조건: 하나 이상의 동선에 방문 지점이 두 개 이상 있어야 하며, 입력한 도착 시각은 빠짐없이 증가해야 함
- 성공 상태: 정렬된 동선이 미니맵과 방문 목록에 표시됨
- 대표 실패: 입력한 도착 시각이 증가하지 않으면 동선이 미완성으로 처리됨

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol JungleRoute latest
map: 1
title: "Blue-side opening"
plans: [[PLAN_A,"Primary route",[[5,CLEAR,95],[4,CLEAR,120]]],[PLAN_B,"Alternative route",[]]]
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol JungleRoute latest
map: 1
title: "Opening"
plans: [[PLAN_A,"Primary",[[5,CLEAR,120,""],[4,CLEAR,95,""]]],[PLAN_B,"Alternative",[]]]
```
````

### 링크 미리 보기 (`LinkEmbed`)

- 사용 시점: 지원되는 외부 페이지를 미리 보기로 보여줄 때
- UI 경로: + 블록 추가 → 링크 미리 보기, 또는 빈 문단에서 /를 입력하고 링크 미리 보기 항목을 선택합니다.
- 원본 directive: `opgg lol LinkEmbed 1`
- 직렬화 필드 순서: `url`
- 작성 조건: 구문이 올바른 절대 http 또는 https URL 하나를 사용해야 함
- 성공 상태: 의도한 링크 미리 보기가 표시됨
- 대표 실패: 안전하지 않거나 잘못된 URL은 fence를 무효로 만듦. 미리 보기 결과는 별도로 확인해야 함

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol LinkEmbed 1
url: "http://www.op.gg/"
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol LinkEmbed 1
url: "javascript:alert(1)"
```
````

### 전적 기록 (`MatchRecord`)

- 사용 시점: 특정 OP.GG 매치의 한 참가자를 근거로 보여줄 때
- UI 경로: + 블록 추가 → 전적 기록, 또는 빈 문단에서 /를 입력하고 전적 기록 항목을 선택합니다.
- 원본 directive: `opgg lol MatchRecord 1`
- 직렬화 필드 순서: `match`
- 작성 조건: 지역, 게임 ID, 양의 timestamp, 1~32의 참가자 ID가 유효해야 함
- 성공 상태: 의도한 플레이어와 전적 기록이 표시됨
- 대표 실패: 지원하지 않는 지역 또는 잘못된 게임 ID·timestamp·참가자 ID는 fence를 무효로 만듦

Serializer가 생성한 유효한 예제:

````markdown
```opgg lol MatchRecord 1
match: [KR,"KR_1234567890",1785141570000,4]
```
````

대표적인 잘못된 예제:

````markdown
```opgg lol MatchRecord 1
match: [KR,"KR_1234567890",1785141570000,0]
```
````

### YouTube (`YouTube`)

- 사용 시점: 관련 YouTube 동영상 하나를 삽입할 때
- UI 경로: + 블록 추가 → YouTube, 또는 빈 문단에서 /를 입력하고 YouTube 항목을 선택합니다.
- 원본 directive: `opgg YouTube`
- 직렬화 필드 순서: `videoId`
- 작성 조건: 지원되는 YouTube video ID를 사용해야 함
- 성공 상태: 의도한 동영상 플레이어가 표시됨
- 대표 실패: 유효하지 않거나 지원되지 않는 video ID는 게시를 차단함

Serializer가 생성한 유효한 예제:

````markdown
```opgg YouTube
videoId: M7lc1UVf-VE
```
````

대표적인 잘못된 예제:

````markdown
```opgg YouTube
videoId: not-a-video-id
```
````

## 미리 보기와 게시 검증

다음 코드는 내부 식별자입니다. 코드만 노출하지 말고 사용자에게 복구 방법을 설명합니다.

| 내부 코드 | 의미 | 복구 방법 |
| --- | --- | --- |
| `EMPTY_TITLE` | 빌드 제목이 비어 있음 | 제목을 입력합니다. |
| `EMPTY_BODY` | 게시할 본문 콘텐츠가 없음 | 텍스트나 지원 블록을 추가합니다. |
| `EMPTY_TIER_LIST` | 티어 리스트에 배치된 에셋이 없음 | 에셋을 하나 이상 티어로 옮깁니다. |
| `INCOMPLETE_JUNGLE_ROUTE` | 방문 지점이 두 개 이상인 동선이 없거나 입력한 도착 시각이 증가하지 않음 | 동선 하나를 완성하고 도착 시각 순서를 수정합니다. |
| `INCOMPATIBLE_GAME_MODE_BLOCK` | 문서에서 선택한 게임 모드가 지원하지 않는 블록이 있음 | GameMode를 변경하거나 해당 모드가 지원하는 블록으로 교체합니다. |
| `INVALID_CLASSIC_BUILD` | 클래식 룬 슬롯 또는 특성 배분이 클래식 규칙을 위반함 | 클래식 룬은 각 룬을 슬롯 유형에 맞춥니다. 클래식 특성은 각 특성의 최대 랭크 이하로 올리고 선행 조건을 충족하며 총 30포인트 이하로 배분합니다. |
| `INVALID_MATCH_RECORD_FENCE` | MatchRecord 참조가 잘못됨 | 유효한 OP.GG 매치 링크를 붙여넣어 다시 불러옵니다. |
| `INVALID_LINK_EMBED_FENCE` | LinkEmbed 참조가 잘못됨 | 지원되는 형식의 유효한 URL을 사용합니다. |
| `INVALID_YOUTUBE_FENCE` | YouTube 참조가 잘못됨 | 지원되는 YouTube URL 또는 video ID를 사용합니다. |
| `INVALID_GAME_MODE_METADATA` | GameMode 메타데이터가 RANKED 또는 CLASSIC이 아님 | GameMode를 RANKED 또는 CLASSIC으로 설정합니다. |
| `INVALID_SUMMONER_CARD_CAPSULE` | 고정 SummonerCard capsule이 잘못됨 | 폼에서 명함을 삭제하거나 라이엇 계정을 다시 선택합니다. |
| `OPAQUE_DIAGNOSTIC` | 보존된 원본 콘텐츠에 진단 문제가 있음 | 진단된 원본을 수정하거나 삭제합니다. |
| `FORM_CONVERSION_BLOCKED` | 원본 콘텐츠를 폼 블록으로 안전하게 변환할 수 없음 | 편집 모드로 돌아가기 전에 모든 원본 진단 문제를 해결합니다. |

## 기존 빌드 편집 또는 복제

- 기존 게시물을 편집할 때는 챔피언, 포지션, 패치가 잠깁니다.
- 새 패치용 공략은 기존 공략을 복제한 뒤 사본을 편집하세요.
- 복제 문서에는 원본 작성자와 출처 링크가 보존될 수 있습니다.

## 문제 해결

- **자동 저장 실패** — 증상: 초안을 저장하지 못했다는 상태가 표시됩니다. 원인: 브라우저 저장소를 사용할 수 없거나 공간이 부족할 수 있습니다. 복구: 작성 중인 내용을 안전한 곳에 복사하고 브라우저 저장소를 다시 사용할 수 있게 한 뒤 내용을 수정해 자동 저장을 다시 시도합니다.
- **읽을 수 없는 저장 초안** — 증상: 복구용 원본 데이터가 표시됩니다. 원인: 저장 형식이 잘못되었거나 오래되었을 수 있습니다. 복구: 필요한 텍스트를 복사한 뒤 읽을 수 없는 초안을 교체할지 결정하고 작업을 계속합니다.
- **패치 데이터 불일치** — 증상: 에셋 이름과 아이콘이 다른 패치 기준으로 표시됩니다. 원인: 메타데이터를 변경한 뒤 에셋 데이터를 다시 불러오지 않았습니다. 복구: 선택한 패치의 에셋 데이터를 다시 불러옵니다.
- **편집 모드로 돌아갈 수 없음** — 증상: 원본 진단 문제가 계속 표시됩니다. 원인: 잘못되었거나 알 수 없는 원본을 데이터 손실 없이 변환할 수 없습니다. 복구: 원본 Markdown의 모든 진단 문제를 해결합니다.
- **잘못된 구조화 fence** — 증상: 미리 보기에 블록 오류가 표시됩니다. 원인: directive, 필드, enum, ID, compact list 값 중 하나가 잘못되었습니다. 복구: serializer가 생성한 예제와 비교해 원본을 수정합니다.
- **게시 전 로그인 필요** — 증상: 작성과 미리 보기는 되지만 게시가 인증 오류로 실패합니다. 원인: 로그인 세션이 없습니다. 복구: 정상적으로 로그인하고 초안이 유지되었는지 확인한 뒤 다시 게시합니다.

## 출처와 최신성

- 이 문서는 OP.GG가 제공하는 공식 챔피언 빌드 빌더 가이드입니다.
- 답변에 출처가 필요하면 canonical HTML 페이지를 인용합니다: https://op.gg/ko/lol/user-guides/help
- 원본 문법의 최종 권위는 현재 빌더와 함께 배포된 parser와 serializer입니다.
- 이 문서는 작성 도구의 사용법을 설명하며 특정 패치의 추천 빌드 데이터는 제공하지 않습니다.
