bolt배포

배포와 그 수명 주기에 대해 알아보세요 - 개념과 모범 사례로 더 깊이 이해할 수 있습니다.

🗺️ 오케스트레이션

클라우드 네이티브 엣지 컴퓨팅 접근 방식으로 몇 초 내에 새로운 서버를 시작하여 수요를 충족하세요. 우리는 서버를 애완동물보다 가축으로 취급합니다arrow-up-right - 각 인스턴스를 수동으로 유지하기보다 결함이 있는 인스턴스를 완전히 교체합니다.

circle-info

선택한 오케스트레이션은 당신의 데브옵스 비용, 서버 비용 및 확장성에 영향을 미칩니다.

circle-check

모든 장단점을 완전히 이해하려면 다양한 오케스트레이션 방법을 비교해봅시다.

매치 바운드

현대 스튜디오를 위한 골든 스탠더드로, 가장 쉬운 통합과 최고의 비용 효율을 제공합니다.

👍 장점

  • 최고의 비용 효율성 - 플레이어 수요에 따라 분 단위로 실시간 확장합니다.

  • 지역 구분 없는 호스팅으로 데브옵스 비용이 가장 낮습니다. Edgegap은 작업의 99%를 자동화합니다.

  • Edgegap의 퍼블릭 클라우드 인프라에 615개 이상의 사이트가 있어 가장 낮은 핑을 제공합니다.

  • 예상치 못한 트래픽 급증 시 가장 빠른 확장(버스트 능력)을 제공합니다.

  • 최고 수준의 보안과 플레이어 치팅 방지(서버 권한)를 제공합니다.

  • 예상치 못한 서버 충돌이 플레이어에게 미치는 영향이 최소화되어 단일 매치에만 영향을 줍니다.

👎 단점

  • 새로운 오케스트레이션 사고방식을 도입하려면 초기 학습 노력이 필요합니다.

  • 24시간 이상 실행되는 서버는 자동으로 종료됩니다.

🧩 적합한 대상

  • 지연에 민감한 게임 - 네트코드 최적화로도 높은 핑을 극복할 수 없을 때:

    • 1인칭 슈터, 격투 게임, VR 및 XR(가상 및 확장 현실) 등

  • 설계상 매치 지속 시간에 상한이 있는 게임,

    • 배틀로얄, PvPvE , 협동 슈터, MOBA, 스포츠 게임, ARPG 및 던전 크롤러 등

🔎 발견성

circle-info

Edgegap은 각 지역의 플레이어 활동에 따라 615개 이상의 모든 서버 위치를 자동으로 확장/축소합니다. 성공을 대비하세요 - 원활하게 60분 내에 1,400만 동시 사용자를 확장하세요arrow-up-right.

지역 대기

지속적인 월드와 사용자 생성 컨텐츠 및 소셜 MMO 게임을 위한 전통적 모델 익숙하고 이해하기 쉬운, 전통적인 접근 방식으로 경험 많은 베테랑들에게 친숙합니다..

👍 장점

  • 월간 약정 기반으로 비용 예측이 쉽습니다.

  • 최고 수준의 보안과 플레이어 치팅 방지(서버 권한)를 제공합니다.

  • 호스팅 비용이 더 높습니다 - 각 지역에는 하나 이상의 대기 서버(버스트 용량)가 필요합니다.

👎 단점

  • 데브옵스 비용이 더 높습니다 - 확장, 운영 및 유지보수가 지역별로 중복됩니다.

  • 플레이어 기반이 작은 지역은 멀리 있는 서버에 접속해 높은 핑을 경험합니다.

  • 플레이어가 오프라인일 때도 서버에 저장되는 사용자 생성 컨텐츠가 있는 지속적 월드.

🧩 적합한 대상

  • MMO, 기지 건설 또는 오브젝트 배치를 포함한 샌드박스, 추출형 슈터 등

    • 지연 허용 게임 -

  • 서버 권한 실시간 물리 계산이 필요하지 않을 때 모바일 게임, 협동 게임, TCG/CCG, 턴 기반 전략 등:

    • 비동기 멀티플레이어,

  • 서버 충돌이 플레이어 경험에 미치는 영향이 적은 경우: 유령과의 레이스, 적 기지 약탈, 타이머 기반 건설/농사 게임 등

    • 서버 준비에 몇 분이 걸리는 무거운 초기화 과정이 있는 애플리케이션.

  • 보려면

