For the complete documentation index, see llms.txt. This page is also available as Markdown.

더 많은 빌드 방법

이러한 접근 방식은 일반적으로 더 느리고 Unreal Engine에 대한 더 깊은 이해가 필요합니다.

더 고급 Unreal Engine 및 Edgegap 사용자를 위한 대체 빌드 방법을 살펴보세요:

  1. 더 많은 빌드 방법 는 지속적 통합에 적합한 빠르고 자동화된 방법입니다.

  2. ⚡ 플러그인으로 빌드 는 Unreal Engine을 소스에서 빌드해야 하는 기존 빌드 방법입니다.

⚡ 스크립트로 빌드

스크립트를 사용한 빌드는 지속적 통합에 적합한 빠르고 완전 자동화된 쉬운 방법입니다.

준비

시작하기 전에 반드시 Edgegap에 무료 계정을 생성하세요 (신용카드 불필요).

개발 머신에서 몇 가지 필수 항목을 구성하세요:

Docker Desktop(또는 Docker CLI) 설치
GitHub에서 언리얼 엔진 리소스에 접근하기
GitHub 개인 액세스 토큰(클래식) 생성
  • 권한만 활성화 [read:packages] ,

  • 토큰 생성 - 이 값을 안전하게 보관하세요. 다시는 볼 수 없습니다.

1. 프로젝트 구성

Windows, Mac 또는 Linux 기기를 사용하든 상관없이, 당신은 서버를 Linux 런타임용으로 빌드해야 합니다., 대부분의 클라우드 제공업체(Edgegap 포함)가 현재 Linux에서 실행되기 때문입니다. 걱정하지 마세요, Linux 지식은 필요하지 않습니다.

☑️ Unreal Engine 버전 호환성 검사 비활성화 전용 서버용 및 설정 IpNetDriver 기본 드라이버 또는 대체 드라이버로 복제 네트워킹용:

☑️ Unreal Engine 재시작 최신 변경 사항을 다시 불러오려면.

☑️ 전용 서버 타겟 스크립트 생성 다음을 복사하여 <PROJECT>Editor.Target.cs 프로젝트 루트 폴더의 파일을 복사하고 복사본의 이름을 <PROJECT>Server.Target.cs.

☑️ 다음에 대한 참조를 바꾸세요 단어 Editor Server 서버 타겟 스크립트에서.

☑️ 서버 빌드 기본값 수정 서버 타겟 스크립트를 편집하여:

✅ 이제 다음 단계로 진행할 수 있습니다.

선택 사항: 스팀 통합

다음으로 스팀 통합사용하려면 IpNetDriver 를 기본 네트 드라이버로 설정하고 다음을 확인하세요 리눅스용 64비트 steamclient.so 파일이 이미지의 경로에 복사되어 있는지 /home/ubuntu/.steam/sdk64/ .

steamclient.so 다운로드

2. 빌드 및 게시

개발자 팀과 함께 작업하면 코드를 공유해야 합니다. 문제가 발생했을 때 듣고 싶은 마지막 말은 “내 환경에서는 잘 돼”일 것입니다. 게임 서버는 전 세계 수천 대의 서버 머신에서 안정적으로 실행되어야 합니다.

서버를 안정적으로 만들기 위해 Docker를 사용합니다 - 운영 체제 수준까지 서버 코드의 모든 종속성이 어디서 어떻게 서버가 시작되든 항상 정확히 동일하도록 보장하는 가상화 소프트웨어입니다.

시청을 권장합니다 "로컬에 설치하지 마세요" (비디오). Docker를 사용할 때 Dockerhub를 사용할 필요는 없습니다Docker ≠ Dockerhub. Docker를 프로그래밍 엔진으로 보고 Dockerhub를 앱 스토어로 생각하세요.

☑️ Docker가 설치되어 실행 중인지 확인하세요.

☑️ 저희 Edgegap Build Utils를 다운로드하세요 다음을 포함하여:

  • 플랫폼별 빌드 스크립트:

    • BuildAndUpload.ps1 Windows용,

    • BuildAndUpload.sh macOS 및 Linux용,

  • Dockerfile - Docker 이미지 빌드를 위한 레시피,

  • dockerignore - 빌드를 제거하고 속도를 높이기 위한 비핵심 파일 목록,

  • StartServer.sh - 런타임에서 Unreal Engine 수명 주기를 관리하는 유틸리티 스크립트.

