31. 게임 운영 Part 2: 서버 점검 메시지

서버 점검 기간에 서버에 접속하는 유저들에게 서버 점검 중임을 자동으로 알려주고, 클라이언트로부터 오는 다른 패킷들은 모두 무시하게 하는 기능입니다.

31.1. 서버 점검 메시지 설정

31.1.1. (방법1) MANIFEST.json 을 이용한 static 한 방식

아래와 같이 설정하고 서버를 재시작하면 됩니다.

31.1.1.1. MANIFEST.json 설정

MANIFEST.json 에 다음과 같이 MaintenanceService 섹션을 추가합니다.

1
2
3
4
5
6
7
8
9
{
    "dependency": {
        ...
        "MaintenanceService": {
          "under_maintenance": true,
          "maintenance_data_path": "/path/to/maintenance.json"
        }
    }
}

Note

위의 예에서 /path/to/mintenance.json 은 maintenance.json 파일의 경로를 의미합니다.

31.1.1.2. maintenance.json 설정

아래와 같이 date_start, date_end, messages 가 입력된 json 파일을 작성합니다.

1
2
3
4
5
{
  "date_start": "2015/09/23 04:00",   // start time
  "date_end": "2015/09/23 08:00",     // end time
  "messages": "The state of being maintained."  // message for the client.
}

Important

maintenance.json 에는 date_start date_end messages 외에 다른 항목을 추가할 수 없습니다.

31.1.2. (방법2) 서버 실행 중에 설정하는 dynamic 한 방식

서버를 재시작하지 않고도 서버 점검 상태 변경 및 메시지를 변경하려면 다음과 같이 컴포넌트에서 제공하는 API 를 이용하여 변경하면 됩니다.

PUT /v1/maintenance/update
Request JSON Object:
 
  • date_start (string) – (required) “2015/09/23 04:00” 형태
  • date_end (string) – (required) “2015/09/23 08:00” 형태
  • messages (string) – (required) 클라이언트에게 전송될 메시지
  • under_maintenance (bool) – (optional) 해당 기능을 끄거나 켤 때 사용 가능
Status Codes:
  • 200 OK – 성공
  • 400 Bad Request – 실패. request body 가 json 이 아니거나 field type 이 다른 경우

Note

API service 의 port 에 대해서는 서버 관리 Part 1: RESTful APIs 추가 를 참조하세요.

31.2. 서버 점검 메시지 클라이언트 코드

클라이언트 예제는 배포된 Client Plugin의 테스터 코드를 참고해주세요. 보다 자세한 내용은 플러그인의 서버 점검 메시지 를 참고하세요.