EOS 로비 통합

이 가이드는 Unreal 게임 프로젝트에서 EOS 로비와 함께 작동하도록 Edgegap을 통합하는 방법을 보여줍니다. 일부 단계에서는 토큰을 사용하여 당사의 API에 요청을 보내야 하며, curl 아래 제공된 명령은 각 응답을 미리 확인하여 코드에서 어떻게 처리할지 결정할 수 있도록 해줍니다. 요청에 토큰을 사용할 때는 토큰 키워드를 안전하게 보관해야 합니다.

또한 당사 플랫폼에 애플리케이션 버전이 이미 설정되어 있어야 합니다. 이 경우 테스트 과정을 빠르게 하기 위해 Edgegap Unreal 플러그인 사용을 권장합니다. 플러그인에 대한 자세한 내용은 당사 문서를 여기.

circle-exclamation

1. 플레이어의 공용 IP 가져오기 및 저장

우선, 로비에 합류하는 각 플레이어(로비 소유자 포함)는 자신의 공용 IP를 가져와서 로비 멤버 속성arrow-up-right.

curl --location --request GET 'https://api.edgegap.com/v1/ip' \
--header 'Authorization: [EDGEGAP_API_TOKEN]'

2. 배포 생성

로비 소유자가 매치가 시작할 준비가 되었다고 결정하면 저장된 공용 IP를 사용하여 Edgegap에 새 배포를 생성하는 요청을 보내야 합니다.

curl --location --request POST 'https://api.edgegap.com/v1/deploy' \
--header 'Content-Type: application/json' \
--header 'Authorization: [EDGEGAP_API_TOKEN]' \
--data-raw '{
    "app_name": "[EDGEGAP_APP_NAME]",
    "version_name": "[EDGEGAP_APP_VERSION]",
    "ip_list": [
        "[LOBBY_MEMBER_IP]"
    ]
}'

그 후 로비 소유자는 배포 생성 요청의 응답에 제공된 request_id를 사용하여 배포를 계속 폴링해야 합니다. 응답에 배포의 current_statusREADY로 설정되면 로비 소유자는 배포의 IP 및 포트 값을 EOS 로비 속성arrow-up-right.

3. 배포에 연결

플레이어들이 IP 및 포트 값이 할당되었다는 알림을 받으면 해당 값을 클라이언트 캐시와 비교한 다음 서버에 연결하여 매치를 플레이할 수 있습니다.

4. 매치 및 배포 종료

매치가 끝나면 로비 소유자는 EOS 로비 속성에서 IP 및 포트 값을 해제하여 다른 모든 사람에게 서버에서 정상적으로 연결을 끊으라는 알림을 보냅니다. 애플리케이션이 환경 변수를 주입하도록 구성되어 있으면 이 시점에 내부에서 배포를 종료하는 데 이를 사용할 수 있습니다.

서버 외부에서 배포를 종료하려면 아래에 표시된 curl 명령과 같은 요청을 대신 사용할 수 있습니다.

플레이어가 로비에 남아 있는 경우 로비 소유자는 동일한 사람들과 재경기를 시작하기 위해 새 배포를 요청하는 단계부터 다시 반복할 수 있습니다.

마지막 업데이트

도움이 되었나요?