한 플레이어가 게임에 입장할 때 클라이언트와 서버 사이에는 입장요청부터 다른 플레이어의 정보까지 여러가지 정보를 주고받는다. 새로운 플레이어가 게임에 입장하는 상황을 나타낸 그림은 아래와 같다.

New Player는 서버에 게임에 입장한다는 요청을 보낸다. 서버는 기존에 있던 Player들에게 새로운 플레이어가 입장했다는 사실과 New Player에 대한 정보를 전송한다.
New Player는 기존에 있던 Player의 정보들을 받는데 서버가 가지고 있는 Player Info를 받는다. New Player가 정보를 받는 상황을 나타낸 그림은 아래와 같다.

게임을 어떻게 구현했는지에 따라 다르지만 가장 간단한 구조중 하나는 들어오는 요청을 무조건 OK하는 방식이다.
클라이언트와 서버는 패킷을 주고받으면서 통신을 하는데 간단한 RPG게임에 입장할 때에 다음과 패킷종류를 설계할 수 있다.
New Player는 기존의 Player들에 대한 정보를 받고 Player는 New Player에 대한 정보를 받는다.클라이언트와 서버는 다음과 같은 내용을 구현한다.
클라이언트가 서버에게 입장, 퇴장을 패킷으로 요청하는 구조도 가능하지만, 위의 상황은 Session이 연결됐을 때를 입장요청을 한것으로 연결종료되었을 때를 퇴장요청을 한것으로 간주한 상황이다.
게임입장을 구현할 때 서버가 구현해야 할 내용은 다음과 같다.
Player들을 저장할 공간Player를 추가, 삭제하는 기능Player에 대한 정의서버는 공간이 여러개가 있다면 공간을 구별할 ID가 있어야 하며 Player역시 구분하기 위한 ID가 필요하다. 이외에도 Player에 대한 부가적인정보는 DB에 저장할 수 있다.
Player들을 저장할 자료구조는 멀티쓰레드환경에서 상호배제를 구현하기 위해 lock을 사용할 수 있고 누군가가 입장, 퇴장할 때 lock을 해줌으로 문제가 발생하지 않게 해야한다.
클라이언트가 게임입장을 구현할 때는 패킷이벤트를 구현해야 한다.
Player를 생성한다.Player들에 대한 정보를 바탕으로 자신 또는 다른 플레이어의 모습을 랜더링한다.Player의 ID를 확인해 랜더링 목록에서 제외한다.위 상황의 클라이언트에서 가장 중요한 것은 패킷에 대한 Action이 자신에 대한 내용인지 다른 플레이어에 대한 내용인지 확인하는 것이다. 같은 소환패킷이어도 자신을 소환하는 것인지 다른 사람을 소환하는 것인지에 따라 클라이언트에서 실행할 코드가 달라지기 때문이다.