본문 바로가기
Engine/Unreal

Unreal Dedicated Server 설정하기

by 뇌 속의 통 2025. 7. 10.

1. Epic Games의 Git으로 접속하여 Engine Source File을 다운받는다.

(에픽 게임즈 런처에서 제공해주는 버전에서는 Dedicated 설정이 불가하므로 반드시 Git에 올려진 엔진 소스 파일 전체를 받아야 한다.)

 

 

https://github.com/epicgames

 

Git에 대해 잘 모르겠다면 아래 포스팅을 읽어보시기 바랍니다.

https://happygmdevelop.tistory.com/3

 

Git & Github

Git이란 도대체 뭘까?많은 사람들이 코딩을 하다보면 자주 듣는 단어 중 하나로 나도 처음 들었을 땐 정말 이해가 가지 않는 단어 중 하나였다. Git은 뭐고 또 Github는 무엇인가? 그냥 VisualStudio 켜

happygmdevelop.tistory.com

 

Git Clone을 통해 로컬에 다운받고 나면 다운받은 소스파일의 버전을 바꿔줘야한다.

-> 안정성을 위해 버전을 변경해야한다. Release Version은 X. 계속해서 업데이트 되는 Version임.

 

버전을 바꾸는 방법은 2개가 있다.

 

1. TortoiseGit(GUI툴)을 사용하여 버전 변경.

 

 

2. Git 명령어로 변경

 

해당 Local 폴더에서 마우스 우클릭 -> Open Git Bash here 선택.

명령어 git branch -r 입력 후 엔터.

 

그러면 변경 가능한 모든 버전이 나옵니다.

이 중 원하는 버전을 정하고 git checkout [선택한 버전의 이름] 입력 후 엔터하면 내가 입력한 버전으로 변경됩니다.

 

 

버전 변경이 종료되면 UnrealEngine 폴더 안 Setup.bat 파일을 실행합니다.

-> 엔진이 의존하고 있는 외부 라이브러리 및 툴체인 설치(엔진 설정 파일을 최신 상태로 유지 및 프로젝트에 필요한 설정 적용).

-> 엔진에 필요한 API 설치.

 

설치가 완료되면 UnrealEngine의 GeneraterProjectFiles.bat 파일을 실행하여 Project File을 생성한다.

-> VisualStudio Project File, Uproject File 생성

 

 

이제 Dedicated용 Engine 설치가 모두 끝났다.

 

내가 Dedicated Server를 이용하여 만들 Project 폴더로 들어가서 해당 Uproject File의 UnrealEngine Version을 Dedicated Server 용 Version으로 변경해주도록 한다.

 

변경 후 해당 프로젝트에 들어가서 C++ Class 하나를 생성하여 C++ Project로 변경한다.

 

 

 

C++ Project로 변경하고 나면 생성된 sin File을 실행시킨다.

상단의 솔루션을 Development Editor로 변경 및 UE5 선택하여 Build를 진행한다.

 

 

빌드가 끝나면 uproject File을 실행하여 정상적으로 실행되는 지 확인한다.

정상적으로 실행된다면 Server Default Map을 설정(Dedicated Server 전용 맵)

 

 

맵 설정이 끝나면 해당 Project의 Source 폴더 안에 프로젝트명Server.Target.cs 파일을 만들어준다.

(기존에 있는 Editor.Target.cs 파일을 복사하여 Server 단어로만 바꿔주면 됨.)

 

생성한 Server.Target.cs 파일을 우클릭 -> 편집.

 

Editor 파일을 복붙해서 만들었기 때문에 내부에 Editor라고 적힌 부분을 모두 Server로 바꿔주면 된다.

총 3곳이 있다.

 

그 다음 uproject file, config, .git, Content, Source, .gitignore 파일을 제외한 모든 파일을 지우고 Uproject file 우클릭 -> Generate Visual Studio Project files를 선택하여 모든파일 다시 생성.

 

새로 생성된 sln 파일을 열어보면 프로젝트이름Server.Target.cs file이 정상적으로 들어가 있는 것을 확인할 수 있다.

 

 

Deploy

File을 올바른 위치로 배치시켜주는 작업.

배포를 위한 작업. Game -> Package -> Deploy 진행.

 

Package 진행 후 sln을 실행하여 솔루션을 Development Server로 변경 후 우리가 만든 Game Project 빌드 진행.

빌드가 정상적으로 되면 Project Folder -> Binaries -> Win64 -> 프로젝트이름Server.exe 및 관련 파일이 생성된다.

 

 