🔎 발견성

circle-info

에 대해 관리형 클러스터 Edgegap에서 마이크로서비스 및 백엔드 서비스를 자체 호스팅하는 을(를) 참조하세요. 피어 투 피어

개발 노력을

전용 서버에서 로 전환하세요 경쟁적이지 않은 게임을 위한 릴레이 네트코드로 관련 주제: 리슨 서버, 플레이어 호스트 권한, NAT 펀치스루..

NAT 펀치스루만 해결하는 릴레이 서버만 필요하여 호스팅 비용이 가장 낮습니다.

👍 장점

  • 데브옵스 비용이 가장 낮습니다 - 클라이언트 빌드와 배포 채널만 유지하면 됩니다.

  • 백엔드 개발 없이도 구현이 쉽고 프로토타입 제작이 빠릅니다.

  • 예상치 못한 서버 충돌이 플레이어에게 미치는 영향이 최소화되어 단일 매치에만 영향을 줍니다.

  • 동시성 프로그래밍 기술을 요구하는 피어 투 피어 네트코드 개발 노력이 증가합니다.

👎 단점

  • 가장 나쁜 핑 시간과 불리한 네트워크 조건(예: 모바일 인터넷)에 가장 민감합니다.

  • 보안이 가장 약하며 중간자 공격 및 세션 하이재킹에 취약합니다.

  • 호스트가 떠나면 세션이 중단될 위험이 있으며, 이를 막으려면 맞춤형 호스트 마이그레이션을 구현해야 합니다.

  • 협동 및 캐주얼 게임 -

🧩 적합한 대상

  • 치팅이 재미를 해치거나 게임을 망치지 않는 경우 키즈 게임, 탐험 게임, 어드벤처 등,

    • 우리의

🔎 발견성

어떤 오케스트레이션 방법을 선택하든, 플레이어 그룹에 적합한 서버 위치를 선택하는 것은 최적의 핑과 플레이어 경험을 보장하는 데 중요합니다. 서버 배치에 대한 다양한 전략과 그것이 플레이어에게 미치는 영향을 알아보세요.

서버 배치 전략은

circle-info

플레이어의 경험, 유지율 및 게임 리뷰에 영향을 미칩니다 Edgegap은.

circle-check
circle-info

에 대해 배포 경쟁적이지 않은 게임을 위한 릴레이 네트코드로 실시간으로 서버 배치를 분석하세요대규모로.

서버 점수

서버 점수 전략은 Edgegap의 특허받은 방법론을 사용하여 각 매치마다 서버 배치를 최적화합니다. 비침해적 텔레메트리를 수행해 각 플레이어의 네트워크 근접성을 우리 서버 위치에 근사화하고 최상의 성능을 제공하는 서버를 선택합니다:

  • 응답성 - 평균적으로 모든 플레이어에게 가장 낮은 핑을 제공합니다,

  • 공정성 - 모든 플레이어에게 균형 잡힌 공정한 핑을 제공합니다.

circle-check

와 함께 사용하려면 배포 요청에 플레이어의 공용 IP 또는 지리 좌표를 입력하세요. 응답이 없는 배치

- 서버가 멀리 있어 모든 플레이어에게 핑이 높음: 불공정한 배치

- 핑이 고르지 않아 한 플레이어가 불리한 상황: 좋은 배치 예시

circle-info

- 모든 플레이어에게 응답성 있고 공정한 핑 제공: 이 전략은 서로 멀리 떨어진 플레이어 그룹(예: 북미 대 유럽, 또는 서해안 vs 동해안)을 호스팅할 때 특히 효과적입니다

사전 구성된 로비에서 자주 발생하는 상황입니다.

지리 위치 대안으로, 자동 텔레메트리 대신 플레이어의 위도 및 경도 좌표나 선호 서버 위치의 좌표를 제공하세요

circle-exclamation
circle-check

배포 요청에 플레이어의 공용 IP 또는 지리 좌표를 나열하세요.

지역 잠금

  • 서버는 대략적으로 일반화된 지역 매개변수를 사용하여 배치될 수 있으며, 다음 중 하나일 수 있습니다:

  • 메타데이터(플레이어 계정 데이터베이스)를 기반으로 플레이어에게 자동으로 선택되거나,

triangle-exclamation
circle-check

🟢 연결 품질

