에디터에서 플레이(Play In Editor) 프리뷰 모드는 네트워크 플레이를 테스트할 수 있도록 여러 개의 월드를 사용해서 테스트하도록 지원합니다. 에디터는 이미 로드된 언리얼 엔진의 인스턴스 내에 여러 개의 월드를 스폰합니다. 그 결과, 반복작업 시간이 빨라지고 각 월드마다 블루프린트를 디버그할 수 있습니다.
네트워크 테스트 설정하기
레벨 에디터 툴바(Level Editor Toolbar) 또는 블루프린트 에디터 툴바(Blueprint Editor Toolbar) 의 플레이(Play) 드롭다운 메뉴에서 에디터에서 플레이 세션을 시작할 때 생성할 클라이언트 월드의 개수를 설정할 수 있습니다. 데디케이티드 서버를 실행할지 여부도 지정할 수 있습니다.
전체 크기로 보려면 이미지를 클릭하세요.
플레이어 수(Number of Players) 필드에는 테스트할 총 플레이어 수를 지정할 수 있습니다.
그 다음에는 사용할 넷 모드(Net Mode) 를 선택합니다.
| 옵션 | 설명 |
|---|---|
| 독립형으로 플레이(Play Standalone) | 독립형 게임을 생성합니다. 이 옵션은 데디케이티드 서버를 생성하지 않습니다. 서버는 bLaunchSeparateServer 를 활성화하여 생성할 수 있습니다. |
| 리슨 서버로 플레이(Play As Listen Server) | 서버와 클라이언트 양쪽 역할을 모두 맡는 세션을 생성합니다. 클라이언트 수에 따라 인스턴스가 추가될 수 있습니다. |
| 클라이언트로 플레이(Play As Client) | 클라이언트 역할을 하는 세션을 생성합니다. 데디케이티드 서버는 백그라운드에서 실행됩니다. |
플레이어 수 필드를 1로, 넷 모드 를 독립형으로 플레이 로 설정하면 에디터에서 플레이 세션은 네트워크 게임플레이가 없는 독립형 게임으로 테스트합니다.
넷 모드를 클라이언트로 플레이 로 설정하면 데디케이티드 서버 월드가 실행됩니다. 다만 데디케이티드 서버의 로컬 플레이어나 디스플레이는 없습니다. 데디케이티드 서버를 사용한다는 것은 어떤 클라이언트도 리슨 서버로 실행되지 않는다는 뜻입니다. 데디케이티드 서버를 사용하면 로컬 플레이어에 의존하는 코드 등 데디케이티드 서버에서만 발생하는 버그를 확인할 수 있습니다. 서버와 클라이언트에 의존하는 함수 기능이 있는 블루프린트에 대한 기본 테스트 구성은 플레이어 수 는 1로, 넷 모드는 클라이언트로 플레이 로 선택하는 것입니다. 그러면 플레이를 테스트할 창이 하나만 생성되지만, 이 창에는 데디케이티드 서버에 연결된 클라이언트의 함수 기능을 모두 갖추게 됩니다.
이러한 옵션을 설정한 다음, 선호하는 에디터에서 플레이 모드를 선택하여 게임플레이 테스트를 실행합니다. 클라이언트 월드가 여러 개고 에디터에서 플레이 세션의 디스플레이 유형을 뷰포트로 선택했다면, 뷰포트에는 하나의 클라이언트 월드만 표시되며 다른 모든 클라이언트 월드는 새로운 창에 표시됩니다. 아래는 4명의 플레이어가 데디케이티드 서버를 사용하여 테스트한 이미지입니다.
클라이언트 월드 수와 데디케이티드 서버 사용 여부는 레벨 에디터 - 플레이 세팅 창에서도 설정할 수 있습니다. 여기서 프리뷰 세션에 전송할 명령줄 옵션을 지정할 수도 있습니다.
| 세팅 | 설명 |
|---|---|
| 개별 서버 실행(Launch Separate Server) | 넷 모드에서 요구하지 않더라도 별도 서버를 실행합니다. 이 세팅을 사용하면 오프라인 게임에서 서버에 연결하여 오프라인 --> 서버 워크플로를 테스트할 수 있습니다. |
| 넷 모드 플레이(Play Net Mode) | 에디터에서 플레이 세션에 사용할 넷 모드를 설정합니다.
|
| 단일 프로세스 하 실행(Run Under One Process) | 언리얼 엔진의 단일 인스턴스로 멀티플레이어 창을 스폰합니다. 이렇게 하면 로드 속도가 훨씬 빠르지만, 게임 인스턴스마다 자체적인 프로세스로 실행되는 플레이어의 런타임 환경을 반영하지는 않습니다. |
| 디폴트로 서버 디버그 드로잉 표시(Show Server Debug Drawing by Default) | 에디터에서 플레이 중에 데디케이티드 서버에서 디버그 렌더링을 그립니다. |
| 서버 디버그 드로잉 색조 강조(Server Debug Drawing Tint Strength) | 선택한 색조 색을 향한 디버그 드로 색의 편향을 제어합니다. |
| 서버 디버그 드로잉 색 색조(Server Debug Drawing Color Tint) | 서버 디버그 드로잉의 색조 색을 선택합니다. |
| 네트워크 에뮬레이션 활성화(Enable Network Emulation) | 게임의 네트워크 문제 처리 방법을 테스트하려는 용도로 게임을 시작하는 경우 선택한 네트워크 에뮬레이션 세팅을 적용합니다.
|
| 클라이언트(Client) | 게임 시작 시 선택한 클라이언트 세팅을 적용합니다.
|
| 서버(Server) | 게임 시작 시 선택한 서버 세팅을 적용합니다.
|
블루프린트 디버그하기
여러 월드 시나리오로 실행할 때는 블루프린트 에디터 에 추가 드롭다운 메뉴가 제공되며 여기에서 디버그할 월드를 선택할 수 있습니다.
월드 목록에서 선택한 월드는 액터 목록에 있는 액터를 필터링합니다. 예를 들어, 모든 월드(All Worlds) 를 선택하면 다른 드롭다운 목록에 있는 모든 월드의 액터가 표시됩니다. 하나의 월드만 선택하면 그 월드 인스턴스의 액터만 표시됩니다.
이는 중단점에도 영향을 줍니다. 예를 들어, 디버그 월드를 클라이언트 1(Client 1)로 설정하면, 클라이언트 1의 월드에 있는 액터에서만 중단점이 트리거됩니다.
창 제목을 보면 프리뷰 창의 클라이언트 번호를 알 수 있습니다. 예를 들어, 위 네트워크 플레이 이미지에서 한 창의 제목이 LyraStarterGame Preview [NetMode Client 1] 입니다.
모든 월드 를 선택하면 어떤 월드든 중단점을 트리거할 수 있습니다.