Ping Beacons

Use Ping Beacons to prevent matching with players in a far regions and improve player experience.

๐ŸŸข Connection Quality

Server connection quality varies for each player and is impacted by many factors, including:

  • wifi signal strength (if wireless or mobile),

  • Internet Service Provider condition,

  • local network conditions,

  • networking protocol used,

  • usage of Virtual Private Networks (VPNs),

  • or country-specific restrictions.

In order to minimize player ping and provide the best possible player match and make ๐Ÿ“ Server Placement optimal, game clients utilize Ping Beacons to measure latency to several major networking nodes worldwide in real time. Measuring real packet round-trip time accounts for all of the factors mentioned above and provides the most accurate metric at any given point in time.

Keep in mind that high beacon ping doesnโ€™t equate to high server ping, since servers are populated more densely than beacons. Number of beacons is balanced real-time for best coverage, least required data transfer, and shortest time to complete measurement.

In addition to Edgegapโ€™s monitoring, we recommend implementing your own client-side analytics to keep track of your player demographics and connection quality when matchmaking, so issues can be discovered, triaged, and resolved as fast as possible.

๐Ÿ—ผ About Ping Beacons

Retrieve a list of beacons that players can ping directly from:

Ping beacons may be used for multiple purposes simultaneously:

Too Many Requests 429 - to ensure platform stability, we rate limit your organization at 40 req/s for this API endpoint. Implement an ๐Ÿง  Active Cache to prevent hitting the rate limit.

๐Ÿ—บ๏ธ Region Selection UI

Prevent users matchmaking against other users in a particular region by offering a list of regions to enable or disable in your game UI.

Automatically disable high latency regions:

Your threshold depends on game design specifics, we recommend matching in regions with latency below 250ms (milliseconds).

To let players override ๐Ÿ“ Server Placement provide beacon IP when matchmaking or deploying. For best player experience, warn players this may result in increased latency due to remotely located server.

High beacon ping doesnโ€™t equate to high server ping. Servers are available in more locations than beacons. Beacons are orchestrated in real time to prioritize best coverage, low data transfer, and fast measurement.

๐Ÿ“ Hub Selection UI

Some game players prefer being able to select from an exhaustive list of locations.

Automatically disable high latency Hubs:

Your threshold will depend on your game design specifics, but we generally recommend matching in Hubs with latency below 150ms (milliseconds).

We also recommend choosing the name โ€œHubโ€ in your UI, or a different name that does not imply these are the only server locations available. Edgegap orchestrate game servers worldwide across 615+ physical locations and 17+ data center providers to ensure deployment to the ideal location.

To let players override ๐Ÿ“ Server Placement provide beacon IP when matchmaking or deploying. For best player experience, warn players this may result in increased latency due to remotely located server.

High beacon ping doesnโ€™t equate to high server ping. Servers are available in more locations than beacons. Beacons are orchestrated in real time to prioritize best coverage, low data transfer, and fast measurement.

๐ŸŒก๏ธ Measuring Round-Trip Time

In game development both terms โ€œpingโ€ and โ€œlatencyโ€ usually refer to packet Round-Trip Time.

See 5. Game Integration for automatic ping measurement:

Detailed overview of latency measurement process in Matchmaker In-Depth:

โฐ High Availability

๐Ÿง  Active Cache

If not using Matchmaker (e.g. Advanced Matchmaker users), we recommend implementing additional scalability insurance before a large scale release. Create your own game backend service which keeps a centralized cache in memory, responding with beacon locations to game clients without using our Beacons List API for each client request.

This service should actively make a single API request to update list of beacons every 60 seconds.

Last updated

Was this helpful?