일부 게임(및 일부 플레이어)은 지연이나 렉에 더 민감합니다. 플레이어 보고서는 대규모 사건이나 회귀 버그의 훌륭한 지표이지만, 플레이어는 네트워크 개념에 대한 깊은 이해가 부족할 수 있으며 스튜디오, 네트코드 또는 서버에 빠르게 책임을 돌리는 경향이 있습니다.

문제의 근본 원인이 플레이어에게 숨겨질 수 있으므로 스튜디오와 호스팅 제공업체의 협력이 중요할 수 있습니다. Edgegap의 최우선 과제는 항상 가능한 최상의 서비스를 제공하는 것입니다.

플레이어로부터 많은 신고를 받거나 광범위한 장애 또는 반복적 문제가 발생한다면, 플랫폼의 지원 티켓을 통해 즉시 문의해 주세요.

저지연

플레이어 지연은 다음 간의 데이터 전송으로 인한 지연의 조합입니다:

  • 물리적 장치 - 물리 신호가 다음을 가로질러 이동합니다 인터넷 네트워킹 토폴로지arrow-up-right,

  • 호스트 간 - 프로토콜, 전송 및 보안 조치로 인한 지연,

  • 프로세스 간 - 클라이언트/서버에서 데이터의 (언)박싱 및 처리로 인한 지연.

Edgegap은 서버를 플레이어에 더 가깝게 배치하여 물리적 지연을 줄이고 응답 시간을 단축하며 네트워크 홉 수를 줄입니다. 17개 클라우드 및 베어메탈 제공업체 전역의 위치를 통해, 전 세계 어디서나 플레이어에게 최상의 핑을 제공합니다.

서버 및 인터넷 커버리지는(Edgegap뿐만 아니라) 다음과 같은 요인들로 인해 글로벌하게 제한됩니다:

  • 인프라 가용성 - 특정 지역의 인터넷 연결 품질이 충분하지 않을 수 있습니다,

  • 자연적 요인 - 매우 복잡한 서버 랙은 주로 안정적인 환경을 필요로 합니다.

고가용성

전 세계 다양한 위치의 서버 가용성은 시간에 따라 변동하며 하루에도 여러 번 바뀔 수 있습니다. Edgegap은 자동으로 위치를 확장/축소합니다 요청에 따라 , 다음을 고려합니다:버스트 트래픽

  • - 15분 내에 이루어진 배포, vCPU 요구사항

  • - 배포당 더 많은 vCPU는 특정 위치에 대한 전체 수요를 증가시킵니다, 제공자 옵션

  • - 일부 원격 위치는 제공자 옵션이 적을 수 있습니다, 머신 가용성

  • - 일부 위치는 4 vCPU 또는 8 vCPU 머신만 제공할 수 있습니다, 스튜디오 요청

  • 테스트, 품질 보증, 얼리 액세스, 클로즈드 베타 또는 토너먼트용 요청. 모든 애플리케이션의 배포 요청이 결합되어 위치 수요를 평가합니다. 모든 조직은 기본적으로 동일한 할당 우선순위를 가지며,

특정 하드웨어나 위치가 필요한 엔터프라이즈 고객을 위한 개인 서버 풀을 추가할 수 있는 가능성 가 있습니다. .

circle-check

플레이어 문제 해결

플레이어 문제는 서버 버그나 제공자 사고가 원인일 수 있지만, 로컬 ISP, 게임 서비스, 저수준 라이브러리의 버그, 인프라 제공업체 또는 기타 출처와 같은 제3자로부터 발생할 수도 있습니다.

플레이어 신고나 사고를 조사할 때 다음 요소를 고려하세요:

  • 매치메이킹 품질 - 플레이어들은 최상의 결과를 얻기 위해 서로 가까운(같은 지역) 위치에 있어야 합니다 배포 다음을 참고하세요:

  • 지역 문제:

    • 지역화된 ISP가 일시적으로 문제를 해결하고 있을 수 있습니다,

    • 일부 지역(예: 중국, 러시아)은 지역 제재로 인해 제한될 수 있습니다,

  • 캐싱 수준 - Edgegap은 캐시된 위치에서의 빠른 배포를 우선시합니다:

  • 배포 최대 시간 - 느리고 무거운 초기화 과정으로 인해 배포가 실패할 수 있습니다:

    • 앱 및 버전 타임아웃 기간을 늘리려면

    • 초기화 단계를 절대적으로 필요한 시점까지 지연시키세요,

  • 서버 이미지 또는 통합 문제.

