내일배움캠프 언리얼

멀티 플레이 네트워크

lgbl 2025. 4. 14. 09:43

 

실행모드 정의 특징
Standalone 네트워킹을 고려하지 않는 단일 인스턴스 - 싱글플레이어(로컬 세션)
- Replicate 미사용
- Gameplay 클래스가 하나로 실행
Dedicated Server Server 전용 인스턴스 - Local 플레이어 없음
- 렌더링 X / GPU 없이 구동 가능
- 게임 로직, 네트워크 통신만 처리
- 원격 머신이나 클라우드 배포
Listen Server 한 플레이어가 동시에 Server 호스트 역할 - Server이자 Client 역할 수행
- 호스트에게 UI, PlayerController 존재
- 호스트가 게임 종료시 Server도 종료
- P2P 스타일 게임에서 사용
Client 호스트가 아닌 모든 플레이어 - Server로부터 데이터를 받음
- 자신의 입력을 Server에 전송
- 자율적 PlayerController 보유
- 권한 있는 결정과 게임 상태 업데이트는 Server 의존

  언리얼 엔진에서 Client로 구동할 시 Dedicated Server도 한개가 나온다. 예를 들어 플레이어 2명을 설정하고 Client로 구동하면 Dedicated Server가 구동이 되면서 3개의 창이 나온다.

 

 

종류 역할 주요 정보
GameState 게임 전체의 현재 상태를 공유 (클라이언트와 동기화) - 현재 게임 시간
- 점수판, 남은 시간
- 현재 상태(준비, 전투 중, 종료)
- 팀 정보 (전체적 게임 상태를 보여주는 정보)
GameMode 게임 규칙, 흐름제어 (서버 전용) - 게임 승리 조건, 규칙
- 플레이어 스폰 로직
- 매치 시작 / 종료 트리거
- 팀 구성
- GameState, PlayerController 생성 및 제어
PlayerState 플레이어 개개인 상태 저장 (클라이언트와 동기화) - 플레이어 이름, 점수, 팀
- 개인 전적 (KDA, 경험치 등)
- 커스텀 캐릭터 설정
- 소셜 / 파티 정보
PlayerController 입력 처리, 서버와의 통신 중계, UI 연동 - 현재 입력 상태
- UI 상호작용
- 서버 호출 RPC
- 로컬 플레이어가 조작
GameInstance 게임 전체에 걸쳐 지속되는 전역 객체 - 플레이어 로그인 상태
- 서버 목록, 매치메이킹 결과
- 저장된 옵션 / 설정
- 사용자 프로필
- 레벨 간 공유되는 데이터

 

 

'내일배움캠프 언리얼' 카테고리의 다른 글

언리얼 엔진 5 C++ 개발(WIL)  (0) 2025.02.18
WIL  (0) 2025.02.04
C++ 클래스(1)  (0) 2025.01.24
객체 지향 프로그래밍(2)  (1) 2025.01.22
객체 지향 프로그래밍(1)  (3) 2025.01.21