> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/docs.edgegap.com-ko/learn/orchestration/ping-beacons.md).

# 핑 비콘

핑 비콘을 사용하여 먼 지역의 플레이어와의 매칭을 방지하고 플레이어 경험을 향상시키세요.

## 🟢 연결 품질

서버 연결 품질은 각 플레이어마다 다르며 다음을 포함한 여러 요인의 영향을 받습니다:

* 와이파이 신호 강도(무선 또는 모바일인 경우),
* 인터넷 서비스 제공업체 상태,
* 로컬 네트워크 상태,
* 사용된 네트워킹 프로토콜,
* 가상 사설망(VPN) 사용,
* 또는 국가별 제한사항.

플레이어 핑을 최소화하고 **가능한 최상의 플레이어 매칭을 제공하며** 최적화하려면, [배포](/docs.edgegap.com-ko/learn/orchestration/deployments.md#server-placement) 게임 클라이언트는 **핑 비콘을 사용하여 지연 시간을 측정합니다** 전 세계 여러 주요 네트워킹 노드에 대해 실시간으로 측정합니다. 실제 패킷 왕복 시간을 측정하면 위에 언급된 모든 요인을 반영하므로 특정 시점에서 가장 정확한 지표를 제공합니다.

유의할 점은 **비콘 핑이 높다고 해서 서버 핑이 높다는 의미는 아닙니다** — 서버는 비콘보다 더 밀집되어 배치됩니다. 비콘 수는 최적의 커버리지, 최소한의 데이터 전송, 측정 완료까지의 최단 시간을 위해 실시간으로 균형 조정됩니다.

Edgegap의 모니터링 외에도, 우리는 **클라이언트 측 자체 분석 도구를 구현할 것을** 권장합니다. 매치메이킹 시 플레이어 인구 통계 및 연결 품질을 추적하면 문제를 빠르게 발견하고 분류하며 해결할 수 있습니다.

## 🗼 핑 비콘에 관하여

플레이어가 직접 핑을 보낼 수 있는 비콘 목록을 다음에서 가져오세요:

* 매치메이커 [심층 살펴보기](/docs.edgegap.com-ko/learn/matchmaking/matchmaker-in-depth.md#matchmaking-api) 게임 클라이언트에서,
* Edgegap API [엔드포인트 /locations/beacons](https://docs.edgegap.com/api/#tag/Locations/operation/location-beacon-list) 사용하여 [Edgegap API 토큰](https://app.edgegap.com/user-settings?tab=tokens) (백엔드에서).

핑 비콘은 여러 목적으로 동시에 사용될 수 있습니다:

* 높은 지연 시간 매치를 방지하기 위해 [#measuring-round-trip-time](#measuring-round-trip-time "mention") 자동으로.
* 플레이어가 선호하는 허브를 직접 선택할 수 있도록 [#hub-selection-ui](#hub-selection-ui "mention") 플레이어가 선호 허브를 골라 선택할 수 있도록,
* 플레이어가 선호하는 허브를 직접 선택할 수 있도록 [#region-selection-ui](#region-selection-ui "mention") 플레이어가 먼 지역을 제외할 수 있도록,

{% hint style="info" %}
**요청 과다 429** - 플랫폼 안정성을 보장하기 위해, 우리는 **이 API 엔드포인트에 대해 조직별로 속도 제한을** **초당 40건으로 제한합니다** 적용합니다. 속도 제한에 도달하는 것을 방지하기 위해 [#active-cache](#active-cache "mention") 메커니즘을 구현하세요.
{% endhint %}

{% hint style="success" %}
[#measuring-round-trip-time](#measuring-round-trip-time "mention") 사용하여 **ICMP, UDP 또는 TCP 핑은 속도 제한이 적용되지 않습니다**.
{% endhint %}

## 🗺️ 지역 선택 UI

게임 UI에서 사용자가 특정 지역의 다른 사용자와 매칭되는 것을 방지하려면 활성화/비활성화할 수 있는 지역 목록을 제공하세요.

**고지연 지역을 자동으로 비활성화:**

* 사용 가능한 모든 비콘을 나열하고,
* 다음 작업을 수행하세요 [#measuring-round-trip-time](#measuring-round-trip-time "mention") 모든 비콘에 대해 핑을 수행하여,
* **모든 비콘에 대한 측정된 지연 시간이 주어진 임계값을 초과하면 해당 지역을 비활성화하세요.**

임계값은 게임 설계에 따라 다르지만, 일반적으로 250ms(밀리초) 미만의 지연 시간을 가진 지역에서 매칭할 것을 권장합니다.

{% hint style="info" %}
플레이어가 재정의하도록 허용하려면 [배포](/docs.edgegap.com-ko/learn/orchestration/deployments.md#server-placement) 원격 측에 비콘 IP를 제공할 때 [매치메이킹](/docs.edgegap.com-ko/learn/matchmaking/matchmaker-in-depth.md#endpoint-tickets) 또는 [배포 중](/docs.edgegap.com-ko/docs/api/dedicated-servers.md#deployments). 최상의 플레이어 경험을 위해, 원격에 위치한 서버로 인해 지연 시간이 증가할 수 있음을 플레이어에게 경고하세요.
{% endhint %}

모든 비콘에 대해 핑이 높은 일부 플레이어는 다음과 같은 이유로 인해 ISP[^1] 문제나 느린 연결(예: 무선/모바일)로 인해 지연이 발생하고 다른 사람들의 게임 경험을 저하시킬 수 있습니다. 이 문제를 완화하려면:

* 허용 지연 최대값과 차이를 점진적으로 확장하십시오(참조 [고급 예제 구성](/docs.edgegap.com-ko/learn/matchmaking.md#advanced-example)),
  * 핑이 높은 플레이어는 매치를 찾는 데 평소보다 더 오래 기다려야 할 수 있습니다.
* 또는 플레이어가 수동으로 지역을 선택하여 측정을 재정의하도록 허용하고, 선택한 지역에 대해서만 가짜 핑 값을 전송하도록 할 수 있습니다(예: 빠른 매치를 위해 25ms),
  * 이것은 플레이어의 팀원 및 상대방의 플레이어 경험에 부정적인 영향을 미칠 수 있습니다.

{% hint style="info" %}
**높은 비콘 핑이 항상 높은 서버 핑으로 이어지는 것은 아닙니다**배포는 비콘보다 더 많은 위치에서 이용 가능합니다. 비콘은 글로벌 커버리지와 신뢰성을 우선으로 실시간으로 오케스트레이션됩니다.
{% endhint %}

{% hint style="success" %}
보기 [매치메이킹](/docs.edgegap.com-ko/learn/matchmaking.md) 위해 **우리의 SDK를 사용한 자동 핑 측정**.
{% endhint %}

## 📍 허브 선택 UI

일부 플레이어는 모든 위치가 나열된 전체 목록에서 선택하기를 선호합니다.

**고지연 허브를 자동으로 비활성화:**

* 사용 가능한 모든 비콘을 나열하고,
* 다음 작업을 수행하세요 [#measuring-round-trip-time](#measuring-round-trip-time "mention") 모든 비콘에 대해 핑을 수행하여,
* **측정된 지연 시간이 주어진 임계값을 초과하면 허브를 비활성화하세요,**
* 게임 UI에서 City 비콘 속성을 사용해 활성화된 허브를 식별하세요.

임계값은 게임 설계에 따라 달라지지만, 일반적으로 150ms(밀리초) 미만의 지연 시간을 가진 허브에서 매칭할 것을 권장합니다.

또한 UI에서 이름을 “허브(Hub)”로 선택하거나, **이들이 유일한 서버 위치임을 암시하지 않는 다른**이름을 선택할 것을 권장합니다. Edgegap은 전 세계 615개 이상의 물리적 위치와 17개 이상의 데이터센터 제공업체에 걸쳐 게임 서버를 오케스트레이션하여 이상적인 위치에 배포되도록 보장합니다.

{% hint style="info" %}
플레이어가 재정의하도록 허용하려면 [배포](/docs.edgegap.com-ko/learn/orchestration/deployments.md#server-placement) 원격 측에 비콘 IP를 제공할 때 [매치메이킹](/docs.edgegap.com-ko/learn/matchmaking/matchmaker-in-depth.md#endpoint-tickets) 또는 [배포 중](/docs.edgegap.com-ko/docs/api/dedicated-servers.md#deployments). 최상의 플레이어 경험을 위해, 원격에 위치한 서버로 인해 지연 시간이 증가할 수 있음을 플레이어에게 경고하세요.
{% endhint %}

모든 비콘에 대해 핑이 높은 일부 플레이어는 다음과 같은 이유로 인해 ISP[^1] 문제나 느린 연결(예: 무선/모바일)로 인해 지연이 발생하고 다른 사람들의 게임 경험을 저하시킬 수 있습니다. 이 문제를 완화하려면:

* 허용 지연 최대값과 차이를 점진적으로 확장하십시오(참조 [고급 예제 구성](/docs.edgegap.com-ko/learn/matchmaking.md#advanced-example)),
  * 핑이 높은 플레이어는 매치를 찾는 데 평소보다 더 오래 기다려야 할 수 있습니다.
* 또는 플레이어가 수동으로 지역을 선택하여 측정을 재정의하도록 허용하고, 선택한 지역에 대해서만 가짜 핑 값을 전송하도록 할 수 있습니다(예: 빠른 매치를 위해 25ms),
  * 이것은 플레이어의 팀원 및 상대방의 플레이어 경험에 부정적인 영향을 미칠 수 있습니다.

{% hint style="info" %}
**높은 비콘 핑이 항상 높은 서버 핑으로 이어지는 것은 아닙니다**배포는 비콘보다 더 많은 위치에서 이용 가능합니다. 비콘은 글로벌 커버리지와 신뢰성을 우선으로 실시간으로 오케스트레이션됩니다.
{% endhint %}

{% hint style="success" %}
보기 [매치메이킹](/docs.edgegap.com-ko/learn/matchmaking.md) 위해 **우리의 SDK를 사용한 자동 핑 측정**.
{% endhint %}

## 🌡️ 왕복 시간 측정

게임 개발에서 “핑(ping)”과 “지연(latency)”이라는 용어는 보통 [패킷 왕복 시간](https://www.cloudflare.com/learning/cdn/glossary/round-trip-time-rtt/).

보기 [/pages/b745b310b30c7b9cab38704ac47a25547733e403#id-5.-game-integration](https://docs.edgegap.com/docs.edgegap.com-ko/learn/orchestration/pages/b745b310b30c7b9cab38704ac47a25547733e403#id-5.-game-integration "mention") 자동 핑 측정을 위해:

* Unity [개발자 도구](/docs.edgegap.com-ko/unity/developer-tools.md#software-development-kit):
  * [Unity 패키지 관리자를 사용하여 무료로 패키지 설치](https://github.com/edgegap/edgegap-unity-sdk),
  * [시작 가이드와 완전한 예제를 살펴보세요](/docs.edgegap.com-ko/unity/matchmaking.md).
* 언리얼 엔진 [개발자 도구](/docs.edgegap.com-ko/unreal-engine/developer-tools.md#integration-kit):
  * [문서를 읽어보세요](https://egik.betide.studio/) Betide Studios 제공,
  * [Fab 마켓플레이스에서 설치](https://www.fab.com/listings/ff17ad88-12a1-49cf-9a41-31695ed11e16) (개인 용도는 무료),
  * [간단한 예제 블루프린트 가져오기](https://blueprintue.com/blueprint/m33u1okj/) (매치메이킹)을 자신의 필요에 맞게 커스터마이즈하세요.

지연 시간 측정 프로세스에 대한 자세한 개요는 [매치메이커](/docs.edgegap.com-ko/learn/matchmaking/matchmaker-in-depth.md):

<figure><img src="/files/d0a97ff386194daa74879eed8b4ea1e06103fcc5" alt=""><figcaption></figcaption></figure>

## ⏰ 고가용성

{% hint style="danger" %}
비콘은 실시간으로 자동 재조정되며 기존 비콘을 추가/제거/교체합니다. 클라이언트와 백엔드는 이를 고려하고 **매치메이킹 라운드마다 비콘 목록을 다시 불러와야 합니다**.
{% endhint %}

## 🧠 액티브 캐시

**를 사용하지 않는 경우** [**매치메이커**](/docs.edgegap.com-ko/learn/matchmaking.md) (예: 고급 매치메이커 사용자), 대규모 출시 전에 추가적인 확장성 보험을 구현할 것을 권장합니다. **자체 게임 백엔드 서비스를 생성하여** 메모리에 중앙화된 캐시를 유지하고 각 클라이언트 요청마다 비콘 목록 API를 사용하지 않고 게임 클라이언트에 비콘 위치를 응답하도록 하세요.

이 서비스는 적극적으로 **60초마다 한 번만 비콘 목록을 업데이트하기 위해 단일 API 요청을 수행해야 합니다.**

[^1]: 인터넷 서비스 제공업체
