Master Data Reference of GS2-Mission
Master Data Format
{
"version": "2019-05-28",
"groups": [
{
"name": "[string]Mission Group Model name",
"metadata": "[string?]Metadata",
"tasks": [
{
"missionTaskId": "[string]Mission Task GRN",
"name": "[string]Task Model Name",
"metadata": "[string?]Metadata",
"verifyCompleteType": "[string]Completion criteria type",
"targetCounter": {
"counterName": "[string]Counter Model name",
"scopeType": "[string]Scope type",
"resetType": "[string?]Target Reset timing",
"conditionName": "[string]Condition Name",
"value": "[long]Target value"
},
"verifyCompleteConsumeActions": [
{
"action": "[string]Types of actions to be performed in the verify task",
"request": "[string]JSON string of the request used when executing the action"
}
],
"completeAcquireActions": [
{
"action": "[string]Types of actions to be performed in the acquire action",
"request": "[string]JSON string of the request used when executing the action"
}
],
"challengePeriodEventId": "[string?]GS2-Schedule event GRN with a set period of time during which rewards can be received",
"premiseMissionTaskName": "[string?]Name of the tasks accomplish to attempt this task",
"counterName": "[string]Counter Model name",
"targetResetType": "[string?]Target Reset timing",
"targetValue": "[long]Target value"
}
],
"resetType": "[string enum]Reset timing",
"resetDayOfMonth": "[int]Date to reset (If the value exceeds the days of the month, it is treated as the last day.)",
"resetDayOfWeek": "[string enum]Day of the week to reset",
"resetHour": "[int]Hour of Reset",
"completeNotificationNamespaceId": "[string?]Namespace GRN",
"anchorTimestamp": "[long]Base date and time for counting elapsed days",
"days": "[int]Number of days to reset"
}
],
"counters": [
{
"name": "[string]Counter Model name",
"metadata": "[string?]Metadata",
"scopes": [
{
"scopeType": "[string]Scope type",
"resetType": "[string]Reset timing",
"resetDayOfMonth": "[int]Date to reset (If the value exceeds the days of the month, it is treated as the last day.)",
"resetDayOfWeek": "[string]Day of the week to reset",
"resetHour": "[int]Hour of Reset",
"conditionName": "[string]Condition Name",
"condition": {
"action": "[string]Types of actions to be performed in the verify task",
"request": "[string]JSON string of the request used when executing the action"
},
"anchorTimestamp": "[long]Base date and time for counting elapsed days",
"days": "[int]Number of days to reset"
}
],
"challengePeriodEventId": "[string?]GS2-Schedule event GRN that sets the period during which the counter can be operated."
}
]
}| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2019-05-28 | Format version of master data | ||
| groups | List<MissionGroupModel> | ~ 20 items | Mission Group Model A mission group is an entity that groups tasks by counter reset timing. For example, one group for daily missions. One group for Weekly Mission. | |||
| counters | List<CounterModel> | ~ 1000 items | Counter Model The counter model is an entity that can be set as a condition for accomplishing mission tasks. Since counter values can be referenced by multiple mission groups, a single counter can be set as an accomplishment condition for multiple mission groups, such as weekly and daily missions. |
Model
CounterModel
Counter Model
The counter model is an entity that can be set as a condition for accomplishing mission tasks. Since counter values can be referenced by multiple mission groups, a single counter can be set as an accomplishment condition for multiple mission groups, such as weekly and daily missions.
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| counterId | string | ✓* | ~ 1024 chars | Counter Model GRN * Automatically configured on the server | ||
| name | string | ✓ | ~ 128 chars | Counter Model name Counter Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| metadata | string | ~ 1024 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. | |||
| scopes | List<CounterScopeModel> | ✓ | [] | 1 ~ 20 items | List of Counter reset timing | |
| challengePeriodEventId | string | ~ 1024 chars | GS2-Schedule event GRN that sets the period during which the counter can be operated. |
CounterScopeModel
Counter Reset Timing Model
| Type | Condition | Required | Default | Value Limits | Description | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| scopeType | String Enum enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | Scope type
| ||||||||||||||||||
| resetType | String Enum enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | ✓ | “notReset” | Reset timing
| ||||||||||||||||||
| resetDayOfMonth | int | {resetType} == “monthly” | ✓* | 1 ~ 31 | Date to reset (If the value exceeds the days of the month, it is treated as the last day.) * Required if resetType is “monthly” | |||||||||||||||||
| resetDayOfWeek | String Enum enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {resetType} == “weekly” | ✓* | Day of the week to reset
* Required if resetType is “weekly” | ||||||||||||||||||
| resetHour | int | {resetType} in [“monthly”, “weekly”, “daily”] | ✓* | 0 ~ 23 | Hour of Reset * Required if resetType is “monthly”,“weekly”,“daily” | |||||||||||||||||
| conditionName | string | {scopeType} == “verifyAction” | ✓* | ~ 128 chars | Condition Name * Required if scopeType is “verifyAction” | |||||||||||||||||
| condition | VerifyAction | {scopeType} == “verifyAction” | ✓* | Condition * Required if scopeType is “verifyAction” | ||||||||||||||||||
| anchorTimestamp | long | {resetType} == “days” | ✓* | Base date and time for counting elapsed days Unix time, milliseconds * Required if resetType is “days” | ||||||||||||||||||
| days | int | {resetType} == “days” | ✓* | 1 ~ 2147483646 | Number of days to reset * Required if resetType is “days” |
VerifyAction
Verify Action
MissionGroupModel
Mission Group Model
A mission group is an entity that groups tasks by counter reset timing. For example, one group for daily missions. One group for Weekly Mission.
| Type | Condition | Required | Default | Value Limits | Description | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| missionGroupId | string | ✓* | ~ 1024 chars | Mission Group GRN * Automatically configured on the server | ||||||||||||||||||
| name | string | ✓ | ~ 128 chars | Mission Group Model name Mission Group Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||||||||||
| metadata | string | ~ 1024 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. | |||||||||||||||||||
| tasks | List<MissionTaskModel> | [] | 0 ~ 1000 items | List of Mission Task | ||||||||||||||||||
| resetType | String Enum enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | ✓ | “notReset” | Reset timing
| ||||||||||||||||||
| resetDayOfMonth | int | {resetType} == “monthly” | ✓* | 1 ~ 31 | Date to reset (If the value exceeds the days of the month, it is treated as the last day.) * Required if resetType is “monthly” | |||||||||||||||||
| resetDayOfWeek | String Enum enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {resetType} == “weekly” | ✓* | Day of the week to reset
* Required if resetType is “weekly” | ||||||||||||||||||
| resetHour | int | {resetType} in [“monthly”, “weekly”, “daily”] | ✓* | 0 ~ 23 | Hour of Reset * Required if resetType is “monthly”,“weekly”,“daily” | |||||||||||||||||
| completeNotificationNamespaceId | string | ~ 1024 chars | Namespace GRN | |||||||||||||||||||
| anchorTimestamp | long | {resetType} == “days” | ✓* | Base date and time for counting elapsed days Unix time, milliseconds * Required if resetType is “days” | ||||||||||||||||||
| days | int | {resetType} == “days” | ✓* | 1 ~ 2147483646 | Number of days to reset * Required if resetType is “days” |
MissionTaskModel
Mission Task Model
A mission task is an entity that defines the conditions under which a reward will be given if the value of the associated counter exceeds a certain level.
| Type | Condition | Required | Default | Value Limits | Description | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| missionTaskId | string | ✓* | ~ 1024 chars | Mission Task GRN * Automatically configured on the server | ||||||||
| name | string | ✓ | ~ 128 chars | Task Model Name Task Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||
| metadata | string | ~ 1024 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. | |||||||||
| verifyCompleteType | String Enum enum { “counter”, “verifyActions” } | ✓ | “counter” | Completion criteria type
| ||||||||
| targetCounter | TargetCounterModel | {verifyCompleteType} == “counter” | ✓* | Target Counter * Required if verifyCompleteType is “counter” | ||||||||
| verifyCompleteConsumeActions | List<VerifyAction> | {verifyCompleteType} == “verifyActions” | [] | 0 ~ 10 items | Verify actions when task is accomplished * Enabled if verifyCompleteType is “verifyActions” | |||||||
| completeAcquireActions | List<AcquireAction> | [] | 0 ~ 100 items | Rewards for mission accomplishment | ||||||||
| challengePeriodEventId | string | ~ 1024 chars | GS2-Schedule event GRN with a set period of time during which rewards can be received | |||||||||
| premiseMissionTaskName | string | ~ 128 chars | Name of the tasks accomplish to attempt this task |
TargetCounterModel
Target Counter
Information about the counter that serves as the achievement goal for the mission
| Type | Condition | Required | Default | Value Limits | Description | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| counterName | string | ✓ | ~ 128 chars | Counter Model name Counter Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||||||
| scopeType | String Enum enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | Scope type
| ||||||||||||||
| resetType | String Enum enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | {scopeType} == “resetTiming” | Target Reset timing
* Enabled if scopeType is “resetTiming” | |||||||||||||||
| conditionName | string | {scopeType} == “verifyAction” | ✓* | ~ 128 chars | Condition Name * Required if scopeType is “verifyAction” | |||||||||||||
| value | long | ✓ | 0 ~ 9223372036854775805 | Target value |
AcquireAction
Acquire Action