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

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

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




## 마스터 데이터 포맷


**JSON**
```json
{
  "version": "2024-04-15",
  "buffEntryModels": [
    {
      "name": "[string]버프 엔트리 모델 이름",
      "metadata": "[string?]메타데이터",
      "expression": "[문자열 열거형]버프의 적용 타입",
      "targetType": "[문자열 열거형]버프를 적용할 대상의 종류",
      "targetModel": {
        "targetModelName": "[string]버프를 적용할 모델의 종류",
        "targetFieldName": "[string]버프 적용 대상 필드명",
        "conditionGrns": [
          {
            "targetModelName": "[string]버프 적용 조건의 모델 이름",
            "targetGrn": "[string]버프의 적용 조건 GRN"
          }
        ],
        "rate": "[float]보정 레이트"
      },
      "targetAction": {
        "targetActionName": "[string]버프를 적용할 액션의 종류",
        "targetFieldName": "[string]버프 적용 대상 필드명",
        "conditionGrns": [
          {
            "targetModelName": "[string]버프 적용 조건의 모델 이름",
            "targetGrn": "[string]버프의 적용 조건 GRN"
          }
        ],
        "rate": "[float]보정 레이트"
      },
      "priority": "[int]버프의 적용 우선순위",
      "applyPeriodScheduleEventId": "[string?]버프를 적용할 이벤트의 개최 기간 GRN"
    }
  ]
}
```


