GS2-Version Master Data Reference
Master Data Format
{
"version": "2019-10-09",
"versionModels": [
{
"name": "[string]Version Model name",
"metadata": "[string?]Metadata",
"scope": "[string (enum)]Type of version value used for judgment",
"type": "[string (enum)]Version Check Mode",
"currentVersion": {
"major": "[int]Major version",
"minor": "[int]Minor version",
"micro": "[int]Micro version"
},
"warningVersion": {
"major": "[int]Major version",
"minor": "[int]Minor version",
"micro": "[int]Micro version"
},
"errorVersion": {
"major": "[int]Major version",
"minor": "[int]Minor version",
"micro": "[int]Micro version"
},
"scheduleVersions": [
{
"currentVersion": {
"major": "[int]Major version",
"minor": "[int]Minor version",
"micro": "[int]Micro version"
},
"warningVersion": {
"major": "[int]Major version",
"minor": "[int]Minor version",
"micro": "[int]Micro version"
},
"errorVersion": {
"major": "[int]Major version",
"minor": "[int]Minor version",
"micro": "[int]Micro version"
},
"scheduleEventId": "[string?]GS2-Schedule event GRN that enables version check"
}
],
"needSignature": "[bool]Whether the version value to be determined requires signature verification",
"signatureKeyId": "[string]Encryption Key GRN",
"approveRequirement": "[string (enum)]Requirement for approval"
}
]
}| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| version | string | ✓ |
2019-10-09 | Format version of master data | ||
| versionModels | List<VersionModel> | ~ 100 items | Version Model You can set a warning version that accepts login but notifies you that you can upgrade, and an error version that does not accept login. You can specify whether or not to have the client declare the current version with or without a signature. If you select signed, the client will not be able to declare a false version. |
Models
VersionModel
Version Model
You can set a warning version that accepts login but notifies you that you can upgrade, and an error version that does not accept login.
You can specify whether or not to have the client declare the current version with or without a signature. If you select signed, the client will not be able to declare a false version.
| Type | Condition | Required | Default | Value Limits | Description | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| versionModelId | string | * |
~ 1024 chars | Version Model
GRN
* Set automatically by the server |
||||||||
| name | string | ✓ |
~ 128 chars | Version Model name Version 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. |
|||||||||
| scope | string (enum) enum { “passive”, “active” } |
✓ |
Type of version value used for judgment Determines how the version value is obtained for checking. “passive” means the client declares its current version at check time, while “active” means the system uses a version the user has explicitly approved in the past (such as agreeing to terms of service).
|
|||||||||
| type | string (enum) enum { “simple”, “schedule” } |
“simple” | Version Check Mode Selects the version checking strategy. “simple” uses fixed warning and error version thresholds, while “schedule” allows different version thresholds to be activated at different times using GS2-Schedule events.
|
|||||||||
| currentVersion | Version | {type} == “simple” and {scope} == “active” | ✓* |
Current Version The latest version available for this version model. Used only with “active” scope in “simple” mode to inform users of the current version when they approve or review version updates. * Required if type is “simple” and scope is “active” |
||||||||
| warningVersion | Version | {type} == “simple” | ✓* |
Version that prompts for version upgrade The minimum version threshold for showing an upgrade notification. If the client’s version is below this value, login is still allowed but the user is prompted to upgrade. Comparison is performed hierarchically: major, then minor, then micro. * Required if type is “simple” |
||||||||
| errorVersion | Version | {type} == “simple” | ✓* |
Version that is determined to be an error by the version check The minimum version threshold for allowing login. If the client’s version is below this value, the version check results in an error and login is blocked. Comparison is performed hierarchically: major, then minor, then micro. * Required if type is “simple” |
||||||||
| scheduleVersions | List<ScheduleVersion> | {type} == “schedule” | 0 ~ 10 items | List of Version check content that switches over time series A list of version check configurations that activate at different times based on GS2-Schedule events. This allows gradual version enforcement, such as showing warnings before making an update mandatory. * Enabled only if type is “schedule” |
||||||||
| needSignature | bool | {scope} == “passive” | ✓* |
Whether the version value to be determined requires signature verification When enabled, the client must provide a cryptographic signature along with the version declaration. This prevents clients from falsely reporting a higher version to bypass version checks. Only applicable when scope is “passive”. * Required if scope is “passive” |
||||||||
| signatureKeyId | string | {needSignature} | ✓* |
~ 1024 chars | Encryption Key
GRN
* Required if needSignature is “true” |
|||||||
| approveRequirement | string (enum) enum { “required”, “optional” } |
{scope} == “active” | “required” | Requirement for approval Controls whether user approval is mandatory or optional for this version model. When “required”, the version check fails if the user has not approved the current version. When “optional”, the version check passes regardless of approval status. Only applicable when scope is “active”.
* Enabled only if scope is “active” |
Version
Version
Represents a version number with a three-level hierarchy (major, minor, micro). Version comparison is performed hierarchically: major version is compared first, then minor, then micro. Used to define warning and error thresholds for version checking.
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| major | int | ✓ |
0 ~ 2147483646 | Major version The highest priority component in version comparison. A difference in major version takes precedence over minor and micro versions. |
||
| minor | int | ✓ |
0 ~ 2147483646 | Minor version The second priority component in version comparison. Compared only when the major versions are equal. |
||
| micro | int | ✓ |
0 ~ 2147483646 | Micro version The lowest priority component in version comparison. Compared only when both major and minor versions are equal. |
ScheduleVersion
Version that switches in chronological order
Defines a set of version thresholds (current, warning, error) that become active during a specific time period controlled by a GS2-Schedule event. Multiple schedule versions can be configured to implement gradual version enforcement, such as warning users before blocking outdated clients.
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| currentVersion | Version | ✓ |
Current Version The latest version available during this schedule period. Used with “active” scope to inform users of the current version when approving updates. |
|||
| warningVersion | Version | ✓ |
Version that prompts for version upgrade The minimum version threshold for showing an upgrade notification during this schedule period. Login is allowed but the user is prompted to upgrade. |
|||
| errorVersion | Version | ✓ |
Version that is determined to be an error by the version check The minimum version threshold for allowing login during this schedule period. If the client’s version is below this value, the version check results in an error and login is blocked. |
|||
| scheduleEventId | string | ~ 1024 chars | GS2-Schedule event
GRN
that enables version check Specifies the GS2-Schedule event that controls when this set of version thresholds is active. The version check configuration defined here only applies during the period when the specified event is active. |