우선 Unreal Editor를 키고 Project Launcher를 실행시킨다.

 

 

Add로 새로운 작업을 추가하고 각 옵션에 맞게 값을 넣어주도록 하자.

 

 

**옵션설명

Project : 우리가 Deploy할 project를 선택.

 

Build : 환경설정.

  • Debug : 최적화된 엔진 빌드. 게임 코드를 디버그 가능한 상태로 남김. 모듈 디버깅 시 사용하는 옵션.
  • Develop : 출시 빌드와 동일한 환경설정. Default 값. Editor에서 변경된 Project Code 확인 가능.
  • Shipping : 게임을 발매할 때 사용하는 환경설정. 콘솔 명령, 통계, 프로파일링 툴을 완전히 제거.

Cook : 절차적(By The Book), 측흥적(On The Fly)으로 Project Contents Cooking하는 옵션.

(게임에 실제로 잘 작동할 수 있도록 Contents를 파일 형식으로 변환하는 옵션)

  • Cooked Platform : 사용할 기기 선택
  • Cooked Cultures : 사용할 언어 선택
  • Create a release version of the game for distribution : 게임을 최종 상태로 포장할 것인지.
  • 불필요한 파일 제거 및 최적화 진행.
  • Name of the new release to create : Game Version 이름 설정 ex) Summer Update
  • Release version this is based on : 이 Version이 어떤 Version 기반인지 설정
  • Generate Patch : 변경된 부분만 새로운 file로 Update
  • Build DLC : DLC로 만들었을 때 선택
  • Name of the DLC to build : DLC 이름 선택
  • Include Engine Content : 엔진이 필요한 추가 콘텐츠를 포함시킬지 결정
  • Iterative Cooking : 변경된 file만 다시 처리하여 빠르게 Cooking
  • Stage base release pak file : 기존 파일은 그대로 두고 새파일만 추가
  • Compress Content : 파일 크기를 줄이는 대신 로드 속도가 느려진다.(압축)
  • Add a new patch tier : 새로운 Patch 추가
  • Save Packages Without Versions : version 없이 Package 저장
  • UnrealPak : 모든 Contents를 하나의 Package file로 저장
  • Encrypt INI files : 설정 파일을 암호화하여 보안 강화
  • Generate Chunks : file을 여러 개의 Package file로 나눠서 저장
  • Don't include Editor content in the build : 에디터에서 사용하는 파일은 빌드에 포함하지 않음
  • (게임에 필요한 파일만 포함)
  • Create HTTP Chunk Install Data : 여러 file을 Download 가능한 형태로 준비.
  • HTTP Chunk Install Data Path : Download 가능한 Data file의 저장 경로 설정.
  • HTTP Chunk Install Release Name : HTTP Download 용 Data version 이름 설정
  • Cooker Build Configuration : 쿠킹 설정 선택
  • Additional Cooker Options : 추가 명령어 선택

 

 

Cook 옵션을 By The Book 으로 변경.

Target Platform : Windows Server

Cooked Cultures : en

Cooked Maps : Cooking할 맵으로 선택(테스트 맵은 빼서 리소스 크기를 줄이는 게 좋음) 

Deploy : Default Deploy Platform Windows

Launch As : Dedicated Server

Initial Culture : en

Initial Map : 게임을 시작할 맵.

변경 후 저장.

 

우측 하단의 Launch this profile 클릭.

 

작업이 모두 완료되면 Project foder에 Package → Windows 폴더의 file들이 Project Foder → Binaries → Win64 안에 생성된 것을 볼 수 있다.

 

이제 Server.exe를 생성시키면 Server가 실행된다.

(단, Background에서 실행중이므로 가시성이 떨어진다.)

 

가시성을 위해 Server.exe의 바로가기를 생성 → 속성 → 파일명에 “띄워쓰기 + -log”를 추가.

Server.exe -log를 실행시키면 이제 Log가 보인다.

 

 

**기타

- 최신 버전의 Engine은 쓰지 않는게 좋다.

Git에서 Engine Source 다운(Release 버전은 사용 X)

버전을 자주 바꾸는 건 좋지 않다. 계속 빌드해야함. 

'Engine > Unreal' 카테고리의 다른 글

언리얼 Enhanced Input System  (3) 2025.07.17
Unreal C++로 Black Jack Game 만들기(+열거형)  (4) 2025.07.09
언리얼의 기초 2  (0) 2025.01.06
언리얼 엔진의 기초  (0) 2024.11.27
언리얼 엔진에 fbx 파일 임포트 하기  (0) 2024.11.22