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]비활성 일수"
}
}
]
}| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2019-03-31 | 마스터 데이터 포맷 버전 | ||
| events | List<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만을 이벤트 기간으로 하는 설정도 가능합니다.
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| eventId | string | ※ | ~ 1024자 | GS2-Schedule 이벤트 GRN
※ 서버가 자동으로 설정 | ||||||||
| name | string | ✓ | ~ 128자 | 이벤트 이름 이벤트 고유의 이름. 영숫자 및 -(하이픈), _(언더스코어), .(마침표)로 지정합니다. | ||||||||
| metadata | string | ~ 2048자 | 메타데이터 메타데이터에는 임의의 값을 설정할 수 있습니다. 이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. | |||||||||
| scheduleType | 문자열 열거형 enum { “absolute”, “relative” } | ✓ | 스케줄 타입 이벤트 기간을 정의하는 방식을 결정합니다. “absolute"는 모든 플레이어에게 동일하게 적용되는 고정된 시작/종료 타임스탬프를 사용합니다. “relative"는 플레이어별 트리거를 기점으로 사용하여, 개인화된 이벤트 기간을 구현합니다(예: 각 플레이어가 처음 로그인한 시점부터 24시간).
| |||||||||
| absoluteBegin | long | 절대 시작 일시 절대 스케줄링에서 이벤트 기간의 고정 시작 시각입니다. 모든 플레이어가 동일한 시작 시각을 공유합니다. 절대 이벤트에서 설정하지 않으면 이벤트는 과거부터 시작된 것으로 취급됩니다. UNIX 시간(밀리초)으로 표현됩니다. | ||||||||||
| absoluteEnd | long | 절대 종료 일시 절대 스케줄링에서 이벤트 기간의 고정 종료 시각입니다. 모든 플레이어가 동일한 종료 시각을 공유합니다. 절대 이벤트에서 설정하지 않으면 이벤트는 종료되지 않는 것으로 취급됩니다. UNIX 시간(밀리초)으로 표현됩니다. | ||||||||||
| relativeTriggerName | string | {scheduleType} == “relative” | ✓※ | ~ 128자 | 이벤트 시작 트리거 이름 게임 플레이어별로 이벤트 기간을 설정하는( relative) 경우, 이벤트 시작의 기점이 되는 트리거의 이름을 지정합니다.영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. ※ scheduleType이(가) “relative” 이면 필수 | |||||||
| repeatSetting | RepeatSetting | ✓ | 반복 설정 이벤트 기간 내에서 반복되는 유효 시간대에 대한 설정입니다. 활성 기간을 특정 시간대, 요일, 월중 날짜, 또는 사용자 지정 활성/비활성 일 주기로 좁힐 수 있습니다. 반복 패턴 없이 이벤트 기간 전체를 활성 상태로 유지하려면 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"입니다.
| |||||||||||||||||||
| beginDayOfMonth | int | {repeatType} == “monthly” | ✓※ | 1 ~ 31 | 반복 시작일 반복 윈도우가 시작되는 월중 날짜(1~31)입니다. 지정한 값이 해당 월의 일수를 초과하는 경우, 해당 월의 마지막 날로 처리됩니다. repeatType이 “monthly"인 경우에만 적용됩니다. ※ repeatType이(가) “monthly” 이면 필수 | |||||||||||||||||
| endDayOfMonth | int | {repeatType} == “monthly” | ✓※ | 1 ~ 31 | 반복 종료일 반복 윈도우가 종료되는 월중 날짜(1~31)입니다. 지정한 값이 해당 월의 일수를 초과하는 경우, 해당 월의 마지막 날로 처리됩니다. repeatType이 “monthly"인 경우에만 적용됩니다. ※ repeatType이(가) “monthly” 이면 필수 | |||||||||||||||||
| beginDayOfWeek | 문자열 열거형 enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {repeatType} == “weekly” | ✓※ | 반복 시작 요일 반복 윈도우가 시작되는 요일입니다. 윈도우는 주의 경계를 넘어설 수 있습니다(예: 금요일~월요일). repeatType이 “weekly"인 경우에만 적용됩니다.
※ repeatType이(가) “weekly” 이면 필수 | ||||||||||||||||||
| endDayOfWeek | 문자열 열거형 enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {repeatType} == “weekly” | ✓※ | 반복 종료 요일 반복 윈도우가 종료되는 요일입니다. beginDayOfWeek과 조합하여 주간 활성 기간을 정의합니다. repeatType이 “weekly"인 경우에만 적용됩니다.
※ repeatType이(가) “weekly” 이면 필수 | ||||||||||||||||||
| beginHour | int | {repeatType} in [“daily”, “weekly”, “monthly”] | ✓※ | 0 ~ 23 | 반복 시작 시각(시) 각 주기마다 반복 윈도우가 시작되는 시각(UTC, 0~23)입니다. daily, weekly, monthly 반복 타입에서 필수입니다. beginHour와 endHour가 같으면 윈도우는 24시간(다음 날 같은 시각까지)이 됩니다. ※ repeatType이(가) “daily”,“weekly”,“monthly"이면 필수 | |||||||||||||||||
| endHour | int | {repeatType} in [“daily”, “weekly”, “monthly”] | ✓※ | 0 ~ 24 | 반복 종료 시각(시) 각 주기마다 반복 윈도우가 종료되는 시각(UTC, 0~24)입니다. 24를 지정하면 다음 날 자정을 나타냅니다. daily, weekly, monthly 반복 타입에서 필수입니다. ※ repeatType이(가) “daily”,“weekly”,“monthly"이면 필수 | |||||||||||||||||
| anchorTimestamp | long | {repeatType} == “custom” | ✓※ | 기준 타임스탬프 커스텀 활성/비활성 주기가 시작되는 기준일입니다. 시스템은 이 기준일로부터 경과한 일수를 바탕으로 현재 시각이 어느 단계(활성 또는 비활성)에 있는지 계산합니다. repeatType이 “custom"인 경우에만 적용됩니다. UNIX 시간(밀리초)으로 표현합니다. ※ repeatType이(가) “custom” 이면 필수 | ||||||||||||||||||
| activeDays | int | {repeatType} == “custom” | ✓※ | 1 ~ 2147483646 | 활성 일수 각 커스텀 주기에서 이벤트가 연속으로 활성 상태가 되는 일수입니다. 활성 일수가 지난 후, inactiveDays에서 지정한 일수만큼 이벤트가 비활성 상태가 되며, 이후 주기가 반복됩니다. repeatType이 “custom"인 경우에만 적용됩니다. 최소 1일. ※ repeatType이(가) “custom” 이면 필수 | |||||||||||||||||
| inactiveDays | int | {repeatType} == “custom” | ✓※ | 0 ~ 2147483646 | 비활성 일수 각 커스텀 주기에서 이벤트가 연속으로 비활성 상태가 되는 일수입니다. 활성 일수 뒤에 이어집니다. 공백 없이 계속 활성 상태인 이벤트로 하려면 0을 설정합니다. repeatType이 “custom"인 경우에만 적용됩니다. 최소 0일. ※ repeatType이(가) “custom” 이면 필수 |