클라이언트-서버 모델

- 클라이언트-서버 모델은 네트워크 환경에서의 컴퓨팅 및 데이터 처리 방식을 설명하는 아키텍처 모델 중 하나입니다.
- 클라이언트는 서비스나 정보를 요청하고, 서버는 이를 처리하고 응답하는 구조로 이루어져 있습니다.
서버(Server)
- 서버는 서비스, 리소스, 데이터, 또는 기타 기능을 제공하는 컴퓨터입니다.
- 클라이언트의 요청을 처리하고 결과를 제공하는 역할을 수행합니다.
클라이언트(Client)
- 클라이언트는 서비스나 정보를 요청하는 디바이스를 의미합니다.
- 클라이언트는 서버에 요청을 보내고, 응답을 받아 사용자에게 출력합니다.
언리얼 엔진의 멀티플레이어 게임
언리얼 엔진에서는 일반적으로 클라이언트-서버 구조를 사용해 멀티플레이어 게임을 구현합니다.
서버
- 게임 서버는 게임의 핵심 로직을 실행하고 관리합니다.
- 클라이언트로부터 입력을 받아 게임 상태를 업데이트합니다.
- 게임 상태를 계산하고 동기화하여 클라이언트에게 정보를 전달합니다.
클라이언트
- 클라이언트는 사용자로부터 입력을 받아 서버에 전송하고, 서버의 상태를 받아 사용자에체 출력합니다.
- 언리얼 엔진에서는 Replication(복제)이라는 개념을 사용하여 게임 상태를 동기화합니다.
- Replication은 서버의 상태를 클라이언트로 복제하거나, 클라이언트의 특정 이벤트를 서버로 전파하여 동일한 게임 상태를 유지합니다.
언리얼 엔진의 네트워크 모드
언리얼 엔진의 네트워크 모드는 4가지가 존재합니다.
1. 독립형 (Standalone)
2. 클라이언트 (Client)
3. 리슨 서버 (Listen Server)
4. 데디케이티드 서버 (Dedicated Server)
-
독립형 (Standalone)
- 게임이 원격 클라이언트 접속을 허용하지 않는 서버로 실행됩니다.
- 게임에 참여하는 모든 플레이어는 로컬 플레이어뿐입니다.
-
클라이언트 (Client)
- 게임이 네트워크 멀티플레이어 세션으로 서버에 접속된 클라이언트로 실행됩니다.
-
리슨 서버 (Listen Server)
- 게임이 네트워크 멀티플레이어 세션을 호스팅하는 서버로 실행됩니다.
- 원격 클라이언트의 접속을 허용하며, 서버에 바로 로컬 플레이어가 있습니다.
- 가벼운 협동 및 경쟁 멀티 플레이어 게임에 자주 사용됩니다.
-
데디케이티트 서버 (Dedicated Server)
- 게임이 네트워크 멀티플레이어 세션을 호스팅하는 서버로 실행됩니다.
- 원격 클라이언트의 접속을 허용하지만, 로컬 플레이어는 없습니다.
- 높은 지속성이나 보안, 대규모 멀티플레이어가 필요한 게임에 자주 사용됩니다.
참고
언리얼 네트워킹 개요
유데미 멀티플레이어 강의