GS2-Idle Master Data Reference
Master Data Format
{
"version": "2023-06-06",
"categoryModels": [
{
"name": "[string]Category Model name",
"metadata": "[string?]Metadata",
"rewardIntervalMinutes": "[int]Reward Interval (Minutes)",
"defaultMaximumIdleMinutes": "[int]Default Maximum Idle Time (Minutes)",
"rewardResetMode": "[string enum]Reward Reset Mode",
"acquireActions": [
{
"acquireActions": [
{
"action": "[string]Type of action to be executed in the Acquire Action",
"request": "[string]JSON string of the request used when executing the action"
}
]
}
],
"idlePeriodScheduleId": "[string?]Idle Period Schedule ID",
"receivePeriodScheduleId": "[string?]Receive Period Schedule ID"
}
]
}| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2023-06-06 | Format version of master data | ||
| categoryModels | List<CategoryModel> | ~ 100 items | Category Model A Category Model is an entity that defines a waiting category in which idle rewards can be earned over time. The settings include information such as the reward for each waiting time and the maximum idle time. |
Model
CategoryModel
Category Model
A Category Model is an entity that defines a waiting category in which idle rewards can be earned over time. The settings include information such as the reward for each waiting time and the maximum idle time.
| Type | Condition | Required | Default | Value Limits | Description | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| categoryModelId | string | * | ~ 1024 chars | Category Model GRN * Set automatically by the server | ||||||||
| name | string | ✓ | ~ 128 chars | Category Model name Category Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||
| metadata | string | ~ 2048 chars | Metadata Arbitrary values can be set in the metadata. Since they do not affect GS2’s behavior, they can be used to store information used in the game. | |||||||||
| rewardIntervalMinutes | int | ✓ | 0 ~ 2147483646 | Reward Interval (Minutes) The time interval in minutes between each idle reward. For example, if set to 60, the user earns one reward unit for every 60 minutes of idle time. The total number of rewards is calculated as (elapsed idle minutes) / rewardIntervalMinutes, cycling through the acquireActions array. | ||||||||
| defaultMaximumIdleMinutes | int | ✓ | 0 ~ 2147483646 | Default Maximum Idle Time (Minutes) The default maximum idle time in minutes for new statuses in this category. Idle time beyond this limit does not accumulate additional rewards. This value is copied to each status’s maximumIdleMinutes when the status is created, and can be extended per-user via transactions. | ||||||||
| rewardResetMode | String Enum enum { “Reset”, “CarryOver” } | “Reset” | Reward Reset Mode Determines how idle time is handled after the user receives rewards. “Reset” sets the idle time back to zero, meaning any partial interval time is lost. “CarryOver” preserves the remaining time that was not enough to earn an additional reward, so it counts toward the next reward cycle.
| |||||||||
| acquireActions | List<AcquireActionList> | [] | 1 ~ 100 items | List of acquire actions for each waiting time Assuming that the waiting time is “X minutes”, “X / rewardIntervalMinutes” will be the number of rewards that can be received, but by looping the elements specified in this array, different rewards can be given for each waiting time. | ||||||||
| idlePeriodScheduleId | string | ~ 1024 chars | Idle Period Schedule ID The GRN of a GS2-Schedule event that defines the time period during which idle time accumulates. When set, idle time only counts while the event is active. If the event repeats, the status tracks the repetition count and resets idle time when a new cycle begins, ensuring rewards are calculated per event period. | |||||||||
| receivePeriodScheduleId | string | ~ 1024 chars | Receive Period Schedule ID The GRN of a GS2-Schedule event that defines the time window during which users can claim accumulated idle rewards. When set, reward claims are only accepted while the event is active. This allows time-limited reward collection periods separate from the idle accumulation period. |
AcquireActionList
Acquire Action List
A wrapper that groups multiple acquire actions to be granted together for a single reward interval. Each AcquireActionList corresponds to one reward cycle in the category model’s acquireActions array, enabling different reward combinations at each interval.
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| acquireActions | List<AcquireAction> | [] | 0 ~ 100 items | List of Acquire Actions The collection of acquire actions that are executed together when this reward interval is triggered. Multiple actions can be combined to grant different types of rewards simultaneously for a single idle reward cycle. Up to 100 actions per list. |
AcquireAction
Acquire Action
Represents a single acquire action used as an idle reward. Consists of an action type (e.g., add items, increase currency) and its request parameters. When idle rewards are claimed, these actions are assembled into transactions and executed to deliver the rewards to the user.