원래 gcp에서 적용해보려고 했었습니다만 할당량과 리소스에 문제가 생겨 구글 팀과 미팅을 해야하는 상황입니다.

따라서 윈도우즈 로컬 환경에서 먼저 테스트를 해보고자 합니다.


PixelStreaming Matchmaking 적용

매치메이킹을 사용하지 않고 그냥 SignalingServer를 통해 브라우져에서 스트리밍을 할 수 있습니다. 하지만 매치메이킹을 한다면 여러 클라이언트들이 매치메이커 서버에 접속하게 되며 같은 서버 상에 여러 사람들이 다른 캐릭터로 마주할 수 있게 됩니다.

docs 중 matchmaker 부분을 잘 읽어보아야 합니다.


1. 매치메이커 서버를 실행합니다.

C:\Program Files\Epic Games\UE_4.27\Samples\PixelStreaming\WebServers

언리얼 엔진 4.27v, 윈도우 OS 기준 위 경로로 SignalingWebServer와 Matchmaker 폴더가 생성됩니다. 매치메이커 폴더로 들어가 run.bat을 실행하여 matchmaker Server를 실행해 줍니다.

이때 만약 httpport가 90이 아니라 80이라면 config파일을 수정해 90으로 바꿔 주세요 그 이유는 signalingWebServer가 httpport를 80으로 사용하기 때문입니다.


2. SignalingWebServer를 위한 설정

SignalingWebServer에 들어가 config파일 중 matchmaker를 사용하도록 되어있는지와 matchmakerPort가 현재 실행 중인 matchmakerServer의 Port와 동일한 지 확인하고 고쳐줍니다. 그리고 local에서 실행할 예정이므로 matchMakerAddress를 127.0.0.1로 바꿔 줍니다.

Unreal엔진을 실행한 후 편집→ 에디터 개인 설정 → 플레이 → 추가실행 옵션 파라미터에서 -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888

이렇게 파라미터를 지정해 줍니다. 이것에 관한 설명은 여기의 언리얼 엔진 명령줄 매개변수 부분에서 확인할 수 있습니다. SignalingWebserver의 설정과 동일합니다.


3. SignalingWebServer를 실행합니다.

같은 폴더 경로에 cmd를 통해 npm start를 실행해 줍니다. 그럼 서버가 실행 되는데 맨 마지막에 Cirrus connected to Matchmaker 127.0.0.1:9999라는 말이 뜨면 됩니다.

그리고 언리얼 엔진에서 플레이를 눌러 실행하면 Streamer connected: ::1 이 뜨게됩니다.

브라우져를 열어 로컬에서 접속하면 Client connected to Cirrus server localhost:80 라는 말이 뜨게 됩니다. 로컬에서부터 MatchMakerserver에 연결되었다는 뜻입니다.

'Unreal > Pixel Streaming' 카테고리의 다른 글

Pixel Streaming MatchMaker  (1) 2022.01.26

+ Recent posts