circle-check
circle-info

광범위한 버그, 일시적 문제 및 서비스 중단에 대해 사용자에게 알려 부정적 인식을 완화합니다.

🔄 배포 수명주기

Edgegap 배포는 배포 상태로 표시되는 여러 수명주기 단계를 거칩니다.

1. 배포 시작

다음에 대한 배포 테스트 목적 다음으로 시작할 수 있습니다:

다음에 대한 배포 라이브 프로덕션 환경 다음으로 시작해야 합니다:

circle-check
circle-info

다음으로 테스트할 때 배포 APIarrow-up-right, 기본 Dockerfile을 재정의할 수 있습니다 CMD 사용자 지정 명령으로.

2. 배포 중

배포가 시작되면 우리 시스템은 여러 단계를 빠르게 수행합니다:

  • 원격측정 - 사용 가능한 데이터 센터에서 각 플레이어까지의 네트워크 응답성을 측정합니다,

  • 배포 - 용량을 예약하고 서버 컨테이너 시작을 준비합니다,

  • 컨테이너 부팅 - 컨테이너를 시작하고 종속성을 설치하며 초기화합니다,

  • 후처리 - 로그 저장소 및 모니터링을 추가하고 배포를 마무리합니다.

circle-exclamation

3. 배포 준비 완료

컨테이너가 완전히 초기화되었으며 서버가 지금 시작 중입니다. 몇 초에서 1분 동안 서버가 아직 초기화 중일 수 있으며 게임 엔진(또는 사용자 정의 런타임)이 플레이어 연결을 수락할 준비가 될 때까지 플레이어 요청에 응답하지 않을 수 있습니다.

circle-check

4. 배포 오류

배포는 언제든 예기치 않은 이유로 오류 상태가 될 수 있습니다. 이는 통합 테스트나 새로운 서버 빌드 테스트 중에 더 자주 발생할 수 있습니다.

오류 상태의 배포에 대해서는 요금이 청구되지 않으며, 24시간 후 자동으로 중지됩니다.

문제 해결 단계:

circle-check

5. 배포 중지됨

플레이어 경험에 부정적 영향을 미치지 않도록 지시 없이 서버를 중지하지 않습니다, 배포가 중지될 수 있는 이유는 다음과 같습니다:

  • 자체 중지 via DELETE_URL - 플레이어가 떠나고 매치가 종료된 후 배포가 자체 중지됨,

  • 백엔드에서 중지 - 백엔드가 다음을 사용해 이 배포를 중지했음 배포 APIarrow-up-right,

  • 게임 최대 지속 시간 - 귀하의 앱 및 버전 에 할당된 시간이 만료되었음,

  • 프라이빗 플릿 호스트가 예약된 작업을 통해 삭제됨.

circle-info

배포가 중지되면, 우리는 우아한 종료를 트리거합니다 다음 신호를 보내어 SIGTERM 메인 프로세스에 짧은 종료 기간을 허용합니다. 기간이 만료되면, SIGKILL 배포를 중지하기 위해 신호가 전송됩니다.

👀 관측성

게임 서버가 서드파티와 상호 운용되고 운영 통찰을 얻을 수 있도록 허용합니다.

발견성

준비되면, 배포는 URL(정규화된 도메인(fqdn)arrow-up-right) 및 각 내부 포트에 대한 외부 포트를 할당받습니다.

circle-check
circle-info

게임 서버에서 나가는 트래픽(클라이언트 또는 백엔드로)은 결코 차단되지 않습니다 또는 필터링되지 않습니다.

웹소켓(WS) 및 보안 웹소켓(WSS)

