GS2-SkillTree Master Data Reference
Reference for the master data format and the models to be imported
Master Data Format
{
"version": "2023-09-06",
"nodeModels": [
{
"name": "[string]Node Model name",
"metadata": "[string?]Metadata",
"releaseVerifyActions": [
{
"action": "[string]Type of action to be executed in the Verify Action",
"request": "[string]JSON string of the request used when executing the action"
}
],
"releaseConsumeActions": [
{
"action": "[string]Type of action to be executed in the Consume Action",
"request": "[string]JSON string of the request used when executing the action"
}
],
"returnAcquireActions": [
{
"action": "[string]Type of action to be executed in the Acquire Action",
"request": "[string]JSON string of the request used when executing the action"
}
],
"restrainReturnRate": "[float]Restrain Return Rate",
"premiseNodeNames": [
"[string]Node Model name"
]
}
]
}| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2023-09-06 | Format version of master data | ||
| nodeModels | List<NodeModel> | ~ 1000 items | Node Model Defines a node within the skill tree, including its unlock cost, prerequisites, and refund behavior. Each node can have verify actions (conditions to check before release), consume actions (costs to pay), and prerequisite nodes that must be released first. When a node is restrained (reverted to unreleased), the consumed resources are partially refunded based on the restrain return rate. The return acquire actions are automatically calculated from the consume actions multiplied by the restrain return rate. |
Model
NodeModel
Node Model
Defines a node within the skill tree, including its unlock cost, prerequisites, and refund behavior. Each node can have verify actions (conditions to check before release), consume actions (costs to pay), and prerequisite nodes that must be released first. When a node is restrained (reverted to unreleased), the consumed resources are partially refunded based on the restrain return rate. The return acquire actions are automatically calculated from the consume actions multiplied by the restrain return rate.
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| nodeModelId | string | * | ~ 1024 chars | Node Model GRN * Set automatically by the server | ||
| name | string | ✓ | ~ 128 chars | Node Model name Node 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. | |||
| releaseVerifyActions | List<VerifyAction> | [] | 0 ~ 10 items | Release Verify Actions List of verify actions executed before releasing this node to check whether the conditions are satisfied. For example, can verify that the player has a certain level or possesses a specific item. If any verify action fails, the node release is rejected. Maximum 10 actions. | ||
| releaseConsumeActions | List<ConsumeAction> | [] | 1 ~ 10 items | Release Consume Actions List of consume actions executed when releasing this node, representing the cost to unlock it. These actions are also used to calculate the return acquire actions: each consume action is reverted at the restrain return rate when the node is restrained. At least 1 consume action is required. Maximum 10 actions. | ||
| returnAcquireActions | List<AcquireAction> | 0 ~ 10 items | Return Acquire Actions List of acquire actions executed when restraining (reverting) this node, representing the resources returned to the player. This field is auto-generated from the release consume actions multiplied by the restrain return rate. For example, if release costs 100 gold and the return rate is 0.8, restraining returns 80 gold. Maximum 10 actions. | |||
| restrainReturnRate | float | 1.0 | 0.0 ~ 1.0 | Restrain Return Rate The rate at which consumed resources are refunded when this node is restrained (reverted to unreleased state). A value of 1.0 means full refund, 0.5 means half refund, and 0.0 means no refund. Defaults to 1.0 (full refund). Valid range: 0.0 to 1.0. | ||
| premiseNodeNames | List<string> | [] | 0 ~ 10 items | List of Premise Node Names Names of other node models that must be released before this node can be unlocked. Defines the dependency graph of the skill tree. A node cannot be released unless all its prerequisite nodes are already released. Maximum 10 prerequisite nodes. |
ConsumeAction
Consume Action
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| action | String Enum enum { } | ✓ | Type of action to be executed in the Consume Action | |||
| request | string | ✓ | ~ 524288 chars | JSON string of the request used when executing the action |
VerifyAction
Verify Action
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| action | String Enum enum { } | ✓ | Type of action to be executed in the Verify Action | |||
| request | string | ✓ | ~ 524288 chars | JSON string of the request used when executing the action |
AcquireAction
Acquire Action
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| action | String Enum enum { } | ✓ | Type of action to be executed in the Acquire Action | |||
| request | string | ✓ | ~ 524288 chars | JSON string of the request used when executing the action |