Documentation index for AI agents

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

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

마스터 데이터 포맷

{
  "version": "2019-03-31",
  "events": [
    {
      "name": "[string]이벤트 이름",
      "metadata": "[string?]메타데이터",
      "scheduleType": "[문자열 열거형]스케줄 타입",
      "absoluteBegin": "[long?]절대 시작 일시",
      "absoluteEnd": "[long?]절대 종료 일시",
      "relativeTriggerName": "[string]이벤트 시작 트리거 이름",
      "repeatSetting": {
        "repeatType": "[string]반복 종류",
        "beginDayOfMonth": "[int]반복 시작일",
        "endDayOfMonth": "[int]반복 종료일",
        "beginDayOfWeek": "[string]반복 시작 요일",
        "endDayOfWeek": "[string]반복 종료 요일",
        "beginHour": "[int]반복 시작 시각(시)",
        "endHour": "[int]반복 종료 시각(시)",
        "anchorTimestamp": "[long]기준 타임스탬프",
        "activeDays": "[int]활성 일수",
        "inactiveDays": "[int]비활성 일수"
      }
    }
  ]
}
타입활성화 조건필수기본값값 제한설명
versionstring
2019-03-31마스터 데이터 포맷 버전
eventsList<Event>~ 100 items이벤트
이벤트의 기간에는 절대 기간과 상대 기간의 2가지 종류가 있습니다.
절대 기간은 예를 들어 YYYY년 MM월 DD일 00:00(UTC) ~ YYYY년 MM월 DD일 23:59(UTC)와 같은 고정된 기간이며,
상대 기간은 트리거를 당긴 시점부터 24시간과 같이 게임 플레이어마다 다른 기간을 이벤트 기간으로 하는 것입니다.

이벤트에는 개최 기간뿐만 아니라 반복도 설정할 수 있게 되어 있어
이벤트 기간 중 월요일 10:00 ~ 11:00만을 이벤트 기간으로 하는 설정도 가능합니다.

모델

Event

이벤트

이벤트의 기간에는 절대 기간과 상대 기간의 2가지 종류가 있습니다.
절대 기간은 예를 들어 YYYY년 MM월 DD일 00:00(UTC) ~ YYYY년 MM월 DD일 23:59(UTC)와 같은 고정된 기간이며,
상대 기간은 트리거를 당긴 시점부터 24시간과 같이 게임 플레이어마다 다른 기간을 이벤트 기간으로 하는 것입니다.

이벤트에는 개최 기간뿐만 아니라 반복도 설정할 수 있게 되어 있어
이벤트 기간 중 월요일 10:00 ~ 11:00만을 이벤트 기간으로 하는 설정도 가능합니다.

타입활성화 조건필수기본값값 제한설명
eventIdstring
~ 1024자GS2-Schedule 이벤트 GRN
※ 서버가 자동으로 설정
namestring
~ 128자이벤트 이름
이벤트 고유의 이름. 영숫자 및 -(하이픈), _(언더스코어), .(마침표)로 지정합니다.
metadatastring~ 2048자메타데이터
메타데이터에는 임의의 값을 설정할 수 있습니다.
이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다.
scheduleType문자열 열거형
enum {
  “absolute”,
  “relative”
}
스케줄 타입
이벤트 기간을 정의하는 방식을 결정합니다.
“absolute"는 모든 플레이어에게 동일하게 적용되는 고정된 시작/종료 타임스탬프를 사용합니다.
“relative"는 플레이어별 트리거를 기점으로 사용하여, 개인화된 이벤트 기간을 구현합니다(예: 각 플레이어가 처음 로그인한 시점부터 24시간).
정의설명
absolute고정 기간
relative플레이어별 기간
absoluteBeginlong절대 시작 일시
절대 스케줄링에서 이벤트 기간의 고정 시작 시각입니다.
모든 플레이어가 동일한 시작 시각을 공유합니다. 절대 이벤트에서 설정하지 않으면 이벤트는 과거부터 시작된 것으로 취급됩니다.
UNIX 시간(밀리초)으로 표현됩니다.
absoluteEndlong절대 종료 일시
절대 스케줄링에서 이벤트 기간의 고정 종료 시각입니다.
모든 플레이어가 동일한 종료 시각을 공유합니다. 절대 이벤트에서 설정하지 않으면 이벤트는 종료되지 않는 것으로 취급됩니다.
UNIX 시간(밀리초)으로 표현됩니다.
relativeTriggerNamestring{scheduleType} == “relative”
✓※
~ 128자이벤트 시작 트리거 이름
게임 플레이어별로 이벤트 기간을 설정하는(relative) 경우, 이벤트 시작의 기점이 되는 트리거의 이름을 지정합니다.
영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
※ scheduleType이(가) “relative” 이면 필수
repeatSettingRepeatSetting
반복 설정
이벤트 기간 내에서 반복되는 유효 시간대에 대한 설정입니다.
활성 기간을 특정 시간대, 요일, 월중 날짜, 또는 사용자 지정 활성/비활성 일 주기로 좁힐 수 있습니다.
반복 패턴 없이 이벤트 기간 전체를 활성 상태로 유지하려면 repeatType을 “always"로 설정합니다.

RepeatSetting

반복 설정

이벤트 전체 기간 내에서 반복되는 유효 시간대를 설정합니다.
5가지 반복 타입을 지원합니다: “always”(이벤트 기간 전체), “daily”(매일 특정 시간대), “weekly”(매주 특정 요일 범위+시간대),
“monthly”(매월 특정 날짜 범위+시간대), “custom”(기준일로부터 활성/비활성 일수의 교대 주기).
daily/weekly/monthly 타입에서 beginHour와 endHour가 같으면 종료 시각은 다음 날 같은 시각으로 처리됩니다(즉 24시간 전체 윈도우).

