PlayFab에서 Linux 전용 서버 설정
이 가이드의 목적은 Linux 전용 서버를 빌드하고 확인하는 데 필요한 모든 단계를 설명하는 것입니다. 다음 단계는 Unreal Engine 5(early access 및 공식 릴리스 모두)에 관한 것입니다. 동일한 단계 세트가 UE 4.26 및 UE 4.27에도 테스트되어 적용되며, UE 4.27 및 UE5 early access에서 다른 Unreal Engine UI의 패키징 옵션 위치와 관련된 몇 가지 사소한 차이점이 있습니다. Linux 배포에 대한 자세한 정보는 여기에서 확인할 수 있습니다.요구 사항
지침
- Unreal Linux 필수 구성 요소에서 설치된 Unreal Engine용 도구 체인을 다운로드하고 실행 파일을 실행합니다. 참고: 이 가이드의 많은 부분과 마찬가지로 이러한 단계는 Unreal Engine이 소스에서 빌드된 경우에만 작동합니다.
- 설치가 완료되면 Windows 환경 변수를 검사하여 다음 시스템 변수가 있는지 확인합니다: LINUX_MULTIARCH_ROOT.
- Unreal Engine 소스 디렉터리에서:
- 다시 실행:
Setup.bat - 다시 실행:
GenerateProjectFiles.bat
- 다시 실행:
- 자신의 프로젝트로 돌아갑니다:
{ProjectName}.uproject파일을 마우스 오른쪽 버튼으로 클릭하고 Generate Visual Studio project files를 선택합니다.- Visual Studio에서 {ProjectName}.sln 파일을 엽니다.
- 구성을 Development Editor로 설정합니다.
- Unreal Editor를 빌드하고 실행합니다.
- 이 시점에서 원하는 디렉터리에 Linux 서버용 프로젝트를 패키징할 수 있어야 합니다.
- Unreal Engine 5의 경우 Editor에서 화면 오른쪽 상단의 packaging을 선택하면 이제 Linux 옵션을 선택할 수 있습니다. UE 4.26 및 UE 4.27의 경우 패키징 옵션은 File 탭에 있습니다.
- Server 및 Shipping에 대한 구성을 확인하고 빌드할 __Linux__를 선택한 다음 출력 디렉터리를 선택합니다.
Linux 서버의 Docker 이미지 생성
이 섹션에서는 Linux 서버가 포함된 Docker 이미지를 설정합니다.- Linux 서버를 만들었으니 해당 디렉터리로 이동합니다(Windows 탐색기 또는 원하는 터미널).
Dockerfile이라는 새 파일을 만듭니다.- 원하는 편집기(notepad, vim, emacs 등)로 파일을 편집합니다.
- 아래에 표시된 내용을 복사하여 붙여넣습니다. [YourProjectNameServer].sh를 자신의 Linux 서버 실행 파일 이름(동일한 디렉터리)으로 반드시 바꿉니다.
- 원하는 터미널을 사용하여 Linux 서버 디렉터리로 이동합니다.
- Windows 사용자는 일반적으로 cmd 또는 powershell을 사용하지만 타사 도구 또는 WSL을 통한 bash도 사용할 수 있습니다.
- Mac 및 Linux 사용자는 일반적으로 bash를 사용합니다.
- 실행:
docker build -t "[imageName]:[tag]" .(여기서 imageName 및 tag는 원하는 옵션).- 이 이름을 기억하세요. 다시 사용합니다.
- 예를 들면 각각 YourProjectNameServer 및 01과 같을 수 있습니다.
- tag 요소는 일반적으로 서버 인스턴스의 버전을 지정하는 데 사용됩니다.
- 이러한 태그는 이후 단계에서 사용됩니다.
- imageName과 tag를 잊어버린 경우 터미널에 docker images를 입력하여 검색할 수 있습니다.
- 터미널에 docker images를 입력하여 Docker 이미지의 성공적인 생성을 확인합니다.
- 이후 명령을 위해 이 터미널 창을 열어두고 별도로 유지합니다.
- (이후 단계에서 [Docker 터미널]로 표시됨)
PlayFab Azure 레지스트리에 컨테이너 이미지 업로드
이 시점에서 Docker 이미지를 PlayFab Azure Container Registry에 푸시하여 PlayFab에서 빌드를 시작하는 데 사용할 준비가 되었습니다.- PlayFab 개발자 포털로 이동합니다.
- 타이틀을 선택합니다.
- 왼쪽에서 Multiplayer 탭을 선택합니다.
- 화면 오른쪽에서 New Build를 선택합니다.
- 이름을 선택합니다.
- VM 유형을 선택합니다. ThirdPersonMP 프로젝트의 경우 **Dasv4 (2 cores)**로 충분합니다.
- Server Details에서 Server Type을 Container로, Operating System을 Linux로 설정합니다.
- Upload to container registry를 선택합니다.
- 팝업되는 창에서:
- 이 창에서 [AzureUsername]을 기억하세요. 다음 단계에서 여러 번 사용됩니다.
- Copy Docker Login Command를 선택합니다.
- {Docker 터미널} 창으로 돌아갑니다.
- Docker Login 명령을 [Docker 터미널]에 붙여넣습니다. 이 명령은 PlayFab에서 사용하는 Azure 레지스트리에 로그인합니다.
- 입력:
docker tag [imageName]:[tag] [AzureUsername].azurecr.io/[imageName]:[tag] - 입력:
docker push [AzureUsername].azurecr.io/[imageName]:[tag] - AzureUsername은 PlayFab 개발자 포털에 표시되었고, imageName 및 tag는 이전에 선택한 값입니다.
- PlayFab 웹사이트로 돌아가서 New Build 페이지의 Server Details 아래에서 Container image 옆의 Refresh를 선택합니다.
- 화살표 버튼을 클릭하면 업로드한 Docker 이미지와 해당 태그를 보고 선택할 수 있습니다.
- Regions 블록에서 가까운 지역을 선택하고 Standby 및 Max를 모두 1로 설정합니다(테스트 목적).
- Network 블록에서 Port Name 필드를
gameport로 설정합니다.- 게임 서버에 연결하는 데 사용될 포트를 정의하는 것은 필수입니다.
- Unreal GSDK에는 이 포트를 자동으로 읽고 내부적으로 이 값에 따라 Unreal Server 호스트 포트를 재정의하는 코드가 포함되어 있습니다.
- 이 포트의 이름은 반드시
gameport여야 합니다.
- Add Build를 선택하고 빌드 상태가 Deployed가 될 때까지 기다립니다.
