- 개요
백엔드와 관련된 기능을 수행하는 DedicatedServers 모듈을 생성한다
따라서 기존 게임 모듈에서 갖고 있던 백엔드 및 서버와 관련된 작업들을 해당 모듈로 이관한다
- C++ 사이드
1) DedicatedServers 모듈 관련
1 - 1) DedicatedServers.build.cs 파일

DedicatedServers 모듈에 관련된 build.cs 파일을 생성한다
이때 서버이거나 에디터인 경우에만 GameLiftServerSDK 모듈을 참조하여 AWS GameLift와 통신한다
1 - 2) DedicatedServers.h 파일과 DedicatedServers.cpp 파일


cpp 파일에서 IMPLEMENT_MODULE 매크로를 사용하여 DedicatedServers 모듈을 결정한다
1 - 3) DSGameMode 클래스

GameMode 클래스는 게임의 기본적인 규칙을 정의하는 클래스로 서버에만 존재한다
따라서 GameMode를 주 모듈에서 DedicatedServers 모듈로 이관한다
GameMode 클래스의 전용로그를 위와 같이 수정하고
DedicatedServers_API로 수정하여 외부에서 해당 클래스를 참조할 수 있도록 설정한다

cpp 파일은 클래스의 이름과 로그를 수정한 것 외에는 기존의 GameMode 클래스와 동일하다
2) 게임 모듈(주 모듈) 관련
2 - 1) FPSTemplate.build.cs 파일

주 모듈에서 참조하는 다른 모듈들을 위와 같이 수정하였다
DedicatedServers 모듈을 해당 프로젝트에서 참조할 수 있도록 설정한다
2 - 2) 에디터 + 서버 + 클라이언트 대상의 target.cs 파일



에디터 + 서버 + 클라이언트 대상의 빌드 구성을 지정하는 target.cs 파일에서 DedicatedServers 모듈을 참조한다
2 - 3) FPSTemplate.uproject 파일

uproject 확장자를 갖고 있는 project는 모듈과 플러그인을 모두 포함하는 가장 최상위 요소이다
현재 프로젝트의 uproject에서 DedicatedServers 모듈을 포함하도록 설정한다
2 - 4) ShooterGameModeBase 클래스

기존의 부모 클래스로 사용하던 AGameMode를 제거하고
DedicatedServers 모듈의 DS_GameMode를 부모로 사용하도록 설정한다
- 애셋 작업
1) BP_ShooterGameModeBase 블루프린트

ShooterGameModeBase를 부모로 하는 GameMode 블루프린트를 생성한다

부모 버전의 BeginPlay 함수를 호출하여 서버라면 AWS GameLift에 연결한다

생성한 GameMode의 구성요소를 위와 같이 설정한다

project settings - Default Modes 설정에서 기본적으로 사용할 GameMode를 설정한다
- 최종 실행 결과

'언리얼 엔진 - 게임 프로젝트 > AWS GameLift를 활용한 데디케이트 FPS 프로젝트' 카테고리의 다른 글
| API Gateway - 5) 중재자와 엔드포인트 데이터 애셋의 생성 (0) | 2026.05.15 |
|---|---|
| API Gateway - 4) API Gateway 테스트용 위젯 생성 (0) | 2026.05.14 |
| API Gateway - 2) REST API 생성 (0) | 2026.05.10 |
| API Gateway - 1) 계획 (0) | 2026.05.09 |
| AWS Lambda - 최종) 예외처리 (0) | 2026.05.07 |