☑️ 다음을 이동하세요 edgegap-unreal-buildutils 폴더를 프로젝트 루트 디렉터리로.

☑️ 다음을 편집하세요 BuildAndUpload 스크립트를 플랫폼에 맞게 다음을 구성하기 위해:

  • Linux 서버용 사전 빌드된 Unreal Engine 이미지를 가져오는 데 사용되는 GitHub 자격 증명,

  • 프로젝트 세부 정보 - 엔진 버전, 서버 구성, .uproject 파일 이름,

  • Edgegap 레지스트리 완료된 빌드를 업로드하는 데 사용되는 자격 증명.

☑️ 편집한 스크립트를 실행하세요 빌드 및 업로드 프로세스를 시작합니다. 이 단계를 완료하면 새 이미지가 다음에 추가됩니다 저장소의 Edgegap Container Registry 대시보드 페이지.

☑️ 자동으로 다음으로 리디렉션됩니다 새 항목을 생성하세요 앱 및 버전 에서 대시보드.

✅ 이제 다음 단계로 진행할 수 있습니다. 다음으로 건너뛰세요 더 많은 빌드 방법.

문제 해결 및 FAQ

오류: Build 함수를 실행하지 못했습니다: Dockerfile은 비어 있을 수 없습니다

  • 일부 플러그인 소스가 누락되었을 수 있습니다 Dockerfile 및/또는 StartServer.sh , GitHub의 플러그인 소스 버전에서 이 파일들의 복사본을 로컬 플러그인으로 가져오세요.


open //./pipe/dockerDesktopLinuxEngine: 시스템에서 지정된 파일을 찾을 수 없습니다.

  • 개발 머신에서 Docker가 실행 중인지 확인하세요.


잘못된 참조 형식 EdgegapLog: 경고: OnContainerizeCallback: 컨테이너를 생성할 수 없습니다. 메시지: 실패

  • 애플리케이션 이름이 설정되어 있고 끝에 공백이 포함되어 있지 않은지 확인하세요.

  • 편집을 마쳤을 때 Enter 키를 눌러 입력 값을 확인하세요.


프로젝트를 빌드할 때 대상 'ProjectName'에 대한 대상 규칙 파일을 찾을 수 없습니까?

  • 다음에서 빌드 구성을 변경하세요 XYZServerTarget.cs 파일:


403 금지됨, 컨테이너를 푸시할 수 없습니다. 메시지: 실패

  • Docker 자격 증명이 올바르게 설정되어 있는지 확인하세요.

  • Edgegap Container Registry를 사용하는 경우, 사용자 이름에 app-version-pull 이 포함되지 않도록 하세요. 이는 이미지를 가져오기만 허용하는 프로필입니다. 대신 프로필은 계정 이메일과 비슷해야 합니다.

  • 계정의 Container Registry에 충분한 여유 공간이 있는지 확인하세요. 다음을 시도해 보는 것을 권장합니다. 더 많은 빌드 방법, 그리고 오래된 이미지를 삭제하기 위해 API를 사용하는 것. 이미지는 삭제될 때까지 백업용으로 로컬 머신에 저장됩니다.

⚡ 플러그인으로 빌드

저희 기존 플러그인에는 고급 유틸리티가 포함되어 있으며, Unreal Engine을 소스에서 빌드해야 합니다.

준비

시작하기 전에 반드시 Edgegap에 무료 계정을 생성하세요 (신용카드 불필요).

개발 머신에서 몇 가지 필수 항목을 구성하세요:

Docker Desktop(또는 Docker CLI) 설치
GitHub에서 언리얼 엔진 리소스에 접근하기
개발 환경 구성
공식 Edgegap Unreal Engine 플러그인 설치

다음 공식 플러그인 중 하나를 선택하세요:

1. 프로젝트 구성

