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:
Matchmaker Matchmaker In-Depth, using Matchmaker In-Depth,
Edgegap API Endpoint /locations/beacons, using Edgegap API token (from your backend).
Ping beacons may be used for multiple purposes simultaneously:
prevent high latency matches by ๐ก๏ธ Measuring Round-Trip Time automatically.
provide a ๐ Hub Selection UI for players to cherry-pick favorite hubs,
provide a ๐บ๏ธ Region Selection UI for players to exclude far away regions,
๐ก๏ธ Measuring Round-Trip Time using ICMP/UDP/TCP ping is not rate limited.
๐บ๏ธ 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:
list all available beacons,
perform ๐ก๏ธ Measuring Round-Trip Time to all beacons,
disable region if measured latency against all beacons exceeds a given threshold.
Your threshold depends on game design specifics, we recommend matching in regions with latency below 250ms (milliseconds).
See Getting Started for automated ping measurement using our SDKs. Learn how to start low and increase the allowed latency gradually with Rule Expansion.
๐ Hub Selection UI
Some game players prefer being able to select from an exhaustive list of locations.
Automatically disable high latency Hubs:
list all available beacons,
perform ๐ก๏ธ Measuring Round-Trip Time to all beacons,
disable hubs if measured latency exceeds a given threshold,
identify enabled Hubs in game UI using the City beacon property.
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.
See Getting Started for automated ping measurement using our SDKs. Learn how to start low and increase the allowed latency gradually with Rule Expansion.
๐ก๏ธ 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:
Unity โญ Matchmaking SDK by Edgegap:
import simple example and customize for your needs,
Unreal Engine โก Edgegap Integration Kit by Betide Studio:
install from Fab Marketplace (free for Personal use),
download example project and customize for your needs.
Detailed overview of latency measurement process in Matchmaker In-Depth:

โฐ High Availability
Beacons are automatically rescaled in real time - adding/removing/replacing existing beacons. Your clients and backend should account for this and reload list of beacons before each matchmaking round.
๐ง 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?