|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2024-04-15 | | 마스터 데이터 포맷 버전 |
| buffEntryModels | [List&lt;BuffEntryModel&gt;](#buffentrymodel) |  |  |  |  ~ 100 items | 버프 엔트리 모델<br>버프의 적용량은 버프 엔트리 모델로 관리하며, 동일한 대상에 대해 여러 버프 엔트리 모델을 연결할 수 있습니다.<br>버프 엔트리 모델의 적용 순서는 버프 엔트리 모델의 `priority` 로 관리하며, `priority` 값이 작을수록 우선순위가 높아집니다.<br><br>버프의 적용 방식은 3종류가 있으며 "Rate Add", "Mul", "Value Add"가 있습니다.<br>Rate Add 는 버프의 적용 레이트에 가산하는 명령이며, Mul 은 버프의 적용 레이트에 곱하는 명령입니다.<br>Value Add 는 버프 보정 계산 후의 값에 가산을 수행하는 명령입니다.<br>예를 들어 기본 레이트가 1.0 이고 Rate Add 0.2 를 설정하면 버프 적용 레이트는 1.2 가 됩니다.<br>Mul 0.5 를 설정하면 버프 적용 레이트는 현재 레이트의 0.5배가 됩니다.<br><br>버프 엔트리 모델에는 GS2-Schedule 의 이벤트를 연결할 수 있으며, 이벤트 개최 기간 중에만 버프를 적용하도록 설정하는 것도 가능합니다. |

## 모델

### BuffEntryModel

버프 엔트리 모델<br>

버프의 적용량은 버프 엔트리 모델로 관리하며, 동일한 대상에 대해 여러 버프 엔트리 모델을 연결할 수 있습니다.<br>
버프 엔트리 모델의 적용 순서는 버프 엔트리 모델의 `priority` 로 관리하며, `priority` 값이 작을수록 우선순위가 높아집니다.<br>

버프의 적용 방식은 3종류가 있으며 "Rate Add", "Mul", "Value Add"가 있습니다.<br>
Rate Add 는 버프의 적용 레이트에 가산하는 명령이며, Mul 은 버프의 적용 레이트에 곱하는 명령입니다.<br>
Value Add 는 버프 보정 계산 후의 값에 가산을 수행하는 명령입니다.<br>
예를 들어 기본 레이트가 1.0 이고 Rate Add 0.2 를 설정하면 버프 적용 레이트는 1.2 가 됩니다.<br>
Mul 0.5 를 설정하면 버프 적용 레이트는 현재 레이트의 0.5배가 됩니다.<br>

버프 엔트리 모델에는 GS2-Schedule 의 이벤트를 연결할 수 있으며, 이벤트 개최 기간 중에만 버프를 적용하도록 설정하는 것도 가능합니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| buffEntryModelId | string |  | ※ |  |  ~ 1024자 | 버프 엔트리 모델 GRN<br>※ 서버가 자동으로 설정 |
| name | string |  | ✓ |  |  ~ 128자 | 버프 엔트리 모델 이름<br>버프 엔트리 모델 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| metadata | string |  |  |  |  ~ 2048자 | 메타데이터<br>메타데이터에는 임의의 값을 설정할 수 있습니다.<br>이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. |
| expression | 문자열 열거형<br>enum {<br>"rate_add",<br>"mul",<br>"value_add"<br>}<br> |  | ✓ |  |  | 버프의 적용 타입<br>버프 값을 대상에 어떻게 적용할지를 지정합니다. "Rate Add"는 보정 레이트에 가산(예: 1.0 + 0.2 = 1.2), "Mul"은 보정 레이트에 곱함(예: 레이트 * 0.5), "Value Add"는 레이트 기반 보정 계산 후의 값에 직접 가산합니다.rate_add: 보정 레이트에 가산 / mul: 보정 레이트에 곱함 / value_add: 값을 직접 가산(모델이나 액션의 숫자 값만) /  |
| targetType | 문자열 열거형<br>enum {<br>"model",<br>"action"<br>}<br> |  | ✓ |  |  | 버프를 적용할 대상의 종류<br>버프를 모델의 필드 값에 적용할지, 액션의 파라미터에 적용할지를 지정합니다. "Model"은 GS2 리소스 모델의 필드를 대상으로 하며, "Action"은 GS2 액션(예: 획득량이나 소비량)의 파라미터를 대상으로 합니다.model: 모델 / action: 액션 /  |
| targetModel | [BuffTargetModel](#bufftargetmodel) | {targetType} == "model" | ✓※ |  |  | 버프를 적용할 대상 모델<br>버프를 적용할 GS2 리소스 모델과 필드를 지정합니다. 모델 이름, 필드 이름, 대상 리소스를 특정하는 조건 GRN, 그리고 레이트 값이 포함됩니다.<br>※ targetType이(가) "model" 이면 필수 |
| targetAction | [BuffTargetAction](#bufftargetaction) | {targetType} == "action" | ✓※ |  |  | 버프를 적용할 대상 액션<br>버프를 적용할 GS2 액션과 파라미터를 지정합니다. 액션 이름, 필드 이름, 대상 리소스를 특정하는 조건 GRN, 그리고 레이트 값이 포함됩니다.<br>※ targetType이(가) "action" 이면 필수 |
| priority | int |  | ✓ |  | 0 ~ 2147483646 | 버프의 적용 우선순위<br>버프 엔트리 모델이 평가되는 순서를 결정합니다. 값이 작을수록 먼저 평가됩니다. 동일한 필드를 대상으로 하는 여러 버프가 있는 경우, Rate Add 와 Mul 연산의 상호작용으로 인해 적용 순서가 최종 결과에 영향을 미칩니다. |
| applyPeriodScheduleEventId | string |  |  |  |  ~ 1024자 | 버프를 적용할 이벤트의 개최 기간 GRN<br>이 버프의 유효 기간을 제어하는 GS2-Schedule 이벤트의 GRN입니다. 지정한 경우, 이벤트 개최 기간 중에만 버프가 적용됩니다. 지정하지 않은 경우, 버프는 항상 유효합니다. |

---

### BuffTargetModel

버프 적용 대상 모델<br>

버프 적용의 대상이 되는 GS2 리소스 모델과 필드를 정의합니다. 어떤 모델의 어떤 필드 값을 버프로 변경할지 지정하며, 대상 리소스 인스턴스를 특정하는 조건 GRN과 적용할 레이트 값을 포함합니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| targetModelName | 문자열 열거형<br>enum {<br>}<br> |  | ✓ |  |  | 버프를 적용할 모델의 종류 |
| targetFieldName | string |  | ✓ |  |  ~ 64자 | 버프 적용 대상 필드명<br>버프에 의해 값이 변경되는 대상 모델 상의 수치 필드명입니다. 예를 들어 경험치나 공격력 등의 수치 속성을 나타내는 필드가 대상이 됩니다. |
| conditionGrns | [List&lt;BuffTargetGrn&gt;](#bufftargetgrn) |  | ✓ |  | 1 ~ 10 items | 버프 적용 조건 GRN 목록<br>버프 적용의 대상 리소스 인스턴스를 특정하는 GRN 패턴의 목록입니다. 여러 GRN을 조합하여 리소스를 정확하게 특정하는 복합 조건을 구성합니다. |
| rate | float |  | ✓ |  | 0 ~ 1000000 | 보정 레이트<br>적용되는 버프 값입니다. 적용 타입에 따라 의미가 다릅니다. "Rate Add"의 경우 기본 레이트에 가산, "Mul"의 경우 현재 레이트에 곱셈, "Value Add"의 경우 레이트 계산 후의 필드 값에 직접 가산됩니다. |

---

### BuffTargetAction

버프 적용 대상 액션<br>

버프 적용의 대상이 되는 GS2 액션과 파라미터를 정의합니다. 어떤 액션의 어떤 파라미터를 버프로 변경할지 지정하며, 대상 리소스 인스턴스를 특정하는 조건 GRN과 적용할 레이트 값을 포함합니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| targetActionName | 문자열 열거형<br>enum {<br>}<br> |  | ✓ |  |  | 버프를 적용할 액션의 종류 |
| targetFieldName | string |  | ✓ |  |  ~ 64자 | 버프 적용 대상 필드명<br>버프에 의해 값이 변경되는 대상 액션 상의 수치 파라미터명입니다. 예를 들어 입수 수량, 소비량, 보상 수량 등을 나타내는 파라미터가 대상이 됩니다. |
| conditionGrns | [List&lt;BuffTargetGrn&gt;](#bufftargetgrn) |  | ✓ |  | 1 ~ 10 items | 버프 적용 조건 GRN 목록<br>버프 적용의 대상 리소스 인스턴스를 특정하는 GRN 패턴의 목록입니다. 여러 GRN을 조합하여 리소스를 정확하게 특정하는 복합 조건을 구성합니다. |
| rate | float |  | ✓ |  | 0 ~ 1000000 | 보정 레이트<br>적용되는 버프 값입니다. 적용 타입에 따라 의미가 다릅니다. "Rate Add"의 경우 기본 레이트에 가산, "Mul"의 경우 현재 레이트에 곱셈, "Value Add"의 경우 레이트 계산 후의 파라미터 값에 직접 가산됩니다. |

---

### BuffTargetGrn

버프 적용 조건이 되는 리소스의 GRN 패턴<br>

버프가 유효해지는 리소스 인스턴스를 좁히기 위한 조건 GRN 패턴입니다.<br>
targetModelName 으로 GS2 서비스 모델의 종류를 특정하며, targetGrn 에는 런타임에 해결되는 컨텍스트 변수({region}, {ownerId})를 포함할 수 있습니다.

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| targetModelName | string |  | ✓ |  |  ~ 64자 | 버프 적용 조건의 모델 이름<br>조건 GRN을 해결하기 위해 사용되는 GS2 서비스 모델의 이름입니다. GRN 패턴이 어느 서비스의 리소스 모델을 참조하는지를 특정합니다. |
| targetGrn | string |  | ✓ |  |  ~ 1024자 | 버프의 적용 조건 GRN<br>런타임에 해결되는 컨텍스트 플레이스홀더(예: {region}, {ownerId})를 포함한 GRN 템플릿입니다. 버프의 대상이 되는 특정 리소스 인스턴스를 특정하기 위해 사용됩니다. |

---



