[UE5] 멀티플레이 : 데디케이티드 서버 연결

수민·2023년 5월 15일
0

[Unreal5] Study

목록 보기
2/4
post-thumbnail

언리얼 소스코드 다운받기

1. 언리얼 깃허브에서 소스코드 다운받기

https://www.unrealengine.com/ko/ue-on-github

깃허브 계정을 에픽게임즈 계정이랑 연결하면 다운받을 수 있당.

지금 개발하고 있는 프로젝트가 5.0.3이니까
Tags에서 5.0.3 릴리즈 버전을 다운받는당.

2. 압축 풀고 실행하기

이렇게 다운받으면 압축을 푼다.
근데 경로가 너무 길어서 자꾸 에러가 나길래

이렇게 경로 이름을 극단적으로 줄여서 (ㅋㅋ)
압축해제했다.

Setup.bat 실행하고

GenerateProjectFiles.bat도 실행하고

UE5.sln을 실행한다.

3. 빌드

UE5를 시작 프로젝트로 설정한 다음에
Development Editor, Win64 버전으로 선택하고

빌..드....

대충 자고 오면 된다!


테스트 클라이언트 생성

4. 예제 클라이언트 프로젝트 생성

그리고 이제 다운받은 버전과 같은 버전으로 3인칭 기본 프로젝트를 만든다.

그리고 생성했으면

이렇게 Switch Unreal Engine Version을 클릭하고

방금 빌드한 버전으로 선택한다.
그리고 다시 Generate Visual Studio Project files를 클릭한다.

그리고

프로젝트명.Target.cs 파일을 복사해서
프로젝트명Server.Target.cs파일을 만든다.

내가 만든 프로젝트 이름은 DS_Test

내용은 다음과 같이 만들면 된다.

DS_TestServer.Target.cs

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class DS_TestServerTarget : TargetRules
{
	public DS_TestServerTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Server;
		DefaultBuildSettings = BuildSettingsVersion.V2;
		ExtraModuleNames.Add("DS_Test");
	}
}

수정할 부분은 클래스 이름, TargetType 정도?

다 했으면
Development Editor로 빌드 한 다음에
Development Server로 한 번 더 빌드하면 된다.


5. 클라이언트 설정


기본 레벨을 복사한 뒤에
DS_TestEntry로 하나, TransitionMap으로 하나씩 만들어 준 뒤
레벨을 저장해서 _BuiltData파일도 만들어준다.

프로젝트 세팅 > 맵 & 모드
이렇게 설정해준다.

그리고
프로젝트 세팅 > 패키징
이렇게 설정해준다.
(_BuiltData파일 말고 .umap파일로 설정한다)

그리고
프로젝트 설정 > 입력

이렇게 콘솔키를 설정해줘서
콘솔에서 명령어를 실행할 수 있도록 한다.


6. 패키징

언리얼5 기준
이렇게 플랫폼에 들어가면
패키징이 나온다.
여기서
빌드 타깃을 DS_Test로 한 번, DS_TestServer로 한 번 해준다.


이렇게 패키징된 프로젝트의 위치를 설정해달라 하는데
난 이미 했으니까
이렇게 된다.

패키징 됐다 치고
실행하러 가보면

Pakaged > WindowsServer

DS_TestServer.exe를 우클릭해서 바로가기 만들기를 한 뒤에
이름을 DS_TestServer.exe - 바로가기 -> DS_TestServer.exe - ThirdPersonMap으로 바꿔주고
우클릭 > 속성

대상 뒤에 -log를 붙여준다.

그러면 준비 끗


실행

방금 만들어 놓은 서버 바로가기를 클릭하면

이런식으로 두둥.. 금방 뜬다.

Pakaged > Windows 에 들어가서
DS_Test.exe를 실행하자.

여기서
입력한 콘솔키를 누르고 open 127.0.0.1을 입력한다.

그러면

두둥
화면이 변하고,

이렇게 서버에 로그가 찍힌다.

하나 더 실행해보면,

잘된다
^___^


나는 사실..
open 127.0.0.1 때문인지
자꾸 연결이 안되고,
클라를 에디터에서 실행해야만 연결이 됐었다...
시간을 많이 잡아먹어서 슬플 따름...


참조

https://docs.unrealengine.com/5.0/ko/setting-up-dedicated-servers-in-unreal-engine/
https://ljhyunstory.tistory.com/31
https://ggjjdiary.tistory.com/57

profile
우하하

0개의 댓글