Documentation index for AI agents

GS2-Version 마스터 데이터 레퍼런스

마스터 데이터 포맷과 임포트할 각종 모델의 레퍼런스

마스터 데이터 포맷

{
  "version": "2019-10-09",
  "versionModels": [
    {
      "name": "[string]버전 모델 이름",
      "metadata": "[string?]메타데이터",
      "scope": "[문자열 열거형]판정에 사용할 버전 값의 종류",
      "type": "[문자열 열거형]버전 체크 모드",
      "currentVersion": {
        "major": "[int]메이저 버전",
        "minor": "[int]마이너 버전",
        "micro": "[int]마이크로 버전"
      },
      "warningVersion": {
        "major": "[int]메이저 버전",
        "minor": "[int]마이너 버전",
        "micro": "[int]마이크로 버전"
      },
      "errorVersion": {
        "major": "[int]메이저 버전",
        "minor": "[int]마이너 버전",
        "micro": "[int]마이크로 버전"
      },
      "scheduleVersions": [
        {
          "currentVersion": {
            "major": "[int]메이저 버전",
            "minor": "[int]마이너 버전",
            "micro": "[int]마이크로 버전"
          },
          "warningVersion": {
            "major": "[int]메이저 버전",
            "minor": "[int]마이너 버전",
            "micro": "[int]마이크로 버전"
          },
          "errorVersion": {
            "major": "[int]메이저 버전",
            "minor": "[int]마이너 버전",
            "micro": "[int]마이크로 버전"
          },
          "scheduleEventId": "[string?]버전 체크를 활성화하는 GS2-Schedule 이벤트 GRN"
        }
      ],
      "needSignature": "[bool]판정할 버전 값에 서명 검증이 필요한지 여부",
      "signatureKeyId": "[string]암호화 키 GRN",
      "approveRequirement": "[문자열 열거형]승인 필요 여부"
    }
  ]
}
타입활성화 조건필수기본값값 제한설명
versionstring
2019-10-09마스터 데이터 포맷 버전
versionModelsList<VersionModel>~ 100 items버전 모델
버전 모델에는 로그인은 허용하지만 버전 업그레이드가 가능함을 알리는 경고 버전과, 로그인을 허용하지 않는 에러 버전을 설정할 수 있습니다.

현재 버전을 클라이언트에 신고하도록 할 때, 서명 유무를 지정할 수 있습니다.
서명 있음을 선택한 경우, 클라이언트는 허위 버전을 신고할 수 없게 됩니다.

모델

VersionModel

버전 모델

버전 모델에는 로그인은 허용하지만 버전 업그레이드가 가능함을 알리는 경고 버전과, 로그인을 허용하지 않는 에러 버전을 설정할 수 있습니다.

현재 버전을 클라이언트에 신고하도록 할 때, 서명 유무를 지정할 수 있습니다.
서명 있음을 선택한 경우, 클라이언트는 허위 버전을 신고할 수 없게 됩니다.

