허접한 질문 이지만 답변을 해주시면 감사하겠습니다.
저는 아주 간단한 온라인 게임을 만들어 보긴 했는데요.
이런 게임 종류는 처음 이라서 말이죠.
저는 서버를 다음과 같이:
1. 게임 서버 (더 작게 나누자면: 아이템 서버, 몬스터 서버, 유저 서버, NPC 서버로 나뉨)
2. 로그인 서버;
이렇게 크게 두가지로 나누구요.
서버가 맨처음 시작되면 데이터베이스에 저장된 초기화 정보들을 "모두" 메모리에 로딩시키고 메모리에서 업데이트가 이루어 집니다.
물론 중요한 정보 (예를 들면 아이템의 소유권) 는 바로 데이터 베이스에 업데이트를 해줍니다.
하지만 중요하지 않은 정보 (예를 들면 몬스터의 좌표같은것) 는 메모리 에서만 업데이트를 합니다.
클라이언트는 게임에 접속하면 자신에게 필요한 정보(예를 들자면: 유저 좌표 주위에 아이템, 몬스터 정보들)을
서버가 메모리에서 찾아서 패킷으로 넘겨주고, 클라이언트는 그 정보를 토대로 화면을 출력합니다.