원래 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

Matchmaker를 이용해 여러 인스턴스가 한 서버에서 만날 수 있도록 만들기

  • 준비물
    • aws, azure, gcp와 같은 클라우드 플랫폼에서의 gpu 인스턴스

Azure에서 문서로 잘 정리 해 놓았고 개발자들이 Aws를 통해 실험을 해 보았지만 가격측면에서 불리해서 GCP로 인스턴스를 만들기로 했습니다.

N2에 해당하는 n2-standard-2 서울에서 월 74$를 내고 사용할 수 있습니다.

gpu를 할당하기위해선 제한이 있습니다. 가용영역인 인스턴스여야하고 할당 가능한 지역(region)이어야 합니다.

서울 리전은 Nvidia T4 GPU만 사용가능합니다.


GPU할당량 조정하기

GCP → IAM → 할당량 →필터 : GPU , all → GPUs (all regions)에 할당량을 조정해야합니다.

이유는 모든 것이 다 갖춰졌어도 여기서 할당량을 갖춘 것에 맞게 채우지 않으면 사용할 수 없기 때문입니다.

하지만 문제가 생겼습니다. 아래와 같은 문제로 고객 센터에 문의하였습니다.

 


메일이 왔습니다.

필요한 정보들을 적어주고 답장을 보냈습니다.


환경 설정

그럼 인스턴스에 접속해서 pixel streaming 관련 파일들을 설치하겠습니다.

Pixel streaming는 windows운영체제가 필요하지만 비싸기 때문에 linux에 x-window를 설치할 예정입니다. 하지만 그 전에 x-window로 pixel streaming이 돌아가는지 확인해야합니다.

x-window는 windows가 아닙니다. linux에서 GUI응용 프로그램을 실행한 것입니다. 네트워크 프로토콜 기반의 그래픽 사용자 인터페이스입니다.

Pixel streaming은 Unreal Engine을 기반으로 하기 때문에 Unreal Engine이 x-window에서 돌아가는지 확인해보았습니다.

https://docs.unrealengine.com/4.27/ko/SharingAndReleasing/Linux/BeginnerLinuxDeveloper/SettingUpAnUnrealWorkflow/ [ Ubuntu에서 Unreal 프로그램 구동하기 - Epic Games ]

 

다음은 GCP에서 linux로 x-window 구성하기를 해보겠습니다.

 

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

local에서 matchmaker 적용해보기 - pixel streaming  (0) 2022.01.27

+ Recent posts