타입활성화 조건필수기본값값 제한설명
repeatType문자열 열거형
enum {
  “always”,
  “daily”,
  “weekly”,
  “monthly”,
  “custom”
}
“always”반복 종류
이벤트 기간 내에 적용할 반복 패턴의 종류입니다.
타입에 따라 필요한 추가 필드가 다릅니다: daily/weekly/monthly는 시간 설정, weekly는 요일, monthly는 날짜, custom은 기준 타임스탬프와 일수가 필요합니다.
지정하지 않으면 기본값은 “always"입니다.
정의설명
always이벤트 기간 중 상시 유효
daily이벤트 기간 중 매일 X시X시
weekly이벤트 기간 중 매주 개시 요일종료 요일 X시X시
monthly이벤트 기간 중 매월 개시일종료일 X시~X시
custom기준일부터 시작하여, 이벤트 기간 중 X일 활성, Y일 비활성을 반복
beginDayOfMonthint{repeatType} == “monthly”
✓※
1 ~ 31반복 시작일
반복 윈도우가 시작되는 월중 날짜(1~31)입니다.
지정한 값이 해당 월의 일수를 초과하는 경우, 해당 월의 마지막 날로 처리됩니다.
repeatType이 “monthly"인 경우에만 적용됩니다.
※ repeatType이(가) “monthly” 이면 필수
endDayOfMonthint{repeatType} == “monthly”
✓※
1 ~ 31반복 종료일
반복 윈도우가 종료되는 월중 날짜(1~31)입니다.
지정한 값이 해당 월의 일수를 초과하는 경우, 해당 월의 마지막 날로 처리됩니다.
repeatType이 “monthly"인 경우에만 적용됩니다.
※ repeatType이(가) “monthly” 이면 필수
beginDayOfWeek문자열 열거형
enum {
  “sunday”,
  “monday”,
  “tuesday”,
  “wednesday”,
  “thursday”,
  “friday”,
  “saturday”
}
{repeatType} == “weekly”
✓※
반복 시작 요일
반복 윈도우가 시작되는 요일입니다.
윈도우는 주의 경계를 넘어설 수 있습니다(예: 금요일~월요일). repeatType이 “weekly"인 경우에만 적용됩니다.
정의설명
sunday일요일
monday월요일
tuesday화요일
wednesday수요일
thursday목요일
friday금요일
saturday토요일
※ repeatType이(가) “weekly” 이면 필수
endDayOfWeek문자열 열거형
enum {
  “sunday”,
  “monday”,
  “tuesday”,
  “wednesday”,
  “thursday”,
  “friday”,
  “saturday”
}
{repeatType} == “weekly”
✓※
반복 종료 요일
반복 윈도우가 종료되는 요일입니다.
beginDayOfWeek과 조합하여 주간 활성 기간을 정의합니다. repeatType이 “weekly"인 경우에만 적용됩니다.
정의설명
sunday일요일
monday월요일
tuesday화요일
wednesday수요일
thursday목요일
friday금요일
saturday토요일
※ repeatType이(가) “weekly” 이면 필수
beginHourint{repeatType} in [“daily”, “weekly”, “monthly”]
✓※
0 ~ 23반복 시작 시각(시)
각 주기마다 반복 윈도우가 시작되는 시각(UTC, 0~23)입니다.
daily, weekly, monthly 반복 타입에서 필수입니다. beginHour와 endHour가 같으면 윈도우는 24시간(다음 날 같은 시각까지)이 됩니다.
※ repeatType이(가) “daily”,“weekly”,“monthly"이면 필수
endHourint{repeatType} in [“daily”, “weekly”, “monthly”]
✓※
0 ~ 24반복 종료 시각(시)
각 주기마다 반복 윈도우가 종료되는 시각(UTC, 0~24)입니다.
24를 지정하면 다음 날 자정을 나타냅니다. daily, weekly, monthly 반복 타입에서 필수입니다.
※ repeatType이(가) “daily”,“weekly”,“monthly"이면 필수
anchorTimestamplong{repeatType} == “custom”
✓※
기준 타임스탬프
커스텀 활성/비활성 주기가 시작되는 기준일입니다.
시스템은 이 기준일로부터 경과한 일수를 바탕으로 현재 시각이 어느 단계(활성 또는 비활성)에 있는지 계산합니다.
repeatType이 “custom"인 경우에만 적용됩니다. UNIX 시간(밀리초)으로 표현합니다.
※ repeatType이(가) “custom” 이면 필수
activeDaysint{repeatType} == “custom”
✓※
1 ~ 2147483646활성 일수
각 커스텀 주기에서 이벤트가 연속으로 활성 상태가 되는 일수입니다.
활성 일수가 지난 후, inactiveDays에서 지정한 일수만큼 이벤트가 비활성 상태가 되며, 이후 주기가 반복됩니다.
repeatType이 “custom"인 경우에만 적용됩니다. 최소 1일.
※ repeatType이(가) “custom” 이면 필수
inactiveDaysint{repeatType} == “custom”
✓※
0 ~ 2147483646비활성 일수
각 커스텀 주기에서 이벤트가 연속으로 비활성 상태가 되는 일수입니다.
활성 일수 뒤에 이어집니다. 공백 없이 계속 활성 상태인 이벤트로 하려면 0을 설정합니다.
repeatType이 “custom"인 경우에만 적용됩니다. 최소 0일.
※ repeatType이(가) “custom” 이면 필수