Windows, Mac 또는 Linux 기기를 사용하든 상관없이, 당신은 서버를 Linux 런타임용으로 빌드해야 합니다., 대부분의 클라우드 제공업체(Edgegap 포함)가 현재 Linux에서 실행되기 때문입니다. 걱정하지 마세요, Linux 지식은 필요하지 않습니다.

☑️ Unreal Engine 버전을 소스에서 빌드하세요 개발 머신에서,

  • 설치하세요 특정 릴리스 브랜치(예: 5.5) 안정적인 기반 위에서 빌드하려면,

  • 솔리드 스테이트 드라이브(SSD)를 사용하세요 빌드 속도를 높이기 위해(~12시간 이상에서 ~2시간 이상으로),

  • 이는 처음 한 번만 필요하며, Unreal Engine 버전을 업그레이드할 때마다 필요합니다.

☑️ Unreal 크로스 컴파일 도구 체인 설치 Linux용 게임 서버를 빌드하기 위해.

☑️ 개발 머신을 다시 시작하세요, 그렇지 않으면 나중에 오류가 발생합니다!

☑️ Unreal Engine 버전 호환성 검사 비활성화 전용 서버용 및 설정 IpNetDriver 기본 드라이버 또는 대체 드라이버로 복제 네트워킹용:

☑️ Unreal Engine 재시작 최신 변경 사항을 다시 불러오려면.

☑️ 전용 서버 타겟 스크립트 생성 다음을 복사하여 <PROJECT>Editor.Target.cs 프로젝트 루트 폴더의 파일을 복사하고 복사본의 이름을 <PROJECT>Server.Target.cs.

☑️ 다음에 대한 참조를 바꾸세요 단어 Editor Server 서버 타겟 스크립트에서.

☑️ 서버 빌드 기본값 수정 서버 타겟 스크립트를 편집하여:

✅ 이제 다음 단계로 진행할 수 있습니다.

선택 사항: 스팀 통합

다음으로 스팀 통합사용하려면 IpNetDriver 를 기본 네트 드라이버로 설정하고 다음을 확인하세요 리눅스용 64비트 steamclient.so 파일이 이미지의 경로에 복사되어 있는지 /home/ubuntu/.steam/sdk64/ .

steamclient.so 다운로드

2. 빌드 및 게시

개발자 팀과 함께 작업하면 코드를 공유해야 합니다. 문제가 발생했을 때 듣고 싶은 마지막 말은 “내 환경에서는 잘 돼”일 것입니다. 게임 서버는 전 세계 수천 대의 서버 머신에서 안정적으로 실행되어야 합니다.

서버를 안정적으로 만들기 위해 Docker를 사용합니다 - 운영 체제 수준까지 서버 코드의 모든 종속성이 어디서 어떻게 서버가 시작되든 항상 정확히 동일하도록 보장하는 가상화 소프트웨어입니다.

시청을 권장합니다 "로컬에 설치하지 마세요" (비디오). Docker를 사용할 때 Dockerhub를 사용할 필요는 없습니다Docker ≠ Dockerhub. Docker를 프로그래밍 엔진으로 보고 Dockerhub를 앱 스토어로 생각하세요.

☑️ Docker가 설치되어 실행 중인지 확인하세요.

☑️ 저희 플러그인을 다시 빌드하세요 소스에서 빌드한 사용자 지정 Unreal Engine 버전에 맞게.

☑️ 컴파일된 플러그인을 복사하세요 다음으로 Plugins 폴더 Unreal 프로젝트의 루트에 있는 (엔진이 아닙니다).

☑️ 새 Unreal Engine을 실행하세요 Visual Studio에서 실행하고 툴바 항목 Edit / Plugins를 여세요.

☑️ 플러그인을 활성화하세요 섹션에서 INSTALLED / Other.

