본문 바로가기

언리얼 엔진(Unreal Engine)/UE4

[UE4] 언리얼 엔진 데디케이티드 서버(Dedicated Server) (2)

반응형

 

지난번에는 언리얼 엔진 소스 코드를 다운해 예제 프로젝트까지 만들어봤습니다. 이번에는 서버를 만들어보겠습니다.

 

[이전 글]

[UE4] 언리얼 엔진 데디케이티드 서버(Dedicated Server) (1)


지난번 만든 테스트 프로젝트를 열어줍니다. 그리고 콘텐츠 브라우저에 있는 Maps 폴더를 밖으로 꺼내 콘텐츠 폴더의 하위 폴더로 만들어줍니다.

 

 

Maps 안에 새로운 레벨을 만들어줍시다. 아래와 같이 빈 레벨로 프로젝트명Entry 이름의 레벨을 만들어줍니다.

 

 

그리고 해당 레벨의 레벨 블루프린트를 열어서, BeginPlay 이벤트 노드를 Open Level(by Name) 함수 노드와 연결해주세요. 그리고 Level Name에 127.0.0.1을 넣어주세요.

 

 

Level Name에는 IP가 들어가게 됩니다. 지금은 로컬 IP로 설정했습니다. 만약 다른 사람이 이 서버로 접속하게 하려면 이곳에 본인 PC의 IP를 입력해서 배포해야합니다.

 

그 다음 3인칭 예제 레벨(ThirdPersonExampleMap)을 열어주세요. 그곳에 미리 배치되어 있는 3인칭 캐릭터를 삭제하고 옆에 있는 PlayerStart를 그 위치에 복사해주세요.

 

이어서 프로젝트 세팅을 열어서 맵&모드의 Default Maps에서 다음과 같이 바꿔주세요.

에디터 시작 맵 - 프로젝트명Entry

게임 기본 맵 - 프로젝트명Entry

트랜지션 맵 - 없음

서버 기본 맵 - ThirdPersonExampleMap

 

 

마찬가지로 프로젝트 세팅 - 패키징 - 패키징에서 아래와 같이 설정해주세요.

 

 

이제 패키징을 할 차례입니다. 파일 - 프로젝트 패키지 - 빌드 타깃이 TestProject로 되어있는지 확인하시고 Windows(64-bit)를 눌러주세요. 

 

 

경로를 설정하는 창이 나올텐데, 그곳에 Packaged 폴더를 추가하셔서 Packaged 폴더에 패키징 되도록 설정해주세요.

 

 

경로를 선택하시면 곧 바로 패키징이 시작됩니다. 시간이 좀 걸릴테니 잠깐 쉬고 오셔도 됩니다.

 

 

패키징에 실패한다면?

더보기
알 수 없는 에러라니 뭔 소리야?

 

PackagingResults: Error: Unknown Error

 

저도 처음에는 패키징이 안 돼서 고생했습니다. 프로젝트 오류인가 싶어서 새로 만들어보고, 소스 코드에 오류가 났나 싶어서 소스를 새로 받아서 처음부터 해봤지만 문제는 여전했습니다. 진짜 문제는 세팅의 문제였는데 말이죠...

 

제 생각에는 언리얼 엔진 내부에 있는 C# 코드에 대한 라이브러리가 없어서 났던 오류라고 생각했습니다. 그래서 라이브러리들을 설치해줬더니 세상에... 패키징이 잘 되네요. 비주얼 스튜디오 2022버전을 사용하시는 분들은 이 설정들을 빠뜨리셨는지 확인해주세요. 자세한 과정들은 아래 사진들을 참고해주세요.

1. Visual Studio Installer

1-1. 워크로드

 

1-2. 개별 구성 요소

 

설치가 완료되면 언리얼 엔진 소스를 열어서 리빌드 해주세요.

 

2. 에디터 개인세팅

 

설정이 다 끝나셨다면 패키징을 다시 진행해보세요. 이제 패키징이 잘 진행될 거예요.

 

패키징이 끝났다면 이어서 빌드 타깃을 Server로 바꿔서 패키징을 해주세요.

 

Packaged 폴더에 WindowsServer와 WindowsNoEditor 폴더가 생겼다면 성공입니다. 이제 서버를 열어볼 차례입니다. WindowsServer로 들어가주세요. 프로젝트명Server.exe 파일 바로 가기를 만들어서 이름의 바로 가기 부분을 ThirdPersonExampleMap으로 바꿔주세요.

 

 

그리고 우클릭 - 속성 - 대상에서 마지막 부분에 - log를 붙여주세요.

 

 

설정이 마쳤다면 이제 바로 가기를 실행시켜 줍니다. -log를 붙였으니 콘솔창에 로그가 나타날 거에요.

마지막에 Total time : ... seconds 가 나오면 서버가 다 열린겁니다.

 

 

이제 WindowsNoEditor 폴더에서 프로젝트명.exe 파일을 실행하면 서버에 접속이 됩니다. Alt + Tab 을 눌러서 여러 번 실행시켜 보세요. 한 공간에 여러 명의 플레이어가 나타날 거에요.!

 

 

지금까지 데디케이티드 서버를 여는 방법을 알아보았습니다. 여기까지 오는 과정이 결코 평탄하지는 않았지만, 덕분에 저는 뇌에 각인되어버려 잊어버릴 일이 없겠네요.


 

 

[Reference]

https://docs.unrealengine.com/4.26/ko/InteractiveExperiences/Networking/HowTo/DedicatedServers/

 

 

728x90