보통 게임을 시작할 때 로그인을 먼저하고 그 다음에는 서버를 선택하는 화면이 나온다. 서버를 선택하는 구조는 보통 메이플, 던파, 로아와 같은 대형 RPG게임에서 주로 사용한다. 물론 한 서버 내에서 채널을 사용하기도 하지만 RPG게임에서는 보통 거래와 공격같은 상호작용은 같은 서버내에서만 이뤄지기 때문에 게임을 나누는 가장 큰 단위는 서버라고 할 수 있다.
RPG게임 특성상 사람이 많으면 많을수록 커뮤니케이션이 활발해져 '서버를 하나만 운영하고 지역 단위로 서버 머신을 둘 수 없는가?'에 대한 생각이 들 수 있다.
물론 지역마다 포탈이나 순간이동으로만 이동할 수 있다는 전제가 있다면 가능할 수도 있다. 하지만 특정 지역에 거의 모든 유저가 한번에 몰릴수도 있고 만약 게임이 심리스게임이라면 지역이동을 처리할 때 지역을 담당하는 서버 머신간의 통신시간은 곧 사용자의 입력 반응속도에 영향을 미칠수 있다.
이용하는 사람이 많아질수로 서버에 가해지는 부하가 크게 증가한다. 부하의 종류는 크게 3가지로 다음과 같다.
1. 네트워크 I/O
2. DB I/O
3. 게임 로직 부하
보통 여러개의 게임서버가 있는 경우 데이터베이스만을 위한 서버가 따로 존재한다. 즉, 인게임의 서버 하나랑 게임서버와 데이터베이스서버가 쌍을 이룬다. 하지만 게임의 컨텐츠에 따라 통합데이터베이스가 필요할 수 있다. 예를들면, 메이플의 월드 통합 컨텐츠라던가 로아, 던파의 경매장이나 파티매칭과 같은 기능은 전체 서버구조가 필요하다.
주로 서버를 확장할 때, 'Scale Out'과 'Scale Up'방식을 이용한다.
'Scale Up'은 수직 확장으로 서버의 크기(용량)을 늘리는 방식으로 더 많은 부하를 처리할 수 있도록 서버를 확장하는 방식으로 한 서버에서 데이터를 관리하기 때문에 데이터 유지가 쉽다는 장점이 있지만 일정 수준을 넘어선 확장을 하기 위해서는 하드웨어적인 측면의 큰 비용이 발생할 수 있다.
'Scale Out'은 수평 확장으로 새로운 서버를 병렬적으로 구성해 부하를 분산해 서버를 확장하는 방식으로 비용에 대한 성능향상이 효율적이다. 하지만, 병렬적인 구성으로 인한 데이터 일관성 유지에 관한 문제나 분산 서버에 대한 인프라 구축 및 관리가 어렵다.
전체 인게임 서버구조를 가져야하는 서버로 Account Server가 있다. Account Server는 게임에 처음 들어갈 때 사용자의 식별을 위해 로그인을 하는데 로그인 요청을 처리하는 서버이다. 웹 서버로 구현할지 게임서버로 구현할지는 로그인 단계에서 무엇을 할지에 따라 다르다. 간단한 로그인 요청-응답 방식으로 구현하고자 한다면 웹서버가 적합하고 실시간으로 사용자에게 정보를 전달(ex. 대기열, 서버 혼잡도)하기 위해서는 게임서버로 구현하는 것이 좋다.

로그인을 위한 Account Server의 작동구조를 간략하게 나타내면 아래그림과 같다. 로그인 과정에 필요한 정보(아이디와 비밀번호)와 같이 로그인 요청을 보내면 Account Server는 로그인 성공, 실패와 같은 응답을 클라이언트에게 보낸다. 회원가입같은 요청-응답 구조의 기능은 Account Server에서 처리가 가능하다.
