에디터에서 플레이 멀티플레이어 옵션

클라이언트와 서버에서 게임플레이를 테스트합니다.

Choose your operating system:

Windows

macOS

Linux

에디터에서 플레이(Play In Editor) 는 네트워크 플레이를 테스트해볼 수 있도록 여러 월드를 지원합니다. 에디터는 이미 로드된 UE5의 인스턴스 안에 여러 월드를 스폰하므로 반복작업 시간이 빨라지고 각 월드마다 블루프린트 를 디버그할 수 있습니다.

네트워크 테스트 설정하기

레벨 에디터 툴바(Level Editor Toolbar) 또는 블루프린트 에디터 툴바(Blueprint Editor Toolbar)플레이(Play) 드롭다운 메뉴에서 에디터에서 플레이 세션을 시작할 때 생성할 클라이언트 월드 수를 설정할 수 있습니다. 데디케이티드 서버를 실행할지 여부도 지정할 수 있습니다.

전체 크기로 보려면 이미지를 클릭하세요.

클라이언트 수(Number of Clients) 필드에서는 테스트할 총 플레이어 수를 지정할 수 있습니다. 이 필드를 1로 설정하고 데디케이티드 서버 실행(Run Dedicated Server) 체크박스의 체크를 해제하면, 에디터에서 플레이 세션에서 독립형 비네트워크 게임플레이를 테스트할 수 있습니다.

드롭다운 메뉴에서 제공하는 다른 기본 네트워킹 옵션은 데디케이티드 서버 실행 체크박스입니다. 이 옵션을 체크하면 '데디케이티드 서버' 월드가 실행됩니다. 다만 데디케이티드 서버의 로컬 플레이어나 디스플레이는 없습니다. 데디케이티드 서버를 사용한다는 것은 어떤 클라이언트도 리슨 서버로 실행되지 않는다는 뜻입니다. 데디케이티드 서버를 사용하면 데디케이티드 서버에서만 발생하는 버그(예: 로컬 플레이어에 의존하는 코드)를 확인할 수 있습니다. 서버와 클라이언트에 의존하는 함수 기능을 가진 블루프린트용으로 간단히 테스트 환경설정을 하려면 플레이어 수(Number of Players) 를 1로, 데디케이티드 서버 실행true 로 설정합니다. 플레이를 테스트할 창은 하나뿐이지만, 데디케이티드 서버에 연결된 클라이언트의 함수 기능을 모두 갖추고 있습니다.

이러한 옵션을 설정한 다음, 선호하는 에디터에서 플레이 모드를 선택하여 게임플레이 테스트를 실행합니다. 클라이언트 월드가 여러 개고 에디터에서 플레이 세션의 디스플레이 유형을 뷰포트 로 선택했다면, 뷰포트에는 하나의 클라이언트 월드만 표시되며 다른 모든 클라이언트 월드는 새로운 창에 표시됩니다. 아래는 4명의 플레이어가 데디케이티드 서버를 사용하여 테스트한 예시 이미지입니다.

클릭하면 원본 이미지를 확인할 수 있습니다

Shift + TabCtrl + Tab 을 사용하면 포커스를 각 클라이언트 창으로 옮기면서 확인할 수 있습니다.

| ## 고급 세팅

클라이언트 월드 수와 데디케이티드 서버 사용 여부는 레벨 에디터 - 플레이 세팅 창에서도 설정할 수 있습니다. 여기서는 프리뷰 세션에 전송할 명령줄 옵션을 지정할 수도 있습니다. 또한, 단일 프로세스 사용(Use Single Process) 체크박스의 체크를 해제하면 기존의 네트워크로 연결된 에디터에서 플레이 동작으로 되돌릴 수도 있습니다.

세팅

설명

개별 서버 실행(Launch Separate Server)

넷 모드에서 요구하지 않더라도 별도 서버를 실행합니다. 이 세팅을 사용하면 오프라인 게임에서 서버에 연결하여 오프라인 --> 서버 워크플로를 테스트할 수 있습니다.

넷 모드 플레이(Play Net Mode)

에디터에서 플레이 세션에 사용할 넷 모드를 설정합니다.

  • 독립형으로 플레이(Play Standalone) : 독립형 게임을 시작합니다. 데디케이티드 서버를 생성하지도 않고 데디케이티드 서버에 자동 연결하지도 않습니다.

  • 리슨 서버로 플레이(Play As Listen Server) : 서버와 클라이언트 역할을 모두 수행하도록 에디터를 설정합니다. 클라이언트 수에 따라 추가 클라이언트가 열릴 수 있습니다.

  • 클라이언트로 플레이(Play As Client) : 클라이언트 역할을 하도록 에디터를 설정합니다. 연결할 수 있는 데디케이티드 서버가 씬 배경에서 스폰됩니다.

단일 프로세스 하 실행(Run Under One Process)

UE5 단일 인스턴스로 멀티플레이어 창을 스폰합니다. 이렇게 하면 로드 속도가 훨씬 빠르지만 더 많은 문제가 발생할 수 있습니다.

네트워크 에뮬레이션 활성화(Enable Network Emulation)

