> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Enchant 마스터 데이터 레퍼런스

마스터 데이터 포맷과 임포트할 각종 모델의 레퍼런스




## 마스터 데이터 포맷


**JSON**
```json
{
  "version": "2023-07-18",
  "balanceParameterModels": [
    {
      "name": "[string]밸런스 파라미터 모델 이름",
      "metadata": "[string?]메타데이터",
      "totalValue": "[long]합계값",
      "initialValueStrategy": "[문자열 열거형]초기값 설정 방침",
      "parameters": [
        {
          "name": "[string]이름",
          "metadata": "[string?]메타데이터"
        }
      ]
    }
  ],
  "rarityParameterModels": [
    {
      "name": "[string]레어리티 파라미터 모델명",
      "metadata": "[string?]메타데이터",
      "maximumParameterCount": "[int]부여할 파라미터의 최대 수",
      "parameterCounts": [
        {
          "count": "[int]부여 수",
          "weight": "[int]추첨 가중치"
        }
      ],
      "parameters": [
        {
          "name": "[string]이름",
          "metadata": "[string?]메타데이터",
          "resourceName": "[string]게임에서 사용하는 파라미터 리소스 종류를 나타내는 이름(GS2의 동작에는 사용되지 않음)",
          "resourceValue": "[long]게임에서 사용하는 파라미터 리소스 값(GS2의 동작에는 사용되지 않음)",
          "weight": "[int]추첨 가중치"
        }
      ]
    }
  ]
}
```


