네트워크 에뮬레이션 사용

언리얼에서의 네트워크 에뮬레이션 사용 개요.

Choose your operating system:

Windows

macOS

Linux

단일 머신에서 멀티플레이어를 테스트하려면 게임 인스턴스를 여러 개 실행해서 하나는 서버 역할을 하고 나머지는 클라이언트 역할을 하게 해야 합니다. 보통은 그러면 리플리케이트된 데이터에 이상적인 조건을 갖춘 환경이 만들어집니다. 리플리케이트된 데이터는 적절한 시스템을 통해 실제 네트워크 환경에서와 유사하게 전달되지만, 지연이나 패킷 손실이 없으므로 최종 사용자에게 배포된 뒤에 어떻게 작동할지는 정확하게 파악할 수 없습니다. LAN 기반 테스트에도 비슷하게 이러한 조건이 적용되지 않습니다.

네트워크 에뮬레이션(Network Emulation) 은 서버와 클라이언트의 지연과 패킷 손실을 시뮬레이션합니다. 이 시뮬레이션은 네트워킹 환경에서 발생할 수 있는 문제를 식별하는 데 매우 중요합니다. 네트워크 에뮬레이션을 사용하려면 프로젝트 세팅(Project Settings) > 레벨 에디터(Level Editor) > 플레이(Play) > 멀티플레이어 옵션(Multiplayer Options) 으로 이동한 다음 네트워크 에뮬레이션 활성화(Enable Network Emulation) 세트를 활성화됨(Enabled) 으로 설정하세요. 그러면 네트워크 에뮬레이션 세팅이 활성화됩니다.

image_0.png

세팅 레퍼런스

네트워크 에뮬레이션 세팅은 에디터, 환경설정 파일, 콘솔을 통해 구성할 수 있습니다. 이러한 세팅에는 긴 지연시간, 패킷 손실, 지터 등 다양한 컨텍스트에서 활용할 수 있는 여러 방법이 함께 제공됩니다.

세팅

설명

PktLag

밀리초 단위로 지정된 시간만큼 패킷 전송을 지연합니다

PktLagVariance

패킷이 지연되는 시간을 밀리초 단위로 연장하거나 단축합니다

PktLoss

아웃바운드 패킷이 버려질 확률을 퍼센트로 지정하여 패킷 손실을 시뮬레이션합니다

PktDup

중복 패킷을 전송할 확률을 지정합니다

PktOrder

활성화되면 패킷을 순서 없이 전송합니다(1 = 활성화됨, 0 = 비활성화됨)

이 세팅은 명령줄 에서 구성하거나, 콘솔플레이 에서 실행하거나, Engine.INI 파일을 열어 환경설정할 수 있습니다.

명령줄 실행인자

명령줄 에서 다음을 사용하여 세팅을 지정합니다.

<SettingName>=<Value>

콘솔

콘솔 에서 다음을 사용합니다.

Net <SettingName>=<Value>

Default Engine.Ini

DefaultEngine.ini 파일에서 이러한 값을 설정하려면 다음 섹션을 추가하고 각 변수에 테스트할 값을 할당합니다.

[PacketSimulationSettings]
PktLag=0
PktLagVariance=0
PktLoss=0
PktOrder=0
PktDup=0

사용 추천

멀티플레이어 게임이 완벽한 연결 조건으로 실행되면 연결이 좋지 않을 때만 발생하는 여러 버그를 경험하지 않게 됩니다. 이러한 버그를 확실히 발견하려면 다음과 같은 극도로 열악한 조건에서 로컬 및 LAN 기반 테스트를 수행해야 합니다. 예시는 다음과 같습니다.

  • 왕복 핑 500회.

  • 패킷 손실 10% 이상.

에픽게임즈에서는 이러한 조건으로 협동 및 경쟁 게임플레이를 테스트합니다. 이를 통해 일반적인 테스트 조건에서 간과할 수 있는 다양한 버그와 악용을 포착하고 네트워크 성능 최적화를 강력하게 장려할 수 있습니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.