게임개발/ue server 6

[UE] 언리얼 엔진의 커넥션 구성

언리얼에서의 커넥션 구성을 살펴봅니다. 1. 네트워크 통신을 담당하는 언리얼 주요 클래스언리얼 엔진 통신의 구성은 하이레벨과 로우 레벨로 구성할 수 있습니다.하이 레벨 : 게임 구성하는 단위인 액터, 컴포넌트, 월드와 같이 컨텐츠를 구성하는 오브젝트의 상태와 속성과 관련된 상위 개념을 의미한다.로우 레벨 : 상태와 속성을 네트워크를 통해 전달(통신)하기 위해 만들어진 데이터 스트림을 말한다.   PlayerController 클래스 : 네트워크 통신에 접근 가능한 게임 내의 대표 액터 네트워크 커넥션을 관리합니다.UNetConnection 클래스 : 상위에서 네트워크 통신을 담당하는 클래스. 패킷 데이터의 인코딩 디코딩, 네트워크 통신량 조절(대역폭 관리), 채널 관리를 합니다.즉, 하이 레벨의 상태값이..

[UE] 네트워크 모드에서의 액터의 준비와 게임 시작

네트웍 멀티플레이어에서 원격 액터의 초기화 과정을 이해하는 시간입니다.아래의 세 함수들은 액터의 준비 및 게임의 시작을 담당하는 함수입니다.  1. 액터의 준비 - 액터의 초기화를 담당하는 함수들입니다.// 서버와 무관AGameStateBase::PostInitializeComponents()플레이어 컨트롤러가 초기화(생성)되면서, 네트워크와 무관한 (게임과 무관한) 액터 설정의 초기화는 PostInitializeComponents 에서 담당합니다.게임을 시작하기 전, 서버 변경 정보를 전달받아 네트워크로 전달합니다.// 원격 클라이언트에서 호출됨// 서버에서 값을 전달받아 원격 클라이언트의 Actor 세팅이 모두 마무리될 때 호출된다AActor::PostNetInit() 원격 클라이언트에서 호출되어 서..

[UE] 게임 모드와 플레이어 컨트롤러를 활용한 로그인 플로우의 이해

이번 포스팅에서는 언리얼 엔진의 게임 모드 내 네트워크 호출 함수의 흐름을 파악해봅니다.게임을 시작할 때 네트워크를 사용하는 게임이라면 PreLogin, Login, PostLogin, StartPlay, BeginPlay 함수를 거치게 되는데요.눈으로 보고 싶다면 로그를 찍는 매크로를 만들어 확인해볼 수 있습니다. 로그 매크로 만들기// Log Macro 사용// GetNetMode : 게임의 인스턴스가 수행하는 역할을 정의하는 열거형타입// GPlayInEditorID : Play In Editor (PIE) 는 각 에디터의 ID 반환, 그렇지 않은 경우는 -1을 반환// NM_Client : NM은 NetMode의 약자. 게임을 하는 사람을 통해 서버에 접속된 게임의 인스턴스를 묘사// NM_Sta..

[UE] 어플리케이션의 네트워크 모드 파악하기

언리얼 엔진 어플리케이션의 네트워크 모드 파악하기 1. Standalone 스탠드얼론게임이 원격 클라이언트의 연결을 허용하지 않는 서버로 실행합니다. 게임에 참여하는 모든 플레이어는 모두 로컬 플레이어입니다. 이 모드는 싱글플레이어 및 로컬 멀티플레이어 게임에 사용되며, 서버/클라이언트 로직을 모두 실행합니다. 로컬 플레이어만을 위한 로직으로 프로그램을 구성하게 되므로, 나중에 멀티플레이어 게임으로 전환하는 과정이 매우 까다롭습니다. 2. Client 클라이언트서버에 연결된 클라이언트로 실행되어, 프록시(Proxy 허상)만 보여주는 역할을 담당합니다. 3. Listen Server(리슨 서버)호스팅하는 서버로 실행됩니다. 로컬 플레이어를 서버에 직접 배치하여 자기자신도 하나의 플레이어로서 게임에 참여하게..

[UE] 언리얼 엔진의 멀티플레이어 게임 프레임워크 특징과 네트워크 프로그래밍에서 BP가 아닌 C++을 사용해야 하는 이유

UE 에서 싱글 플레이어 게임이 PvP가 가능한 멀티 플레이어 게임이 되기까지1) 접속 플로우- 로그인 / 커넥션 / 오너십 / 역할 2) 액터 리플리케이션- 연관성 / 우선권 / 빈도- 서버와 클라이언트 간에 동일한 액터가 나타나도록 만드는 기능입니다.- 액터 업데이트 방식은 크게 두 가지 방식( RPC 방식, 프로퍼티 리플리케이션 방식 )으로 나뉩니다.더보기https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Networking/Actors/ 액터 리플리케이션액터 오브젝트 리플리케이션을 여러모로 살펴봅니다.docs.unrealengine.com2-1) RPC (원격 함수 호출, Remote Procedure Call)- 이전에는 Function ..

[UE5] 언리얼 멀티플레이어 네트워킹

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/networking-overview-for-unreal-engine?application_version=5.1 언리얼 엔진의 네트워킹 개요멀티플레이어용 네트워크 게임 구성하기dev.epicgames.com 언리얼 공식 홈페이지를 참고하여 작성한 문서입니다. (영문 버전) 언리얼 엔진을 이용해 만들어진 유명 게임들이 많습니다. 우리나라에서는 최근 언리얼 엔진 5를 사용해 가장 먼저 시장에 선보인 위메이드사의 를 비롯해, 넥슨(니트로 스튜디오)사의 등 그래픽이 잘 뽑혔다 라고 말하는 게임류의 절반은 언리얼 엔진으로 개발되었습니다.이렇게 많은 게임들이 언리얼 엔진을 이용하는데엔 그래픽적 이점이 있기도 ..