Edgegap에서 웹소켓 기반 네트코드를 사용하려면 두 가지 옵션이 있습니다:

  • 관리되는 인증서, 코드 작성 없이 1분 내 설정:

    • 다음을 구성하세요 앱 및 버전 경쟁적이지 않은 게임을 위한 릴레이 네트코드로 웹소켓(WS)을 사용하고 TLS 업그레이드를 활성화하세요,

    • 클라이언트 연결에 Edgegap URL을 사용하세요(예: https://5fa53fa00a57.pr.edgegap.net/)

  • 자가 관리 인증서, 자체 커스텀 도메인을 사용하려는 경우:

    • 다음을 구성하세요 앱 및 버전 경쟁적이지 않은 게임을 위한 릴레이 네트코드로 보안 웹소켓(WSS)을 사용하세요,

    • 커스텀 DNS 레코드로 자체 TLS 인증서 플로우를 구성하세요(예: on Cloudflarearrow-up-right).

triangle-exclamation

주입된 변수

게임 서버는 종종 서버 IP, 내부 포트 값 등 추가 정보가 필요합니다. 읽기 전용 환경 변수를 주입하는 것은 매개변수를 전달하는 신뢰할 수 있는 클라우드 불문 방법입니다.

circle-check
circle-info

에 대해 앱 버전 변수 우리의 권장 사항과 매치메이커 변수 아래의 배포 변수 외에 추가로 제공됩니다.

사용자 지정 변수

각 배포당 최대 20개의 사용자 지정 변수를 정의할 수 있으며, 각 변수는 최대 4KB의 문자열 데이터를 포함할 수 있습니다.

circle-exclamation

Edgegap이 서버에 주입하는 변수를 읽어 중요한 정보를 얻으세요:

식별자

  • ARBITRIUM_REQUEST_ID - 예: f68e011bfb01 .

    • 고유한 배포 ID로 요청 ID라고도 합니다. 추가 정보를 검색하는 데 사용됩니다.

    • 배포 URL은 항상 다음 형식입니다 {ARBITRIUM_REQUEST_ID}.pr.edgegap.net.

  • ARBITRIUM_PUBLIC_IP - 예: 162.254.141.66 .

    • 이 호스트의 공용 IP 주소로 URL 대신 연결에 사용할 수 있습니다.

  • ARBITRIUM_HOST_ID - 예: alpha-north-america-70364ef8 .

    • 배포를 호스팅하는 머신의 고유 식별자로 다른 배포와 공유될 수 있습니다.

  • ARBITRIUM_DEPLOYMENT_TAGS - 예: tag1,tag2 .

  • ARBITRIUM_PRIVATE_FLEET_ID - 예: PUBLIC_CLOUD 에 호스팅된 경우 또는 플릿 ID. 프라이빗 플릿.

리소스 사양

  • ARBITRIUM_HOST_IN_PRIVATE_FLEET - 예: false 에 호스팅되었는지 여부를 나타냅니다 프라이빗 플릿.

  • ARBITRIUM_HOST_BASE_CLOCK_FREQUENCY - 예: 2000 , 프로세서 주파수(MHz).

  • ARBITRIUM_DEPLOYMENT_VCPU_UNITS - 예: 256, 할당된 vCPU 단위(1024 = 1 vCPU).

  • ARBITRIUM_DEPLOYMENT_MEMORY_MB - 예: 512, 할당된 RAM(MB 단위, 1024 = 1 GB).

수명주기 관리

  • ARBITRIUM_DELETE_URL - 예: https://api.edgegap.com/v1/self/stop/9f511e17/660.

  • ARBITRIUM_DELETE_TOKEN - 예: 7df4cd933df87084b34ae80d8abde293.

  • ARBITRIUM_CONTEXT_URL - 예: https://api.edgegap.com/v1/context/9170f5211e17/17.

    • 배포에서만 호출 가능하며 더 많은 배포 세부 정보를 반환합니다.

    • 고유한 ARBITRIUM_CONTEXT_TOKEN 다음에 필요합니다 Authorization 헤더.

  • ARBITRIUM_CONTEXT_TOKEN - 예: dfaf50b9333b9ee07b22ed247e4a17e6.

발견성

  • ARBITRIUM_PORT_GAMEPORT_INTERNAL - 예: 7777 , 서버 리스너용 내부 포트.

  • ARBITRIUM_PORT_GAMEPORT_EXTERNAL - 예: 31504 , 클라이언트 연결용 외부 포트.

    • 보안을 위해 외부 포트 값은 각 배포마다 무작위화됩니다.

  • ARBITRIUM_PORT_GAMEPORT_PROTOCOL - 예: UDP , 네트코드 전송의 프로토콜.

circle-check
  • ARBITRIUM_BEACON_ENABLED - 예: true, 다음에 배포하는 경우 프라이빗 플릿 와 함께 핑 비콘.

  • ARBITRIUM_HOST_BEACON_PUBLIC_IP - 예: 139.177.198.69 , 가장 가까운 비콘의 공용 IP.

  • ARBITRIUM_HOST_BEACON_PORT_UDP_EXTERNAL - 예: 30199, UDP를 통한 핑 측정을 위한 포트.

  • ARBITRIUM_HOST_BEACON_PORT_TCP_EXTERNAL - 예: 30456, TCP를 통한 핑 측정을 위한 포트.

구조화된 정보(문자열로 된 JSON)

circle-info

환경 변수는 문자열화된 JSON으로 저장됩니다, SDK나 사용자 정의 방법으로 파싱하세요.

chevron-rightARBITRIUM_DEPLOYMENT_LOCATION: - 배포 위치에 대한 자세한 정보.hashtag
chevron-rightARBITRIUM_PORTS_MAPPING: - 내부 및 외부 포트에 대한 자세한 정보입니다.hashtag

대시보드 모니터링

우리의 대시보드arrow-up-right 서버 확장성을 모니터링하고 운영을 지원하는 유틸리티를 제공합니다.

분석

circle-check

🌟 종량제(Pay as You Go) 등급으로 업그레이드arrow-up-right 자세한 서버 성능 메트릭과 인사이트를 잠금 해제하려면:

  • 일반 인사이트: 버전별 실시간 서버 수 + 리소스 사용 개요로 릴리스를 모니터링하세요,

  • CPU 인사이트: 프로세서 집약적인 작업으로 인해 지연이 발생하는 서버 문제를 해결하세요,

  • 메모리 인사이트: 할당된 메모리를 초과하여 서버가 재시작되는 문제를 완화하세요,

  • 네트워킹 인사이트: 비효율적인 네트워킹 패턴을 감지하고 네트코드를 최적화하세요.

배포지도

지도에서 배포 위치, 사용 가능한 위치 및 추정 플레이어 위치를 미리보기:

배포 균형 지점

배포 균형 지점 히트맵을 미리보고 다음으로 필터링하세요 앱 및 버전 . 균형 지점은 특정 배포에서 각 플레이어와의 네트워크 근접성이 동일한 대략적인 위치입니다:

circle-exclamation

배포 로그

배포 로그는 다음에 대한 정보를 표시합니다 배포:

컨테이너 로그

문제가 발생했을 때 또는 디버깅할 때 게임 서버의 로그를 검사하세요:

circle-exclamation

컨테이너 메트릭

컨테이너 메트릭(프로세서, 메모리, 네트워킹)을 검토하여:

  • 연결 문제를 식별하세요 when 배포,

  • 리소스 사용량 급증을 유발하는 비효율적인 구현 패턴을 감지하세요,

  • 특정 시나리오에서 비효율적인 리소스 사용을 찾아내세요,

  • 최적화 중 서버의 리소스 사용 변화 여부를 확인하세요,

  • 서버 초기화 시 리소스 소비 및 소요 시간을 벤치마크하세요.

히스토리 메트릭은 1분 간격의 평균 값을 표시하며, 무료 등급에서 제공됩니다.

🌟 종량제(Pay as You Go) 등급으로 업그레이드arrow-up-right 정확한 메트릭(1초 간격)을 잠금 해제하려면.

circle-info

문의하기envelope 대규모 릴리스에 대해 실시간 호스팅 지원을 요청하려면 릴리스 이전에.

컨텍스트 및 상태

추가 배포 정보는 JSON 형식으로 검색할 수 있습니다:

circle-info

컨텍스트 API(배포에서)는 컨텍스트 API 토큰이 필요하고 상태 API는 Edgegap 토큰을 사용합니다.

circle-exclamation

배포 필터링

모든 배포 중에서 빠르게 검색하려면, 대시보드를 사용하세요arrow-up-right:

API로 배포 목록 가져오기arrow-up-right 및 백엔드 통합으로 필터를 적용하세요:

배포 속성
연산자
예시 값

eq 또는 neq

"ready" 또는 "error"

eq

"7e709a0d8efd"

다음에 필요합니다 또는 nin

[ "7e709a0d8efd", "4ba353100b4b" ]

eq 또는 neq

"tagA"

다음에 필요합니다 또는 nin

[ "tagA", "tagB" ]

eq 또는 neq

"my-app"

다음에 필요합니다 또는 nin

[ "my-app", "my-other-app" ]

eq 또는 neq

"1.0.0"

다음에 필요합니다 또는 nin

[ "1.0.0", "prod" ]

eq

true 또는 false

eq 또는 neq 또는

lt 또는 lte 또는

gt 또는 gte

5

circle-info

각 속성은 단일 요청에서 최대 1개의 필터 연산자만 가질 수 있습니다. 자세한 내용은 API 참조 자세한 내용은 참조하세요.

요청에 나타나는 순서대로 여러 필드로 결과를 정렬하세요:

배포 속성
정렬 기준

필터 쿼리 예시:

chevron-right목록 오류가 있는 배포 문제 해결하고 제거하세요.hashtag

인코딩된 URL:

형식화된 JSON 쿼리:

chevron-right목록 구버전 앱을 실행 중인 배포 릴리스가 완료되었는지 확인하세요.hashtag

인코딩된 URL:

형식화된 JSON 쿼리:

circle-check

웹후크 및 포스트백

다음의 변경에 대해 게임 백엔드에서 간단한 HTTP 알림을 받으세요 배포 배포 API 요청에 웹후크 URL을 지정하여 배포 API 요청arrow-up-right에서 사용할 수 있습니다:

  • 준비 시(On Ready): 배포 컨테이너가 성공적으로 시작됨 (서버는 이 이후 초기화를 시작합니다),

  • 오류 시(On Error): 배포를 시작할 수 없었고 배포 오류가 발생했습니다,

  • 종료 시(On Terminate): 배포 그리고 게임 서버에 더 이상 접근할 수 없습니다.

Ready와 Error 웹후크는 동일한 배포에 대해 동시에 트리거되지 않습니다.

chevron-right웹후크 페이로드 예시hashtag
circle-exclamation
circle-info

웹후크는 배포 수명 주기를 관찰하지만 장면/레벨 초기화 상태는 알지 못합니다. 장면/레벨의 로딩 진행을 관찰하려면 게임 서버에 커스텀 웹후크를 구현하세요.

🚨 문제 해결

배포 문제를 해결할 때:

  1. 다음에서 오류가 없는지 확인하세요 배포 우리의 권장 사항과 배포,

  2. 통합 버그를 배제하기 위해 서버를 로컬에서 실행해 보세요,

  3. 이 페이지의 문제 해결 단계를 검토하세요,

  4. 다음에서 문의하세요 커뮤니티 디스코드arrow-up-right 및 배포 ID를 포함하세요.

circle-info

에 대해 배포 플레이어 커뮤니티 피드백을 처리하는 방법에 대한 권장 사항은

chevron-right클라이언트를 서버에 연결할 수 없음 - 요청 시간이 초과되었습니다., 요청 시간이 초과되었습니다 , ConnectionFailed , 또는 포트 확인 실패.hashtag
chevron-right예외로 인해 서버 프로세스가 크래시할 경우, 시스템이 자동으로 서버를 재시작하려고 시도합니다. 근본 원인을 찾기 위해 로컬에서 서버를 테스트해 보세요.hashtag
chevron-right무료 등급 배포는 60분 시간 제한이 있으니 계정 업그레이드를 고려하세요.hashtag
  • 모든 배포는 서버 정리 정책에 따라 인프라 유지 관리를 위해 및 배포가 적절히 종료되지 않아 예기치 않은 비용이 발생하는 것을 방지하기 위해 실행 후 24시간 후에 종료됩니다. 장기 실행 서버의 경우

  • 를 고려하세요. 프라이빗 플릿 와 함께 영속성.

  • 에 대해 배포 내 배포가 X분 후 자동으로 중지되었습니다.

chevron-right내 배포는 준비되었지만 몇 분 동안 연결할 수 없습니다.hashtag
  • 배포가 Ready 상태가 되면 게임 엔진 초기화가 시작됩니다. 이 과정은 몇 초에서 몇 분까지 걸릴 수 있으며 이 기간 동안 서버는 플레이어 연결을 허용하지 않습니다.

  • 초기화 시간을 단축하도록 서버 초기화를 최적화하는 것을 고려하세요.

  • 게임 클라이언트는 제한된 시간 동안(초기화 기간에 따라) 1초 간격으로 재시도해야 하며, 이후에는 매치메이킹으로 돌아갑니다.

  • 로딩 씬을 추가하여 서버가 초기화(및 언리얼 엔진의 경우 트래블)를 클라이언트와 동시에 수행하고 양쪽의 상태를 동기화하도록 고려하세요.

chevron-right내 Meta Quest 기기에서 다음 오류가 발생합니다 HTTP 0: 대상 호스트를 확인할 수 없음 .hashtag
  • Android 대상으로 Unity 앱을 빌드할 때, 인터넷 접근 권한이 출력 APK 클라이언트 빌드 아티팩트에서 자동으로 제거될 수 있습니다.

  • 권한을 다시 추가하세요(추가로 클라이언트 재빌드 필요):

    • 프로젝트 설정 / OpenXR / ⚙️ Meta Quest 지원 / 인터넷 권한 강제 제거(체크 해제).

    • 플레이어 설정 / 인터넷 접근(필수로 설정).

chevron-right플레이어가 배포를 떠나면 무슨 일이 발생하나요?hashtag
  • 기본적으로 서버는 플레이어 연결을 차단하지 않습니다. 인증은 개발자가 처리해야 하며, 다양한 방법과 인증 공급자를 사용할 수 있습니다.

  • 게임 클라이언트는 예기치 않은 클라이언트 크래시 시 재접속 시도를 위해 연결 정보를 로컬에 저장할 수 있습니다.

  • 진행 중인 게임에 플레이어가 참여하도록 허용하려면 심층 분석 또는 세션arrow-up-right.

chevron-right을 사용하는 것을 고려하세요.hashtag
  • 서버가 준비된 후 CPU 사용률이 100%로 표시됩니다.

  • 이는 문제가 아닐 수 있습니다. 게임 엔진은 서버 초기화 중에 CPU 집약적인 작업을 수행하는 경향이 있습니다. 배포 시작 후 2-3분 내에 CPU 사용량이 감소하지 않으면 서버를 최적화하거나 앱 버전 리소스를 늘려야 할 수 있습니다.

  • 로그에서 확인하세요 Mirror 네트코드를 사용하는 경우arrow-up-right "Auto Start Server” 가 선택되어 있어야 합니다 NetworkManager

  • , 다시 빌드하고 푸시한 후 재배포하세요. FishNet 네트코드를 사용하는 경우arrow-up-right “Start on Headless” 를 활성화해야 합니다NetworkManager

  • 무료 등급에서는 1.5 vCPU 및 3GB 메모리(RAM)로 제한됩니다.

  • 앱 버전을 새로 생성할 때 할당된 리소스를 늘릴 수 있습니다. 대시보드에서 앱 버전을 복제하고 필요에 따라 이러한 값을 조정할 수 있으며, 서버나 이미지를 재빌드할 필요가 없습니다.

chevron-right내 배포가 반복적으로 재시작되며 `OOM kill` 오류가 표시됩니다.hashtag
  • 이 동작은 할당된 메모리 양을 초과했기 때문에 발생합니다. 객체 풀링, 압축 또는 필요 없는 씬 객체 제거 등으로 메모리 사용을 최적화하세요.

  • 프로젝트가 기본 씬을 로드하고 있는지 확인하세요. 해당 씬에는 가 선택되어 있어야 합니다 가 포함되어 있고 그 씬이 Unity의 빌드 설정에 포함되어 있어야 합니다.

  • 무료 등급에서는 1.5 vCPU 및 3GB 메모리(RAM)로 제한됩니다.

  • 앱 버전을 새로 생성할 때 할당된 리소스를 늘릴 수 있습니다. 대시보드에서 앱 버전을 복제하고 필요에 따라 이러한 값을 조정할 수 있으며, 서버나 이미지를 재빌드할 필요가 없습니다.

chevron-right때때로 서버의 메모리(RAM) 사용량이 크게 급증하는데, 문제가 될까요?hashtag
  • 할당된 앱 버전 메모리 한도 내에 있는 한 이는 문제가 되지 않습니다.

  • 할당된 앱 버전 메모리 양을 초과하면 `OOM kill`이 발생합니다(위 참조).

chevron-right같은 머신에서 실행되는 다른 서버로 인해 내 서버 성능이 영향을 받나요?hashtag
  • 아니요, 플랫폼은 할당된 리소스가 다른 스튜디오나 공유 인프라의 다른 서버에 의해 사용되지 않도록 보장합니다. Edgegap에서는 성가신 이웃(노이즈)이 없습니다.

마지막 업데이트

도움이 되었나요?