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

# GS2-Quest マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス




## マスターデータのフォーマット


**JSON**
```json
{
  "version": "2019-05-14",
  "groups": [
    {
      "name": "[string]クエストグループモデル名",
      "metadata": "[string?]メタデータ",
      "quests": [
        {
          "questModelId": "[string]クエストモデルGRN",
          "name": "[string]クエストモデル名",
          "metadata": "[string?]メタデータ",
          "contents": [
            {
              "metadata": "[string?]メタデータ",
              "completeAcquireActions": [
                {
                  "action": "[string]入手アクションで実行するアクションの種類",
                  "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
                }
              ],
              "weight": "[int]抽選の重み"
            }
          ],
          "challengePeriodEventId": "[string?]挑戦可能期間イベントGRN",
          "firstCompleteAcquireActions": [
            {
              "action": "[string]入手アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "verifyActions": [
            {
              "action": "[string]検証アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "consumeActions": [
            {
              "action": "[string]消費アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "failedAcquireActions": [
            {
              "action": "[string]入手アクションで実行するアクションの種類",
              "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
            }
          ],
          "premiseQuestNames": [
            "[string]クエストモデル名"
          ]
        }
      ],
      "challengePeriodEventId": "[string?]挑戦可能期間イベントGRN"
    }
  ]
}
```


|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2019-05-14 | | マスターデータのフォーマットバージョン |
| groups | [List&lt;QuestGroupModel&gt;](#questgroupmodel) |  |  |  |  ~ 10 items | クエストグループモデル<br>クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。<br/>つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。 |

## モデル

### QuestGroupModel

クエストグループモデル<br>

クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。<br>
つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| questGroupModelId | string |  | ※ |  |  ~ 1024文字 | クエストグループモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | クエストグループモデル名<br>クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 1024文字 | メタデータ<br>メタデータには任意の値を設定できます。<br/>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| quests | [List&lt;QuestModel&gt;](#questmodel) |  |  | [] | 0 ~ 1000 items | グループに属するクエスト<br>このクエストグループに属するクエストモデルのリストです。グループ内では同時に1つのクエストのみ進行できます。 |
| challengePeriodEventId | string |  |  |  |  ~ 1024文字 | 挑戦可能期間イベントGRN<br>このグループ内のクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。 |

---

### QuestModel

クエストモデル<br>

クエストモデルはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。<br>

クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。<br>
例えば、クエスト自体は同じでも、レアモンスターの出現有無によって2種類のコンテンツバリエーションを作成できます。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| questModelId | string |  | ※ |  |  ~ 1024文字 | クエストモデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | クエストモデル名<br>クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 1024文字 | メタデータ<br>メタデータには任意の値を設定できます。<br/>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| contents | [List&lt;Contents&gt;](#contents) |  |  | [] | 1 ~ 10 items | クエストの内容<br>このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 |
| challengePeriodEventId | string |  |  |  |  ~ 1024文字 | 挑戦可能期間イベントGRN<br>このクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。この設定はクエストグループの挑戦可能期間より優先されます。 |
| firstCompleteAcquireActions | [List&lt;AcquireAction&gt;](#acquireaction) |  |  | [] | 0 ~ 10 items | 初回クリア報酬入手アクションリスト<br>このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 |
| verifyActions | [List&lt;VerifyAction&gt;](#verifyaction) |  |  | [] | 0 ~ 10 items | 検証アクションリスト<br>このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 |
| consumeActions | [List&lt;ConsumeAction&gt;](#consumeaction) |  |  | [] | 0 ~ 10 items | 消費アクションリスト<br>このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 |
| failedAcquireActions | [List&lt;AcquireAction&gt;](#acquireaction) |  |  | [] | 0 ~ 100 items | 失敗時入手アクションリスト<br>クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 |
| premiseQuestNames | List&lt;string&gt; |  |  | [] | 0 ~ 10 items | 前提クエスト名リスト<br>このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 |

---

### Contents

コンテンツ<br>

クエストコンテンツの1つのバリエーションを表します。各クエストは異なる報酬を持つ複数のコンテンツバリエーションを持つことができ、クエスト開始時に重み付き抽選で1つが選択されます。メタデータはユーザーIDやコンフィグ値によるテンプレート変数の置換をサポートします。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| metadata | string |  |  |  |  ~ 256文字 | メタデータ<br>メタデータには任意の値を設定できます。<br/>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| completeAcquireActions | [List&lt;AcquireAction&gt;](#acquireaction) |  |  | [] | 0 ~ 10 items | クリア報酬入手アクション<br>このコンテンツバリエーションでクエストをクリアした際に実行される入手アクションです。プレイヤーがクエストクリア時に受け取る実際の報酬を定義します。 |
| weight | int |  |  | 1 | 1 ~ 2147483646 | 抽選の重み<br>クエスト開始時のコンテンツバリエーション抽選で使用される相対的な重みです。値が大きいほどこのバリエーションが選択される確率が高くなります。例えば、重み9のバリエーションは重み1のバリエーションの9倍選択されやすくなります。 |

---

### AcquireAction

入手アクション

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| action | 文字列列挙型<br>enum {<br>}<br> |  | ✓ |  |  | 入手アクションで実行するアクションの種類 |
| request | string |  | ✓ |  |  ~ 524288文字 | アクション実行時に使用されるリクエストのJSON文字列 |

---

### ConsumeAction

消費アクション

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| action | 文字列列挙型<br>enum {<br>}<br> |  | ✓ |  |  | 消費アクションで実行するアクションの種類 |
| request | string |  | ✓ |  |  ~ 524288文字 | アクション実行時に使用されるリクエストのJSON文字列 |

---

### VerifyAction

検証アクション

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| action | 文字列列挙型<br>enum {<br>}<br> |  | ✓ |  |  | 検証アクションで実行するアクションの種類 |
| request | string |  | ✓ |  |  ~ 524288文字 | アクション実行時に使用されるリクエストのJSON文字列 |

---



