kb:gameserveressentialfeature
게임 서버 필수 기능
서비스를 거치면서 만들었거나 만들고 싶은 기능들 정리. 서버 디자인이나 성능 등에 관한 이야기는 아니다.
모든 기능들에 공통적으로 적용되는 사항을 뽑자면…
서버는 클라이언트만큼 자주 패치할 수가 없기 때문에 어떤 기능이든 실시간으로 동작하는 게 좋다.
서버는 서버 프로그래머 외에도 여러 사람이 주시하고 있기 때문에, 툴을 통해서 모니터링 및 조작을 할 수 있어야 한다.
목록
접속
같은 유저가 다른 곳에서 접속할 경우, 기존 유저의 접속을 잘라내고 들어갈 수 있어야 한다.
IP 마스크를 통해 접속을 제한할 수 있어야 한다.
유저가 서버 최대 동접보다 더 많이 붙을 경우를 위해 로그인 대기큐가 있어야 한다.
실시간으로…
서버를 추가할 수 있어야 한다.
모든/특정 서버를 일반 유저에게 오픈/클로즈할 수 있어야 한다.
특정 서버에 등급을 줘서 GM만 들어오게 할 수 있어야 한다.
특정 서버의 최대 동시 접속자수를 조절할 수 있어야 한다.
서버 우선 순위 혹은 배열 순서를 변경할 수 있어야 한다.
유저가 생성하는 최대 캐릭터 숫자를 제한할 수 있어야 한다. 혹은 막을 수 있어야 한다.
유저가 생성하는 캐릭터 이름을 필터링할 수 있다.
에러
서버 기동 순서에 별다른 제한이 없어야 한다.
서버간 혹은 데이터베이스 연결이 끊어졌을 경우, 해당 연결 복구와 사후 처리를 할 수 있어야 한다.
데드락이 발생했을 경우, SMS를 통해 개발자에게 알릴 수 있어야 한다.
서버가 크래쉬되었을 경우, SMS를 통해 개발자에게 알릴 수 있어야 한다.
서버가 크래쉬된 이후, 자동으로 다시 기동해야 한다.
무조건 수동으로 기동해야 하는 경우, 서버 프로그래머 인생이 피폐해진다.
신규 버전의 실행 파일이 있을 경우, 업데이트 이후 다시 떠야 한다. 같은 문제로 다시 죽을 필요는 없지 않은가.
모니터링
개발/운영
모든/특정 서버에 공지를 뿌릴 수 있어야 한다.
툴을 통해 서버를 올리거나 내릴 수 있어야 한다.
랜덤으로 접속자 중에 하나를 뽑아낼 수 있어야 한다.
게임 애셋을 실시간으로 리로드할 수 있어야 한다.
게임 내 특정 기능을 켜고 끌 수 있어야 한다.
지속적으로 동작하는 임시 오브젝트를 생성할 수 있어야 한다.
게임 애셋을 게임 안에서 생성할 수 있으면 좋을 것 같다.
게임 내 시간을 가속할 수 있어야 한다.
GM 상담큐 및 평가 시스템이 있어야 한다.
kb/gameserveressentialfeature.txt · 마지막으로 수정됨: 2014/11/08 14:45 (바깥 편집)