게임 서버(game server)란 멀티플레이 비디오 게임을 즐기기 위해 게임 클라이언트에 쓰이는 서버로, 자신의 컴퓨터나 다른 사람의 컴퓨터에서 실행된다.

게임 서버 호스팅 편집

게임 서버 호스팅은 게임 서버를 운영하는 회사에서 직접 유지하거나, 게임을 즐기는 사람들이 자신의 비용으로 서버를 직접 운영한다. 게임 서버는 웹 기반 도구들을 제공하기도 하는데, 이를 통해 서버의 상태를 유지보수하기도 한다.

게임 서버의 종류 편집

게임 서버는 리슨(Listen) 서버와 전용(Dedicated) 서버로 구별된다. 리슨 서버는 게임 클라이언트와 같은 프로세스로서 실행되며, 별도의 서버 없이 다른 플레이어가 호스팅하는 서버에 접속해서 플레이를 하거나 다른 플레이어를 초대할 수 있다. 다만 게임을 끌 때 서버도 같이 꺼진다는 것이 단점이기에, 해당 플레이어가 게임을 종료하면 그 서버의 호스트를 다른 플레이어로 변경하는 과정을 거친다. 랜 파티에서 즐겨 쓰이는 방식이기도 하다.

전용 서버는 클라이언트 프로세스와 별개로 실행된다. 별도의 고성능 네트워크상에 있는 전용 컴퓨터에서 실행되며, 플레이어들은 전용 서버에 접속해서 쾌적한 게임 플레이를 즐길 수 있다.

대규모 다중 사용자 온라인 게임의 전용 서버는 특정 회사가 운영하는 대용량 게임 서버이다. 해당 게임을 개발한 업체 혹은 개발사의 허락을 받은 업체(이른바 게임 퍼블리셔)에 의해서만 서버를 실행 및 유지를 할 수 있다. 이러한 서버에서는 불특정 다수의 플레이어들이 같이 게임을 즐길 수 있다.

게임 서버 개발 편집

게임 개발 과정에서, 게임 서버 프로그래머라는 직책을 가진 사람들이 게임 서버를 개발하는 경우가 일반적이다. 게임 서버를 개발하기 위해서는 다음과 같은 기술을 연마해야 한다.[1] 물론, 개발하고자 하는 게임 기획에 대한 이해는 필수이다.

  • 네트워크 기본 지식
  • 데이터베이스 기본 지식
  • 프로그래밍 언어
  • 자료 구조, 알고리즘
  • OS 지식
  • 프레임워크/아키텍처 공부
  • 암호화 방식, 인터넷 프로토콜, XML 등

게임 서버를 개발하기 위해 이러한 기능들을 모두 직접 개발하거나 뒤끝, 프라우드넷, 포톤 서버, Bamer 등의 게임 엔진을 사용하기도 한다.

각주 편집