게임의 네트워크 문제 처리 방법을 테스트하려는 용도로 게임을 시작하는 경우 선택한 네트워크 에뮬레이션 세팅을 적용합니다.

  • 에뮬레이션 타깃(Emulation Target) : 에뮬레이션 세팅을 서버만(Server Only), 클라이언트만(Clients Only) 또는 모두(Everyone)로 적용합니다.

  • 네트워크 에뮬레이션 프로파일(Network Emulation Profile) : 들어오는 트래픽과 나가는 트래픽에 프리셋을 적용합니다. 옵션은 평균(Average), 나쁨(Bad), 커스텀(Custom)이 있습니다.

  • 들어오는 트래픽(Incoming traffic) : 들어오는 모든 패킷에 지연시간 및 패킷 손실을 추가하는 세팅을 적용합니다. 최소 지연시간, 최대 지연시간, 패킷 손실 퍼센티지를 추가할 수 있습니다.

  • 나가는 트래픽 : 나가는 모든 패킷에 지연시간 및 패킷 손실 추가 세팅을 적용합니다. 최소 지연시간, 최대 지연시간, 패킷 손실 퍼센티지를 추가할 수 있습니다.

클라이언트(Client)

게임 시작 시 선택한 클라이언트 세팅을 적용합니다.

  • 클라이언트 플레이 수(Play Number of Clients) : 여러 개의 클라이언트 창을 엽니다. 첫 번째 창은 에디터에서 플레이 모드 옵션을 따릅니다. 나머지는 단일 프로세스 하 실행 세팅을 따릅니다.

  • 둘째 창으로 게임패드 경유(Route Gamepad to Second Window) : 멀티플레이어 세션 동안 게임패드 입력을 라우팅합니다. 체크를 해제하면, 첫 번째 게임패드는 첫 번째 멀티플레이어 창에 연결되고 두 번째는 두 번째 창에 연결되는 식으로 계속됩니다. 체크하면, 게임패드가 두 번째 멀티플레이어 창에 라우팅되어 첫 번째를 키보드와 마우스로 제어할 수 있게 됩니다.

  • 모든 플레이어를 위해 오디오 디바이스 생성(Create Audio Device for Every Player) : 생성할 오디오 디바이스 수를 제어합니다. 체크하면, 플레이어마다 개별 오디오 디바이스를 생성합니다. 그러면 모든 플레이어의 관점에서 오디오를 정확하게 렌더링하지만 CPU 퍼포먼스 비용이 높아집니다. 체크를 해제하면, 첫 두 명의 플레이어에게만 개별 오디오 디바이스를 생성합니다.

  • 클라이언트 고정 FPS(Client Fixed FPS) : 각 클라이언트의 프레임 레이트를 목록의 엘리먼트로 설정합니다. 리슨 서버를 포함합니다.

서버(Server)

게임 시작 시 선택한 서버 세팅을 적용합니다.

  • 서버 포트(Server Port) : 단순한 서버 네트워킹을 위해 선택한 포트를 엽니다.

  • 서버 맵 이름 오버라이드(Server Map Name Override) : 서버에서 실행한 맵을 오버라이드합니다. 현재는 PIE_StandaloneWithServer 넷 모드만 사용합니다.

  • 추가 서버 게임 옵션(Additonal Server Game Options) : 서버에 URL 파라미터로 전달되는 여분의 파라미터를 추가합니다.

  • 추가 서버 실행 파라미터(Additonal Server Launch Parameters) : 서버에 인수로 전달되는 여분의 파라미터를 추가합니다.

  • 서버 고정 FPS(Server Fixed FPS) : 서버를 지정된 프레임 레이트로 실행되도록 설정합니다. 리슨 서버에는 영향이 없습니다.

  • 멀티플레이어 뷰포트 크기 (픽셀)(Multiplayer Viewport Size (in pixels)) : 지정된 너비와 높이를 가진 여분의 클라이언트를 스폰합니다. 클라이언트가 여러 개일 때 하나의 창과만 인터랙션하고 싶을 때 유용합니다.

블루프린트 디버그하기

여러 월드 시나리오로 실행할 때는 블루프린트 에디터 에 추가 드롭다운 메뉴가 제공되며 여기에서 디버그할 월드를 선택할 수 있습니다.

bp_debugger_multiplayer_pie.png

월드 목록은 액터 목록에 있는 액터를 필터링합니다. 예를 들어, '모든 월드(All Worlds)'를 선택하면 다른 드롭다운 목록에 있는 모든 월드의 액터가 표시됩니다. 다른 모든 월드 중에서 하나를 선택하면 해당 월드 인스턴스의 액터만 표시됩니다.

이는 중단점에도 영향을 줍니다. 예를 들어, 디버그 월드를 클라이언트 1(Client 1)로 설정하면, 클라이언트 1의 월드에 있는 액터에서만 중단점이 트리거됩니다.

창 제목을 보면 프리뷰 창의 클라이언트 번호를 알 수 있습니다. 예를 들어, 위 네트워크 플레이 이미지에서 한 창의 제목이 ShooterGame Game Preview Client 1(64bit/PCD3D_SM5))입니다.

모든 월드를 선택하면 어떤 월드든 중단점을 트리거할 수 있습니다. 중단점이 트리거되면 블루프린트 에디터는 디버깅 중인 월드를 표시합니다.

bp_graph_multiplayer_pie.png