플레이어를 쫓아내지 않는 서버 점검
서버를 업데이트해야 할 때 플레이어들은 어떻게 될까요? 간단한 답은 전원 플러그를 뽑는 거겠죠. 우리는 더 나은 답을 만들었어요. 거의 눈치채지 못하는 게 가장 좋은 기능이지만, 제가 제일 좋아하는 기능 중 하나예요.
공지. 서버는 실행 중인 모든 월드에 점검 메시지를 보낼 수 있어요. 그러면 게임 안에 카운트다운이 있는 배너가 나타나요. “10분 뒤 서버를 다시 시작합니다.” 이 메시지는 직접 닫아야 하는데, 몇 초가 지난 뒤에야 닫을 수 있어요. 한창 전투 중에 실수로 눌러서 닫아 버리지 않도록요.
부드러운 재시작. 카운트다운이 끝나면 월드는 차례대로 종료돼요. 게임 상태를 저장하고, 알 수 없는 “연결 끊김” 대신 이유를 알려 주는 작별 화면과 함께 플레이어를 내보내고, 컨테이너를 멈춰요. 다음에 입장하면 월드는 새 버전으로 다시 깨어나요. 저장 파일은 물론 그대로 있어요.
그 뒤의 기술: 보안이 적용된 관리자 엔드포인트가 공지를 받아요. 서버만 아는 토큰으로 보호되죠. 토큰이 설정되어 있지 않으면 이 기능은 완전히 꺼져요. 열린 공지 엔드포인트는 장난을 부르는 초대장이 될 테니까요. 관리자에게는 게임 안의 채팅 명령어와, 관리 패널의 월드별 버튼도 있어요.
뜻밖의 부수 효과도 있어요. 이 시스템이 생긴 뒤로 우리는 업데이트를 더 차분하게, 그래서 더 자주 하게 됐어요. 좋은 점검 도구는 점검만 나아지게 하는 게 아니라 프로젝트 전체를 나아지게 해요.
댓글