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” 이면 필수 |