타입활성화 조건필수기본값값 제한설명
versionModelIdstring
~ 1024자버전 모델 GRN
※ 서버가 자동으로 설정
namestring
~ 128자버전 모델 이름
버전 모델 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
metadatastring~ 2048자메타데이터
메타데이터에는 임의의 값을 설정할 수 있습니다.
이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다.
scope문자열 열거형
enum {
  “passive”,
  “active”
}
판정에 사용할 버전 값의 종류
버전 체크에 사용할 버전 값을 얻는 방법을 결정합니다. “passive"는 체크 시점에 클라이언트가 현재 버전을 신고하는 방식이며, “active"는 사용자가 과거에 명시적으로 승인한 버전(이용약관 동의 등)을 사용하는 방식입니다.
정의설명
passive클라이언트에서 전송
active과거 명시적으로 승인한 버전
type문자열 열거형
enum {
  “simple”,
  “schedule”
}
“simple”버전 체크 모드
버전 체크 방식을 선택합니다. “simple"은 고정된 경고·에러 버전 임계값을 사용하며, “schedule"은 GS2-Schedule의 이벤트를 이용하여 시기에 따라 다른 버전 임계값을 적용합니다.
정의설명
simple심플
schedule시계열 전환
currentVersionVersion{type} == “simple” and {scope} == “active”
✓※
현재 버전
이 버전 모델의 최신 버전입니다. “simple” 모드의 “active” 스코프에서만 사용되며, 사용자가 버전 업데이트를 승인·확인할 때 현재 버전을 알립니다.
※ type이(가) “simple"이고 scope이(가) “active” 이면 필수
warningVersionVersion{type} == “simple”
✓※
버전 업그레이드를 촉구하는 버전
업그레이드 알림을 표시하는 최소 버전 임계값입니다. 클라이언트의 버전이 이 값보다 낮은 경우에도 로그인은 허용되지만 사용자에게 업그레이드가 권장됩니다. 비교는 메이저, 마이너, 마이크로 순으로 계층적으로 수행됩니다.
※ type이(가) “simple” 이면 필수
errorVersionVersion{type} == “simple”
✓※
버전 체크에서 에러로 판정되는 버전
로그인을 허용하는 최소 버전 임계값입니다. 클라이언트의 버전이 이 값보다 낮으면 버전 체크가 에러로 판정되어 로그인이 차단됩니다. 비교는 메이저, 마이너, 마이크로 순으로 계층적으로 수행됩니다.
※ type이(가) “simple” 이면 필수
scheduleVersionsList<ScheduleVersion>{type} == “schedule”0 ~ 10 items시계열로 전환되는 버전 체크 내용 목록
GS2-Schedule의 이벤트를 기준으로 서로 다른 시점에 유효해지는 버전 체크 설정 목록입니다. 업데이트를 필수로 만들기 전에 경고를 표시하는 등 단계적인 버전 강제가 가능해집니다.
※ type이(가) “schedule” 이면 활성화
needSignaturebool{scope} == “passive”
✓※
판정할 버전 값에 서명 검증이 필요한지 여부
활성화하면 클라이언트는 버전 신고와 함께 암호 서명을 제공해야 합니다. 이를 통해 클라이언트가 버전 체크를 회피하기 위해 허위 버전을 신고하는 것을 방지합니다. 스코프가 “passive"인 경우에만 적용됩니다.
※ scope이(가) “passive” 이면 필수
signatureKeyIdstring{needSignature}
✓※
~ 1024자암호화 키 GRN
※ needSignature이(가) “true” 이면 필수
approveRequirement문자열 열거형
enum {
  “required”,
  “optional”
}
{scope} == “active”“required”승인 필요 여부
이 버전 모델에 대한 사용자 승인이 필수인지 임의인지를 제어합니다. “required"인 경우, 사용자가 현재 버전을 승인하지 않으면 버전 체크가 실패합니다. “optional"인 경우, 승인 상태와 관계없이 버전 체크가 통과합니다. 스코프가 “active"인 경우에만 적용됩니다.
정의설명
required승인 필요
optional임의 승인
※ scope이(가) “active” 이면 활성화

Version

버전

3단계 계층(메이저, 마이너, 마이크로)으로 구성된 버전 번호를 나타냅니다. 버전 비교는 메이저, 마이너, 마이크로 순으로 계층적으로 수행됩니다. 버전 체크의 경고·에러 임계값 정의에 사용됩니다.

타입활성화 조건필수기본값값 제한설명
majorint
0 ~ 2147483646메이저 버전
버전 비교에서 가장 우선순위가 높은 구성 요소입니다. 메이저 버전의 차이는 마이너 버전 및 마이크로 버전보다 우선합니다.
minorint
0 ~ 2147483646마이너 버전
버전 비교에서 두 번째로 우선순위가 높은 구성 요소입니다. 메이저 버전이 동일한 경우에만 비교됩니다.
microint
0 ~ 2147483646마이크로 버전
버전 비교에서 가장 우선순위가 낮은 구성 요소입니다. 메이저 버전과 마이너 버전이 모두 동일한 경우에만 비교됩니다.

ScheduleVersion

시계열로 전환되는 버전

GS2-Schedule의 이벤트로 제어되는 특정 기간 동안 유효해지는 버전 임계값(현재, 경고, 에러) 세트를 정의합니다. 여러 개의 스케줄 버전을 설정함으로써, 오래된 클라이언트를 차단하기 전에 사용자에게 경고하는 등 단계적인 버전 강제를 구현할 수 있습니다.

타입활성화 조건필수기본값값 제한설명
currentVersionVersion
현재 버전
이 스케줄 기간 동안 사용 가능한 최신 버전입니다. “active” 스코프에서 사용자가 업데이트를 승인할 때 현재 버전을 알리는 데 사용됩니다.
warningVersionVersion
버전 업그레이드를 촉구하는 버전
이 스케줄 기간 동안 업그레이드 알림을 표시하는 최소 버전 임계값입니다. 로그인은 허용되지만 사용자에게 업그레이드가 권장됩니다.
errorVersionVersion
버전 체크에서 에러로 판정되는 버전
이 스케줄 기간 동안 로그인을 허용하는 최소 버전 임계값입니다. 클라이언트의 버전이 이 값보다 낮으면 버전 체크가 에러로 판정되어 로그인이 차단됩니다.
scheduleEventIdstring~ 1024자버전 체크를 활성화하는 GS2-Schedule 이벤트 GRN
이 버전 임계값 세트가 유효해지는 기간을 제어하는 GS2-Schedule의 이벤트를 지정합니다. 여기서 정의된 버전 체크 설정은 지정한 이벤트가 활성화되어 있는 기간에만 적용됩니다.