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

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

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




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


**JSON**
```json
{
  "version": "2019-04-05",
  "limitModels": [
    {
      "name": "[string]回数制限モデル名",
      "metadata": "[string?]メタデータ",
      "resetType": "[string (enum)]リセットタイミング",
      "resetDayOfMonth": "[int]リセット日",
      "resetDayOfWeek": "[string (enum)]リセット曜日",
      "resetHour": "[int]リセット時刻",
      "anchorTimestamp": "[long]経過日数のカウントをする基準日時",
      "days": "[int]リセットする日数"
    }
  ]
}
```


|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2019-04-05 | | マスターデータのフォーマットバージョン |
| limitModels | [List&lt;LimitModel&gt;](#limitmodel) |  |  |  |  ~ 100 items | 回数制限モデル<br>回数制限モデルには、使用回数をリセットするタイミングを設定できます。<br/>リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」「一定日数」の 5 種類から選択できます。<br/><br/>また、回数制限の最大値はマスターデータ側では固定しません。<br/>これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。<br/>たとえばステップアップガチャのように、<br/>- 購入回数カウンターが 3 回未満 の場合に購入できる商品<br/>- 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品<br/><br/>といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。 |

## モデル

### LimitModel

回数制限モデル<br>

回数制限モデルには、使用回数をリセットするタイミングを設定できます。<br>
リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」「一定日数」の 5 種類から選択できます。<br>

また、回数制限の最大値はマスターデータ側では固定しません。<br>
これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。<br>
たとえばステップアップガチャのように、<br>
- 購入回数カウンターが 3 回未満 の場合に購入できる商品<br>
- 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品<br>

といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| limitModelId | string |  | ※ |  |  ~ 1024文字 | 回数制限モデルGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | 回数制限モデル名<br>回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br/>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| resetType | 文字列列挙型<br>enum {<br>&nbsp;&nbsp;"notReset",<br>&nbsp;&nbsp;"daily",<br>&nbsp;&nbsp;"weekly",<br>&nbsp;&nbsp;"monthly",<br>&nbsp;&nbsp;"days"<br>}<br> |  | ✓ |  |  | リセットタイミング<br>この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。"notReset": リセットしない / "daily": 毎日 / "weekly": 毎週 / "monthly": 毎月 / "days": 一定日数ごと /  |
| resetDayOfMonth | int | {resetType} == "monthly" | ✓※ |  | 1 ~ 31 | リセット日<br>resetTypeが "monthly" の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。<br>※ resetType が "monthly" であれば 必須 |
| resetDayOfWeek | 文字列列挙型<br>enum {<br>&nbsp;&nbsp;"sunday",<br>&nbsp;&nbsp;"monday",<br>&nbsp;&nbsp;"tuesday",<br>&nbsp;&nbsp;"wednesday",<br>&nbsp;&nbsp;"thursday",<br>&nbsp;&nbsp;"friday",<br>&nbsp;&nbsp;"saturday"<br>}<br> | {resetType} == "weekly" | ✓※ |  |  | リセット曜日<br>resetTypeが "weekly" の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。"sunday": 日曜日 / "monday": 月曜日 / "tuesday": 火曜日 / "wednesday": 水曜日 / "thursday": 木曜日 / "friday": 金曜日 / "saturday": 土曜日 / <br>※ resetType が "weekly" であれば 必須 |
| resetHour | int | {resetType} in ["monthly", "weekly", "daily"] | ✓※ |  | 0 ~ 23 | リセット時刻<br>daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。<br>※ resetType が "monthly","weekly","daily"であれば 必須 |
| anchorTimestamp | long | {resetType} == "days" | ✓※ |  |  | 経過日数のカウントをする基準日時<br>UNIX 時間・ミリ秒<br>※ resetType が "days" であれば 必須 |
| days | int | {resetType} == "days" | ✓※ |  | 1 ~ 2147483646 | リセットする日数<br>resetTypeが "days" の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。<br>※ resetType が "days" であれば 必須 |

---



