이 페이지에서는 다양한 멀티플레이어 시나리오를 테스트하기 위해 에디터 세팅을 변경하는 방법을 살펴봅니다.
멀티플레이어 플레이 옵션
플레이어 수 설정
플레이(Play) 버튼 옆에 있는 추가 옵션 버튼을 클릭하고 플레이어 수(Number of Players) 값을 입력합니다.
기본적으로 서버는 선택된 뷰포트(Selected Viewport) 를 플레이 창으로 사용하며, 추가된 각 클라이언트마다 새 창이 생성됩니다.
플레이 창 조정하기
에디터의 뷰포트를 플레이 창으로 사용해도 전혀 문제는 없지만 명확성을 위해 각 플레이어별로 창을 사용하는 것이 좋습니다. 서버에서 플레이 창을 조정하려면 플레이 버튼 옆에 있는 추가 옵션 버튼을 클릭하고 새 에디터 창(PIE)(New Editor Window (PIE)) 을 선택합니다. 시뮬레이션된 클라이언트에는 각각 창이 있지만, 이 세팅은 시뮬레이션된 서버에 대해서도 별도의 창을 생성합니다.
고급 세팅
새 에디터 창을 사용하기 위해 플레이 방식을 구성한 후에는 에디터 창의 크기를 조정하는 것이 좋습니다. 플레이 버튼 옆에 있는 추가 옵션 버튼을 클릭하고 고급 세팅(Advanced Settings) 을 선택합니다. 멀티플레이어 뷰포트 크기(픽셀)(Multiplayer Viewport Size (in pixels)) 섹션에서 원하는 창 크기를 설정합니다. 멀티플레이어 뷰포트 크기(픽셀) 크기 옵션을 통해 생성된 창의 크기를 설정할 수 있습니다. 여러 프리셋 창 크기에서 선택하거나 수동으로 창 크기를 입력할 수 있으며, 예시에서는 640x480 으로 지정했습니다. 창 크기를 입력하면 에디터에서 플레이할 때 각 창의 크기가 같아집니다.
각 플레이 세션마다 새 창을 사용하여 에디터에서 플레이할 때 각 창의 상단에 플레이어가 서버인지 또는 클라이언트인지 여부가 표시됩니다. 플레이 모드에서 창을 움직이면 다음 에디터에서 플레이 세션을 위해 해당 위치가 기억됩니다. 따라서 매번 움직일 필요가 없으므로 테스트하기가 더 쉬워집니다.
멀티플레이어 옵션
또한 고급 세팅 에는 다음과 같은 추가 멀티플레이어 옵션을 구성하는 데 사용할 수 있는 섹션이 있습니다.
| 옵션 | 설명 |
|---|---|
| 플레이어 수 | 이 옵션은 실행 시 게임에 스폰할 플레이어 수를 정의합니다. 에디터와 수신 서버는 플레이어로 계산되며, 데디케이티드 서버는 계산되지 않습니다. 클라이언트가 나머지 플레이어를 구성합니다. |
| 추가 서버 게임 옵션(Additional Server Game Options) | 서버에 URL 파라미터로 전달할 추가 옵션을 여기서 지정할 수 있습니다. |
| 데디케이티드 서버 실행(Run Dedicated Server) | 체크한 경우, 별도의 데디케이티드 서버가 실행됩니다. 그렇지 않은 경우, 첫 번째 플레이어가 모든 플레이어가 연결 가능한 수신 서버 역할을 합니다. |
| 첫 번째 게임패드를 두 번째 클라이언트로 라우팅 | 단일 프로세스에서 여러 플레이어 창을 실행하는 경우, 이 옵션은 게임 패드 입력이 라우팅되는 방식을 결정합니다. 체크하지 않은 경우(디폴트), 첫 번째 게임 패드는 첫 번째 창에 어태치되고 두 번째 게임 패드는 두 번째 창에 어태치되는 방식이 사용됩니다. 체크한 경우, 첫 번째 게임 패드가 두 번째 창에 어태치됩니다. 그러면 첫 번째 창은 키보드/마우스로 제어되므로 두 사람이 같은 컴퓨터에서 테스트할 때 편리합니다. |
| 단일 프로세스 사용 | 이는 언리얼 엔진의 단일 인스턴스에서 여러 개의 플레이어 창을 스폰합니다. 로드 속도는 훨씬 빠르지만, 더 많은 문제가 발생할 수 있습니다. 체크를 해제하면 추가 옵션을 사용할 수 있습니다. |
| 모든 플레이어를 위해 오디오 디바이스 생성(Create Audio Device for Every Player) | 이 옵션을 활성화하면 모든 플레이어의 시점에서 정확한 오디오를 렌더링할 수 있지만 더 많은 CPU가 사용됩니다. |
| 에디터에서 플레이 설명(Play In Editor Description) | 현재 적용된 멀티플레이어 세팅에 기반하여 플레이할 때 예상되는 내용을 설명합니다. |
단일 프로세스 사용(Use Single Process) 을 체크하면 여러 개의 창이 언리얼 엔진의 단일 인스턴스에 스폰됩니다. 이 옵션을 체크 해제하면 언리얼 엔진의 여러 인스턴스가 할당된 각 플레이어에 대해 실행되며 다음과 같은 추가 옵션을 사용할 수 있습니다.
| 옵션 | 설명 |
|---|---|
| 에디터 멀티플레이어 모드(Editor Multiplayer Mode) | '에디터에서 플레이(Play In Editor)'에 사용할 넷 모드입니다. 오프라인 플레이(Play Offline), 수신 서버로 플레이(Play As Listen Server) 또는 클라이언트로 플레이(Play As Client) 가 될 수 있습니다. |
| 명령줄 실행인자 | 독립형 게임 인스턴스에 전달될 명령줄 옵션을 여기에서 할당할 수 있습니다. |
| 멀티플레이어 창 크기(픽셀)(Multiplayer Window Size (in pixels)) | 추가 독립형 게임 인스턴스를 스폰할 때 사용할 너비/높이를 정의합니다. |
수신 서버 vs. 데디케이티드 서버
멀티플레이어 게임을 실행할 때 게임이 호스팅되는 방식에는 두 가지가 있습니다. 첫 번째는 수신 서버(Listen Server)(디폴트 세팅)를 사용하는 것입니다. 권한이 있는 머신이 클라이언트도 실행하며 다른 플레이어를 호스팅하면서 게임을 플레이하는 일반적인 방식입니다.
두 번째는 데디케이티드 서버(Dedicated Server) 를 사용하는 것입니다. 이름에서 알 수 있듯이, 게임 호스팅 전용 서버이며 머신에서 플레이하는 로컬 플레이어 없이 모두가 클라이언트로 연결됩니다. 일반적으로 데디케이티드 서버로 실행하면 비주얼이나 입력이 등록되지 않으므로 수신 서버로 실행하는 것보다 최적화된 상태를 유지할 할 수 있습니다.
기본적으로 에디터에서 플레이하거나 독립형 게임으로 플레이할 때는 서버 타입을 수신 서버로 설정합니다.
데디케이티드 서버 실행
플레이 버튼 옆의 추가 옵션 버튼을 클릭하고 데디케이티드 서버 실행(Run Dedicated Server) 체크박스를 체크합니다. 프로젝트에서 데디케이티드 서버를 구성하는 방법에 대한 자세한 내용은 데디케이티드 서버 구성하기 문서를 참고하세요.