Master Data Reference of GS2-Grade
Reference of the format of master data and various models to be imported
{
"version": "2023-12-25",
"gradeModels": [
{
"name": "[string]Grade Model Name",
"metadata": "[string?]metadata",
"defaultGrades": [
{
"propertyIdRegex": "[string]Regular expression for property ID to which default value is applied",
"defaultGradeValue": "[long]Default grade value"
}
],
"experienceModelId": "[string]Experience model GRN to link grade and rank cap",
"gradeEntries": [
{
"metadata": "[string?]metadata",
"rankCapValue": "[long]Rank cap value to be set in GS2-Experience",
"propertyIdRegex": "[string]Regular expression for property ID that can be used for grade up",
"gradeUpPropertyIdRegex": "[string]Regular expression for property ID that can be used for grade up"
}
],
"acquireActionRates": [
{
"name": "[string]Remuneration addition table name",
"mode": "[string]Remuneration addition table type",
"rates": [
"[double]Addition amount (multiplier)"
],
"bigRates": [
"[string]Addition amount (multiplier)"
]
}
]
}
]
}
| Type | Condition | Require | Default | Limitation | Description |
---|
version | | | ✓ | 2023-12-25 | | Format version of master data |
gradeModels | List<GradeModel> | | | | ~ 100 items | Grade Model |
GradeModel
Grade Model
An grade model is an entity that sets the threshold of grade required for rank advancement and for each default and maximum rank cap.
| Type | Condition | Require | Default | Limitation | Description |
---|
gradeModelId | string | | ✓ | | ~ 1024 chars | Grade Model GRN |
name | string | | ✓ | | ~ 128 chars | Grade Model Name |
metadata | string | | | | ~ 2048 chars | metadata |
defaultGrades | List<DefaultGradeModel> | | | | ~ 100 items | List of Default grade model |
experienceModelId | string | | ✓ | | ~ 1024 chars | Experience model GRN to link grade and rank cap |
gradeEntries | List<GradeEntryModel> | | ✓ | | 1 ~ 100 items | List of Grade entry |
acquireActionRates | List<AcquireActionRate> | | | | ~ 100 items | List of Remuneration addition table |
DefaultGradeModel
Default grade model
You can set the default grade value according to the match of the property ID regular expression when creating a new grade.
| Type | Condition | Require | Default | Limitation | Description |
---|
propertyIdRegex | string | | ✓ | | ~ 1024 chars | Regular expression for property ID to which default value is applied |
defaultGradeValue | long | | ✓ | | ~ 9223372036854775805 | Default grade value |
GradeEntryModel
Grade Entry
| Type | Condition | Require | Default | Limitation | Description |
---|
metadata | string | | | | ~ 2048 chars | metadata |
rankCapValue | long | | ✓ | | ~ 9223372036854775805 | Rank cap value to be set in GS2-Experience |
propertyIdRegex | string | | ✓ | | ~ 1024 chars | Regular expression for property ID that can be used for grade up |
gradeUpPropertyIdRegex | string | | ✓ | | ~ 1024 chars | Regular expression for property ID that can be used for grade up |
AcquireActionRate
Remuneration addition table master
You can adjust the amount of rewards according to the rank.
| Type | Condition | Require | Default | Limitation | Description |
---|
name | string | | ✓ | | ~ 128 chars | Remuneration addition table name |
mode | enum { “double”, “big” }
| | ✓ | “double” | ~ 128 chars | Remuneration addition table type |
rates | List<double> | {mode} == “double” | ✓ | | 1 ~ 1000 items | Amount added per grade (multiplier) |
bigRates | List<string> | {mode} == “big” | ✓ | | 1 ~ 1000 items | Amount added per grade (multiplier) |
Enumeration type definition to specify as mode
Enumerator String Definition | Description |
---|
double | Floating point number less than 2^48 |
big | Floating point number less than 1024 digits |
AcquireAction
Acquire Action
| Type | Condition | Require | Default | Limitation | Description |
---|
action | enum { "Gs2AdReward:AcquirePointByUserId", "Gs2Dictionary:AddEntriesByUserId", "Gs2Enchant:ReDrawBalanceParameterStatusByUserId", "Gs2Enchant:SetBalanceParameterStatusByUserId", "Gs2Enchant:ReDrawRarityParameterStatusByUserId", "Gs2Enchant:AddRarityParameterStatusByUserId", "Gs2Enchant:SetRarityParameterStatusByUserId", "Gs2Enhance:DirectEnhanceByUserId", "Gs2Enhance:UnleashByUserId", "Gs2Enhance:CreateProgressByUserId", "Gs2Exchange:ExchangeByUserId", "Gs2Exchange:IncrementalExchangeByUserId", "Gs2Exchange:CreateAwaitByUserId", "Gs2Exchange:AcquireForceByUserId", "Gs2Exchange:SkipByUserId", "Gs2Experience:AddExperienceByUserId", "Gs2Experience:SetExperienceByUserId", "Gs2Experience:AddRankCapByUserId", "Gs2Experience:SetRankCapByUserId", "Gs2Experience:MultiplyAcquireActionsByUserId", "Gs2Formation:AddMoldCapacityByUserId", "Gs2Formation:SetMoldCapacityByUserId", "Gs2Formation:AcquireActionsToFormProperties", "Gs2Formation:SetFormByUserId", "Gs2Formation:AcquireActionsToPropertyFormProperties", "Gs2Friend:UpdateProfileByUserId", "Gs2Grade:AddGradeByUserId", "Gs2Grade:ApplyRankCapByUserId", "Gs2Grade:MultiplyAcquireActionsByUserId", "Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName", "Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName", "Gs2Idle:IncreaseMaximumIdleMinutesByUserId", "Gs2Idle:SetMaximumIdleMinutesByUserId", "Gs2Idle:ReceiveByUserId", "Gs2Inbox:SendMessageByUserId", "Gs2Inventory:AddCapacityByUserId", "Gs2Inventory:SetCapacityByUserId", "Gs2Inventory:AcquireItemSetByUserId", "Gs2Inventory:AcquireItemSetWithGradeByUserId", "Gs2Inventory:AddReferenceOfByUserId", "Gs2Inventory:DeleteReferenceOfByUserId", "Gs2Inventory:AcquireSimpleItemsByUserId", "Gs2Inventory:SetSimpleItemsByUserId", "Gs2Inventory:AcquireBigItemByUserId", "Gs2Inventory:SetBigItemByUserId", "Gs2JobQueue:PushByUserId", "Gs2Limit:CountDownByUserId", "Gs2Limit:DeleteCounterByUserId", "Gs2LoginReward:DeleteReceiveStatusByUserId", "Gs2LoginReward:UnmarkReceivedByUserId", "Gs2Lottery:DrawByUserId", "Gs2Lottery:ResetBoxByUserId", "Gs2Mission:RevertReceiveByUserId", "Gs2Mission:IncreaseCounterByUserId", "Gs2Mission:SetCounterByUserId", "Gs2Money:DepositByUserId", "Gs2Money:RevertRecordReceipt", "Gs2Money2:DepositByUserId", "Gs2Quest:CreateProgressByUserId", "Gs2Schedule:TriggerByUserId", "Gs2Schedule:ExtendTriggerByUserId", "Gs2Script:InvokeScript", "Gs2SerialKey:RevertUseByUserId", "Gs2SerialKey:IssueOnce", "Gs2Showcase:DecrementPurchaseCountByUserId", "Gs2Showcase:ForceReDrawByUserId", "Gs2SkillTree:MarkReleaseByUserId", "Gs2Stamina:RecoverStaminaByUserId", "Gs2Stamina:RaiseMaxValueByUserId", "Gs2Stamina:SetMaxValueByUserId", "Gs2Stamina:SetRecoverIntervalByUserId", "Gs2Stamina:SetRecoverValueByUserId", "Gs2StateMachine:StartStateMachineByUserId", }
| | ✓ | | ~ 128 chars | Types of actions to be performed in the acquire action |
request | string | | ✓ | | ~ 524288 chars | JSON of request |
VerifyActionResult
Verify action execution result
| Type | Condition | Require | Default | Limitation | Description |
---|
action | enum { "Gs2Dictionary:VerifyEntryByUserId", "Gs2Distributor:IfExpressionByUserId", "Gs2Distributor:AndExpressionByUserId", "Gs2Distributor:OrExpressionByUserId", "Gs2Enchant:VerifyRarityParameterStatusByUserId", "Gs2Experience:VerifyRankByUserId", "Gs2Experience:VerifyRankCapByUserId", "Gs2Grade:VerifyGradeByUserId", "Gs2Grade:VerifyGradeUpMaterialByUserId", "Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName", "Gs2Guild:VerifyIncludeMemberByUserId", "Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId", "Gs2Inventory:VerifyItemSetByUserId", "Gs2Inventory:VerifyReferenceOfByUserId", "Gs2Inventory:VerifySimpleItemByUserId", "Gs2Inventory:VerifyBigItemByUserId", "Gs2Limit:VerifyCounterByUserId", "Gs2Matchmaking:VerifyIncludeParticipantByUserId", "Gs2Mission:VerifyCompleteByUserId", "Gs2Mission:VerifyCounterValueByUserId", "Gs2Ranking2:VerifyGlobalRankingScoreByUserId", "Gs2Ranking2:VerifyClusterRankingScoreByUserId", "Gs2Ranking2:VerifySubscribeRankingScoreByUserId", "Gs2Schedule:VerifyTriggerByUserId", "Gs2Schedule:VerifyEventByUserId", "Gs2SerialKey:VerifyCodeByUserId", "Gs2Stamina:VerifyStaminaValueByUserId", "Gs2Stamina:VerifyStaminaMaxValueByUserId", "Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId", "Gs2Stamina:VerifyStaminaRecoverValueByUserId", "Gs2Stamina:VerifyStaminaOverflowValueByUserId", }
| | ✓ | | ~ 128 chars | Types of actions to be performed in the verify task |
verifyRequest | string | | ✓ | | ~ 524288 chars | JSON of request |
statusCode | int | | | | ~ 999 | Status code |
verifyResult | string | | | | ~ 1048576 chars | Result payload |
ConsumeActionResult
Consume action execution result
| Type | Condition | Require | Default | Limitation | Description |
---|
action | enum { "Gs2AdReward:ConsumePointByUserId", "Gs2Dictionary:DeleteEntriesByUserId", "Gs2Enhance:DeleteProgressByUserId", "Gs2Exchange:DeleteAwaitByUserId", "Gs2Experience:SubExperienceByUserId", "Gs2Experience:SubRankCapByUserId", "Gs2Formation:SubMoldCapacityByUserId", "Gs2Grade:SubGradeByUserId", "Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName", "Gs2Idle:DecreaseMaximumIdleMinutesByUserId", "Gs2Inbox:OpenMessageByUserId", "Gs2Inbox:DeleteMessageByUserId", "Gs2Inventory:ConsumeItemSetByUserId", "Gs2Inventory:ConsumeSimpleItemsByUserId", "Gs2Inventory:ConsumeBigItemByUserId", "Gs2JobQueue:DeleteJobByUserId", "Gs2Limit:CountUpByUserId", "Gs2LoginReward:MarkReceivedByUserId", "Gs2Mission:ReceiveByUserId", "Gs2Mission:BatchReceiveByUserId", "Gs2Mission:DecreaseCounterByUserId", "Gs2Mission:ResetCounterByUserId", "Gs2Money:WithdrawByUserId", "Gs2Money:RecordReceipt", "Gs2Money2:WithdrawByUserId", "Gs2Money2:VerifyReceiptByUserId", "Gs2Quest:DeleteProgressByUserId", "Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId", "Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId", "Gs2Schedule:DeleteTriggerByUserId", "Gs2SerialKey:UseByUserId", "Gs2Showcase:IncrementPurchaseCountByUserId", "Gs2SkillTree:MarkRestrainByUserId", "Gs2Stamina:DecreaseMaxValueByUserId", "Gs2Stamina:ConsumeStaminaByUserId", }
| | ✓ | | ~ 128 chars | Types of actions to be performed in the consume action |
consumeRequest | string | | ✓ | | ~ 524288 chars | JSON of request |
statusCode | int | | | | ~ 999 | Status code |
consumeResult | string | | | | ~ 1048576 chars | Result payload |
AcquireActionResult
Acquire action execution result
| Type | Condition | Require | Default | Limitation | Description |
---|
action | enum { "Gs2AdReward:AcquirePointByUserId", "Gs2Dictionary:AddEntriesByUserId", "Gs2Enchant:ReDrawBalanceParameterStatusByUserId", "Gs2Enchant:SetBalanceParameterStatusByUserId", "Gs2Enchant:ReDrawRarityParameterStatusByUserId", "Gs2Enchant:AddRarityParameterStatusByUserId", "Gs2Enchant:SetRarityParameterStatusByUserId", "Gs2Enhance:DirectEnhanceByUserId", "Gs2Enhance:UnleashByUserId", "Gs2Enhance:CreateProgressByUserId", "Gs2Exchange:ExchangeByUserId", "Gs2Exchange:IncrementalExchangeByUserId", "Gs2Exchange:CreateAwaitByUserId", "Gs2Exchange:AcquireForceByUserId", "Gs2Exchange:SkipByUserId", "Gs2Experience:AddExperienceByUserId", "Gs2Experience:SetExperienceByUserId", "Gs2Experience:AddRankCapByUserId", "Gs2Experience:SetRankCapByUserId", "Gs2Experience:MultiplyAcquireActionsByUserId", "Gs2Formation:AddMoldCapacityByUserId", "Gs2Formation:SetMoldCapacityByUserId", "Gs2Formation:AcquireActionsToFormProperties", "Gs2Formation:SetFormByUserId", "Gs2Formation:AcquireActionsToPropertyFormProperties", "Gs2Friend:UpdateProfileByUserId", "Gs2Grade:AddGradeByUserId", "Gs2Grade:ApplyRankCapByUserId", "Gs2Grade:MultiplyAcquireActionsByUserId", "Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName", "Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName", "Gs2Idle:IncreaseMaximumIdleMinutesByUserId", "Gs2Idle:SetMaximumIdleMinutesByUserId", "Gs2Idle:ReceiveByUserId", "Gs2Inbox:SendMessageByUserId", "Gs2Inventory:AddCapacityByUserId", "Gs2Inventory:SetCapacityByUserId", "Gs2Inventory:AcquireItemSetByUserId", "Gs2Inventory:AcquireItemSetWithGradeByUserId", "Gs2Inventory:AddReferenceOfByUserId", "Gs2Inventory:DeleteReferenceOfByUserId", "Gs2Inventory:AcquireSimpleItemsByUserId", "Gs2Inventory:SetSimpleItemsByUserId", "Gs2Inventory:AcquireBigItemByUserId", "Gs2Inventory:SetBigItemByUserId", "Gs2JobQueue:PushByUserId", "Gs2Limit:CountDownByUserId", "Gs2Limit:DeleteCounterByUserId", "Gs2LoginReward:DeleteReceiveStatusByUserId", "Gs2LoginReward:UnmarkReceivedByUserId", "Gs2Lottery:DrawByUserId", "Gs2Lottery:ResetBoxByUserId", "Gs2Mission:RevertReceiveByUserId", "Gs2Mission:IncreaseCounterByUserId", "Gs2Mission:SetCounterByUserId", "Gs2Money:DepositByUserId", "Gs2Money:RevertRecordReceipt", "Gs2Money2:DepositByUserId", "Gs2Quest:CreateProgressByUserId", "Gs2Schedule:TriggerByUserId", "Gs2Schedule:ExtendTriggerByUserId", "Gs2Script:InvokeScript", "Gs2SerialKey:RevertUseByUserId", "Gs2SerialKey:IssueOnce", "Gs2Showcase:DecrementPurchaseCountByUserId", "Gs2Showcase:ForceReDrawByUserId", "Gs2SkillTree:MarkReleaseByUserId", "Gs2Stamina:RecoverStaminaByUserId", "Gs2Stamina:RaiseMaxValueByUserId", "Gs2Stamina:SetMaxValueByUserId", "Gs2Stamina:SetRecoverIntervalByUserId", "Gs2Stamina:SetRecoverValueByUserId", "Gs2StateMachine:StartStateMachineByUserId", }
| | ✓ | | ~ 128 chars | Types of actions to be performed in the acquire action |
acquireRequest | string | | ✓ | | ~ 524288 chars | JSON of request |
statusCode | int | | | | ~ 999 | Status code |
acquireResult | string | | | | ~ 1048576 chars | Result payload |
TransactionResult
Transaction execution results
Transaction execution results executed using server-side transaction auto-execution functionality
| Type | Condition | Require | Default | Limitation | Description |
---|
transactionId | string | | ✓ | | 36 ~ 36 chars | Transaction ID |
verifyResults | List<VerifyActionResult> | | | | ~ 10 items | List of verify action execution results |
consumeResults | List<ConsumeActionResult> | | | [] | ~ 10 items | List of consume action execution results |
acquireResults | List<AcquireActionResult> | | | [] | ~ 100 items | List of acquire action execution results |
hasError | bool | | ✓ | false | | Whether an error occurred during transaction execution |