Post

[TIL] Unreal 데디케이트 서버 접속 테스트

[TIL] Unreal 데디케이트 서버 접속 테스트

오늘 한 것

오늘 한 것
Git에서 언리얼 소스 코드 다운로드 및 빌드
언리얼 프로젝트 Windows 데디케이트 서버 패키징
서버/클라이언트 타겟 설정 이유 분석
소스 엔진 빌드 사용 당위성 학습
Open 127.0.0.1:7777 로컬 서버 접속 명령어 및 메커니즘 분석

Unreal 루프백 로그인

새롭게 배운 점

  • Target.cs 분리 이유
    • 서버 전용 바이너리에는 렌더링, UI, 오디오 코드가 필요 없음.
    • 빌드 타겟을 분리하여 서버 실행 파일 용량을 줄이고 메모리를 최적화함.
    • 클라이언트 코드와 서버 코드를 물리적으로 격리하여 보안을 강화함.
  • 소스 엔진 빌드가 필수인 이유
    • 에픽게임즈 런처 버전은 데디케이트 서버 타겟 빌드를 지원하지 않음.
    • 소스 코드를 직접 수정하거나 엔진 레벨의 최적화 플래그를 수정해야 함.
    • 콘솔, 모바일, 리눅스 서버 등 크로스 플랫폼 빌드 환경을 제어하기 위함.
  • Open 127.0.0.1:7777 명령어의 작동 원리
    • Open: 레벨 전환 및 네트워크 서버 접속용 엔진 콘솔 명령어임.
    • 127.0.0.1: 루프백 주소(로컬호스트)로 외부 망을 타지 않고 본인 PC를 가리킴.
    • 7777: 언리얼 데디케이트 서버가 클라이언트 접속을 대기하는 기본 포트임.
    • 명령어 입력 시 서버와 핸드셰이크를 거쳐 현재 맵을 닫고 서버와 동일한 레벨을 로딩함.
    • 연결 성공 직후부터 서버가 관리하는 액터와 데이터 동기화(Replication)가 시작됨.

문제 해결 및 고민

  • Target.cs 설정 이해
    • 처음에는 복잡한 설정 방식에 의문이 생김.
    • 데디케이트 서버는 독립된 실행 파일로 구동되어야 함을 이해함.
  • 엔진 빌드 시간 소요
    • 런처 버전을 두고 왜 직접 빌드하는지 이해가 안 되었음.
    • 서버 패키징 환경 구축을 위한 필수 절차임을 검증함.
  • 접속 실패 케이스 분석
    • 서버 미구동 상태에서는 접속 실패 후 메인 화면으로 돌아가는 현상 확인.
    • 방화벽 차단 상태 및 서버/클라이언트 간 빌드 버전 불일치 시 연결이 끊어짐을 인지함. “””
This post is licensed under CC BY 4.0 by the author.

Trending Tags