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 Endpoint /locations/beacons, using Authentication and Authorization,
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,
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.
π‘οΈ 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. If youβd like to automatically disable some 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).
π Hub Selection UI
Some (usually competitive) game players are more sensitive to latency and react better to being able to select from a more granular list.
To implement a list of matchmaking 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.
π‘οΈ 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
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.
See also π’ Connection Quality and π¨ Troubleshooting for deployments.
π§ 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?