서버 메뉴얼 작성 요령

GameDic
Qxsilver (토론 | 기여) 사용자의 2015년 11월 25일 (수) 09:04 판 (각 설정 파일 세부 내용)

(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

서버 메뉴얼 작성요령

게임서비스가 시작되면 개발팀 혹은 개발사로부터 시스템 관리자에게 서버관리가 이관되고, 이때 개발자는 서버메뉴얼을 보내달라고 하는 요청을 받게 된다. 이때 항상 어떻게 작성해야 하는지 질문을 받게 되는데, 이러한 질문을 한방(?)에 해결하고자 이 글을 작성한다.

蛇足 1 : 아래 예시로 들어있는것들을 참고하되 얽메일필요는 없다. 다른 표현방식이 있다면 그 표현 방식을 쓰되 내용은 가급적 모두 포함해줬으면 한다.

蛇足 2 : 여기 있는 내용은 전부가상으로 만든 내용이다. 참고만 하면 된다.^^;;;

메뉴얼의 필수 구성요소

 * 유저 접속 다이어그램 
 * 서버 구성 다이어그램
 * 각서버별 설정해야하는 파일 목록
 * 각 설정 파일 세부 내용
 * 서버 실행 순서 및 종료 순서

유저접속 다이어그램

유저가 접속해서 어떤 흐름으로 서버간에 이동해 가는지에 대해서 표시해 놓으면 된다. 예를 들어 아래와 같이 그리면 된다.

Userconnectdiagram.png


서버 구성 다이어그램

서버간에 연결이 어떻게 되는지 표시하면 된다. (V) 작성시 주의사항 : 상호연결(<->)인지, 단일연결(->)인지가 인식되도록 작성해야 한다. 예를 들어 작성하고 그리면 된다.

1. 서버 구성 요소

     - Login Server : login을 담당한다. xxx명까지 감당할 수 있으며, 총 xx대까지 분산 가능하다.
     - Lobby Server : 케릭터 생성 삭제등을 담당한다. 분산이 불가능하다.
     - Game Server : 게임 플레이를 담당한다. xxx명까지 감당할 수 있으며, 총 xx대까지 분산 가능하다.
     - Main Server : 서버간의 연결, 서버간 통신역활을 한다.
     - NPC Server : Game Server와 1:1로 붙어있으며, NPC활동을 담당한다.
     - Log Server : Log를 담당한다.
     - Manage Server : 서버 메니지먼트 프로그램이 작동한다.
     - DB Server : 게임케릭터 정보를 담는다.
     .......

2. 서버구성도

예시 1)

Serverdiagram.png

예시 2)

Serverdiagram1.jpg

각서버별 설정해야 하는 파일 목록

각서버에서 어떤 어떤 파일을 수정해도 되는 파일과 수정하지 않아야 하는 파일을 기록한다. 특정 폴더를 가지고 있다면 각 폴더에 담겨지는 내용에 대한 설명. (V) 작성시 주의사항 : 꼭 설명하지 않아도 되는 파일 같은 경우, 그냥 뭉등그려서 써버리면 된다. ex)게임리소스파일

예를 들어 아래와 같이 작성하면 된다.

작성 예시) 1. 구조도

    D:/game : Game관련된 모든 파일이 들어있는 폴더
    D:/game/bin : 실행파일, 설정관련 파일이 있슴.
    D:/game/bin/resource : 게임관련 리소스파일을 모아놓는 폴더.
    D:/game/bin/log : 게임서버가 로그를 쓰는 위치.
    D:/game/util : 게임서버셋팅관련 Utility를 모아놓는 폴더.

2. 각 폴더내 존재파일

  * D:/game 폴더내에 존재할 수 있는 파일
     - 각 폴더만 존재
  * D:/game/bin 폴더내에 존재할 수 있는 파일
     - game.exe : 실행파일
     - game.ini : 설정파일
     - odbc.ini : ODBC설정 파일
     - game.dll : DLL파일
       ......
  * D:/game/bin/resource 폴더내에 존재할 수 있는 파일
     - game.res : 게임관련 설정파일
     - map.res : 맵관련 설정파일
     - guild.res : 길드관련 설정파일
       ......
  * D:/game/bin/log 폴더내에 존재할 수 있는 파일
     - 20080211network.log : 내트워크 관련 로그파일
     - 20080211error.log : 게임서버가 비정상적으로 죽을때 생기는 로그
     - 20080211startstop.log : 게임서버 시작할때 죽을때 생기는 로그
     - 20080212network.log : 내트워크 관련 로그파일
     - 20080212error.log : 게임서버가 비정상적으로 죽을때 생기는 로그
     - 20080212startstop.log : 게임서버 시작할때 죽을때 생기는 로그
      (V) 일별로 증가됨(일정시간이 지나면 로그 삭제요망)
       ......
      
  * D:/game/util 폴더내에 존재할 수 있는 파일
     - util.exe : 어쩌구 저쩌구
     - util2.exe : 어쩌구 저쩌구
     - util2.exe : 어쩌구 저쩌구
     - util2.exe : 어쩌구 저쩌구

3. 셋팅해야 하는 파일

  * D:/game/bin 
    - game.ini : 설정파일
     - odbc.ini : ODBC설정 파일

각 설정 파일 세부 내용

설정파일에 들어가 있는 내용을 세부적으로 기록해준다.

 [GameServerInfo]
 World ID = 11111 : 월드 ID를 적어준다.
 Server ID = 1111101 : 서버 ID를 적어준다.주의사항 동일한 서버ID가 존재하면 안된다.
 Server type = LS : 서버 타입 LS=Loginserver, GS=게임서버, MS=MainServer
 Global IP = xxx.xxx.xxx.xxx : 공인아이피를 가지고 있는 경우 공인아이피를 적어준다.
 Private IP = xxx.xxx.xxx.xxx : 가지고 있는 사설아이피를 적어준다.
 Open Port = xxxx : 오픈하는 포트를 적어준다.
 encryption type = 1        : 암호화 타입을 적어준다 : 0=평문,1=기본암호화.....
 .........

기타

예를들어 아래와 같이 작성하면 된다.

1. 서버 실행순서

  DB Server-> Main Server -> Game Server -> Lobby Server -> Login Server -> 기타등등

2. 서버가 예기치않게 죽었을때 조치방법

  1) Game, Lobby, Login Server 가 죽었을때 : 해당 게임서버만 다시 실행시킨다.
  2) Main Server 가 죽었을때 : DB서버를 제외한 전 게임서버를 내렸다가 올린다.