|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2023-07-18 | | 마스터 데이터 포맷 버전 |
| balanceParameterModels | [List&lt;BalanceParameterModel&gt;](#balanceparametermodel) |  |  |  |  ~ 10000 items | 밸런스 파라미터 모델<br>밸런스 파라미터의 추첨 조건을 정의합니다.<br>밸런스 파라미터는 고정된 합계 값을 여러 파라미터 슬롯에 분배합니다. 예를 들어 합계 파워가 100인 무기에 대해 ATK=60, DEF=30, SPD=10과 같이 배분됩니다. 초기값 설정 방침에 따라 값의 할당 방법이 결정됩니다: `average`는 균등하게 분배하고, `lottery`는 합계 값을 무작위로 배분합니다. |
| rarityParameterModels | [List&lt;RarityParameterModel&gt;](#rarityparametermodel) |  |  |  |  ~ 10000 items | 레어리티 파라미터 모델<br>레어리티 파라미터의 추첨 조건을 정의합니다. 레어리티 파라미터는 가중 추첨 시스템을 사용하여 부여되는 파라미터의 수와 할당되는 구체적인 값을 모두 결정합니다. 먼저, 부여 수 모델 목록에서 가중 추첨을 통해 채울 파라미터 슬롯 수가 결정됩니다. 그런 다음, 각 슬롯의 값이 파라미터 값 모델 목록에서 가중 추첨으로 선택되어, 제어된 확률 분포에 따른 무작위 장비 속성을 제공합니다. |

## 모델

### BalanceParameterModel

밸런스 파라미터 모델<br>

밸런스 파라미터의 추첨 조건을 정의합니다.<br>
밸런스 파라미터는 고정된 합계 값을 여러 파라미터 슬롯에 분배합니다. 예를 들어 합계 파워가 100인 무기에 대해 ATK=60, DEF=30, SPD=10과 같이 배분됩니다. 초기값 설정 방침에 따라 값의 할당 방법이 결정됩니다: `average`는 균등하게 분배하고, `lottery`는 합계 값을 무작위로 배분합니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| balanceParameterModelId | string |  | ※ |  |  ~ 1024자 | 밸런스 파라미터 모델 GRN<br>※ 서버가 자동으로 설정 |
| name | string |  | ✓ |  |  ~ 128자 | 밸런스 파라미터 모델 이름<br>밸런스 파라미터 모델 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| metadata | string |  |  |  |  ~ 2048자 | 메타데이터<br>메타데이터에는 임의의 값을 설정할 수 있습니다.<br>이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. |
| totalValue | long |  | ✓ |  | 0 ~ 9223372036854775805 | 합계값<br>모든 파라미터 슬롯에 분배되는 고정된 합계값입니다. 파라미터가 추첨될 때, 사용되는 배분 방식과 관계없이 개별 값의 합계는 항상 이 합계값이 됩니다. |
| initialValueStrategy | 문자열 열거형<br>enum {<br>"average",<br>"lottery"<br>}<br> |  |  | "average" |  | 초기값 설정 방침<br>최초 할당 시 합계값을 파라미터 슬롯에 어떻게 분배할지를 결정합니다. `average`는 합계값을 모든 파라미터에 균등하게 분배하고, `lottery`는 합계값을 무작위로 분배하여 다양한 파라미터 조합을 만듭니다.average: 평균값 / lottery: 추첨 /  |
| parameters | [List&lt;BalanceParameterValueModel&gt;](#balanceparametervaluemodel) |  | ✓ |  | 1 ~ 10 items | 밸런스 파라미터 값 모델 목록<br>이 밸런스 파라미터에서 사용 가능한 파라미터 슬롯을 정의합니다. 각 엔트리는 이름이 지정된 파라미터 슬롯(예: ATK, DEF, SPD)을 선택적 메타데이터와 함께 지정합니다. 합계값은 이 슬롯들에 분배됩니다. |

---

### BalanceParameterValueModel

밸런스 파라미터 값 모델<br>

밸런스 파라미터 내에서 사용 가능한 단일 파라미터 슬롯을 정의합니다. 각 엔트리는 추첨 처리 중 합계값의 일부를 받는 이름이 지정된 슬롯(예: ATK, DEF, SPD)을 지정합니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| name | string |  | ✓ |  |  ~ 64자 | 이름<br>이 파라미터 슬롯의 식별자(예: ATK, DEF, SPD)입니다. 밸런스 파라미터 모델 내에서 고유해야 합니다. 추첨된 파라미터 값을 저장·취득할 때 키로 사용됩니다. |
| metadata | string |  |  |  |  ~ 512자 | 메타데이터<br>메타데이터에는 임의의 값을 설정할 수 있습니다.<br>이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. |

---

### RarityParameterModel

레어리티 파라미터 모델<br>

레어리티 파라미터의 추첨 조건을 정의합니다. 레어리티 파라미터는 가중 추첨 시스템을 사용하여 부여되는 파라미터의 수와 할당되는 구체적인 값을 모두 결정합니다. 먼저, 부여 수 모델 목록에서 가중 추첨을 통해 채울 파라미터 슬롯 수가 결정됩니다. 그런 다음, 각 슬롯의 값이 파라미터 값 모델 목록에서 가중 추첨으로 선택되어, 제어된 확률 분포에 따른 무작위 장비 속성을 제공합니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| rarityParameterModelId | string |  | ※ |  |  ~ 1024자 | 레어리티 파라미터 모델 GRN<br>※ 서버가 자동으로 설정 |
| name | string |  | ✓ |  |  ~ 128자 | 레어리티 파라미터 모델명<br>레어리티 파라미터 모델 고유의 이름입니다. 영숫자 및 -(하이픈), _(언더스코어), .(마침표)로 지정합니다. |
| metadata | string |  |  |  |  ~ 2048자 | 메타데이터<br>메타데이터에는 임의의 값을 설정할 수 있습니다.<br>이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. |
| maximumParameterCount | int |  | ✓ |  | 1 ~ 10 | 부여할 파라미터의 최대 수<br>리소스에 부여할 수 있는 파라미터 슬롯 수의 상한입니다. 실제로 부여되는 수는 부여 수 모델 목록에서의 가중 추첨으로 결정되지만, 이 값을 초과하지 않습니다. |
| parameterCounts | [List&lt;RarityParameterCountModel&gt;](#rarityparametercountmodel) |  | ✓ |  | 1 ~ 10 items | 레어리티 파라미터의 부여 수 모델 목록<br>부여되는 파라미터 슬롯 수를 결정하기 위한 가중 추첨 엔트리를 정의합니다. 각 엔트리는 부여 수와 추첨 가중치를 지정합니다. 가중치가 클수록 해당 부여 수가 선택될 확률이 높아집니다. |
| parameters | [List&lt;RarityParameterValueModel&gt;](#rarityparametervaluemodel) |  | ✓ |  | 1 ~ 1000 items | 레어리티 파라미터 값 모델 목록<br>추첨 가능한 파라미터 값의 풀을 정의합니다. 각 엔트리는 파라미터 이름, 리소스 상세 정보, 추첨 가중치를 지정합니다. 파라미터 슬롯을 채울 때, 이 풀에서 중복 없이 가중 추첨으로 값이 선택됩니다. |

---

### RarityParameterCountModel

레어리티 파라미터의 부여 수 모델<br>

리소스에 부여되는 파라미터 슬롯 수를 결정하기 위한 가중 추첨의 단일 엔트리를 정의합니다. 각 엔트리는 파라미터 수와 추첨 가중치를 짝지어, 파라미터 수량의 확률 분포를 세밀하게 제어할 수 있습니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| count | int |  | ✓ |  | 0 ~ 10 | 부여 수<br>이 엔트리가 추첨되었을 때 부여되는 파라미터 슬롯 수입니다. 예를 들어 부여 수가 3인 경우, 리소스는 값 모델 풀에서 선택된 3개의 파라미터 값을 받게 됩니다. |
| weight | int |  | ✓ |  | 1 ~ 2147483646 | 추첨 가중치<br>파라미터 부여 수를 결정하는 가중치 추첨에서 사용되는 상대적인 가중치입니다. 값이 클수록 이 부여 수가 선택될 확률이 높아집니다. 실제 확률은 이 가중치를 부여 수 모델 리스트 내 모든 가중치의 합으로 나눈 값입니다. |

---

### RarityParameterValueModel

레어리티 파라미터 값 모델<br>

레어리티 파라미터 값의 가중 추첨 풀 내 단일 엔트리를 정의합니다. 각 엔트리는 파라미터 이름, 게임에서 정의한 리소스 상세 정보, 그리고 풀 내 다른 엔트리에 대한 선택 확률을 결정하는 추첨 가중치를 지정합니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| name | string |  | ✓ |  |  ~ 64자 | 이름<br>이 추첨 엔트리의 식별자입니다. 레어리티 파라미터 모델의 값 풀 내에서 고유해야 합니다. 추첨되었을 때, 이 이름이 결과 레어리티 파라미터 값에 저장됩니다. |
| metadata | string |  |  |  |  ~ 512자 | 메타데이터<br>메타데이터에는 임의의 값을 설정할 수 있습니다.<br>이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. |
| resourceName | string |  | ✓ |  |  ~ 64자 | 게임에서 사용하는 파라미터 리소스 종류를 나타내는 이름(GS2의 동작에는 사용되지 않음)<br>이 파라미터 값에 연결된 게임에서 정의한 리소스 종류 이름(예: "fire_attack", "ice_resist")입니다. GS2는 자체 동작에 이 값을 사용하지 않으며, 추첨 결과에 그대로 전달되어 게임 로직에서 사용됩니다. |
| resourceValue | long |  | ✓ |  | 0 ~ 9223372036854775805 | 게임에서 사용하는 파라미터 리소스 값(GS2의 동작에는 사용되지 않음)<br>이 파라미터의 게임에서 정의한 수치(예: 공격력+50인 경우 50)입니다. GS2는 자체 동작에 이 값을 사용하지 않으며, 추첨 결과에 그대로 전달되어 게임 로직에서 사용됩니다. |
| weight | int |  | ✓ |  | 1 ~ 2147483646 | 추첨 가중치<br>파라미터 값을 선택하는 가중 추첨에서 사용되는 상대적 가중치입니다. 값이 클수록 이 엔트리가 선택될 확률이 높아집니다. 실제 확률은 이 가중치를 풀 내 모든 가중치의 합으로 나눈 값이 됩니다. |

---