☑️ 플러그인을 구성하세요 툴바 항목을 열어 Edit / Project Settings / Edgegap:

  • API 토큰 은 Edgegap에 서버를 업로드하는 데 필요하며, Get Token을 클릭하여 받을 수 있습니다.

  • 애플리케이션 이름 Edgegap의 항목 이름은 프로젝트 이름과 같게 하거나 사용자 지정할 수 있으며, 소문자, 숫자 또는 대시 문자만 사용해야 합니다 - 그리고 밑줄 _.

  • 이미지 경로 는 Edgegap에서 게임 서버용 사용자 지정 아이콘을 선택적으로 제공합니다. 지금은 건너뛰세요.

  • 버전 이름 은 클라이언트/서버 호환성을 추적하고 문제가 있을 때 롤백하는 데 유용합니다.

    • 타임스탬프는 앱 버전 이름으로 훌륭한 선택입니다. 예: 2024.01.30-16.50.20-UTC .

    • 여러 애플리케이션 버전이 동일한 이미지 태그를 가리킬 수 있습니다. 예: v1.1.0dev .

    • 자세히 알아보기 앱 및 버전 는 나중에.

☑️ 클릭하세요 애플리케이션 생성. 이 단계를 완료하면 다음이 생성됩니다 새 애플리케이션이 표시됩니다 에서 Edgegap 대시보드.

☑️ 지금은 사용자 지정 컨테이너 레지스트리 설정을 건너뛰세요. 나중에 원하시면 타사 레지스트리를 사용할 수 있습니다.

☑️ 구성이 마음에 들면 빌드 및 푸시, 프로세스가 끝날 때까지 기다린 후 Unreal 콘솔에 새로운 오류가 없는지 확인하세요. 이 단계를 완료하면 다음이 생성됩니다 프로젝트 루트에 새 폴더가 생성됩니다 - Saved/LinuxServer. 또한 새 이미지가 이제 다음에 표시됩니다 저장소 아래의 Edgegap Container Registry 대시보드 페이지, 그리고 새 앱 및 버전 다음에 표시됩니다 애플리케이션 아래의 대시보드.

☑️ 새 애플리케이션 버전에서 환경 변수 TARGET_FILE_NAME 을 다음과 일치하도록 설정하세요 DefaultServerTarget 이전 단계의 값 더 많은 빌드 방법.

✅ 이제 다음 단계로 진행할 수 있습니다.

문제 해결 및 FAQ

오류: Build 함수를 실행하지 못했습니다: Dockerfile은 비어 있을 수 없습니다

  • 일부 플러그인 소스가 누락되었을 수 있습니다 Dockerfile 및/또는 StartServer.sh , GitHub의 플러그인 소스 버전에서 이 파일들의 복사본을 로컬 플러그인으로 가져오세요.


open //./pipe/dockerDesktopLinuxEngine: 시스템에서 지정된 파일을 찾을 수 없습니다.

  • 개발 머신에서 Docker가 실행 중인지 확인하세요.


잘못된 참조 형식 EdgegapLog: 경고: OnContainerizeCallback: 컨테이너를 생성할 수 없습니다. 메시지: 실패

  • 애플리케이션 이름이 설정되어 있고 끝에 공백이 포함되어 있지 않은지 확인하세요.

  • 편집을 마쳤을 때 Enter 키를 눌러 입력 값을 확인하세요.


프로젝트를 빌드할 때 대상 'ProjectName'에 대한 대상 규칙 파일을 찾을 수 없습니까?

  • 다음에서 빌드 구성을 변경하세요 XYZServerTarget.cs 파일:


403 금지됨, 컨테이너를 푸시할 수 없습니다. 메시지: 실패

  • Docker 자격 증명이 올바르게 설정되어 있는지 확인하세요.

  • Edgegap Container Registry를 사용하는 경우, 사용자 이름에 app-version-pull 이 포함되지 않도록 하세요. 이는 이미지를 가져오기만 허용하는 프로필입니다. 대신 프로필은 계정 이메일과 비슷해야 합니다.

  • 계정의 Container Registry에 충분한 여유 공간이 있는지 확인하세요. 다음을 시도해 보는 것을 권장합니다. 더 많은 빌드 방법, 그리고 오래된 이미지를 삭제하기 위해 API를 사용하는 것. 이미지는 삭제될 때까지 백업용으로 로컬 머신에 저장됩니다.

👉 다음 단계

다음으로 계속 Unreal Engine 저희의 대시보드 배포 기능을 사용하고 배포 중지, 주입된 변수와 매개변수화, 서버 검색 가능성에 대해 더 알아보세요.

마지막 업데이트

도움이 되었나요?