Regions
The Photon Cloud provides low latency gaming globally by hosting servers in various regions.
Clients get the list of regions from our Photon Name Servers. Over the lifetime of a project, new regions may be added or old ones may be deprecated and removed.
Each region is completely separate from the others and consists of a Backend Server and Frontend Servers.
With the Region Allowlist, you can define which regions should be available per AppId (see below).
Available Regions
The Photon Cloud consists of servers in several regions, distributed across multiple hosting centers worldwide.
Each Photon Cloud region is identified by a "region code", which is a case insensitive, short string.
For example, "EU" or "eu" are both accepted and refer to the same Europe region.
The lists below indicate the location of the hosting center and the region code for each region.
Photon Cloud for Gaming
The Photon Products Quantum, Fusion, Voice, Realtime and PUN are available to the Photon Cloud for Gaming in the following regions.
Region | Hosted in | Code |
---|---|---|
Asia | Singapore | asia |
Australia | Sydney | au |
Canada, East | Montreal | cae |
Chinese Mainland (See Instructions) | Shanghai | cn |
Europe | Amsterdam | eu |
Hong Kong | Hong Kong | hk |
India | Chennai | in |
Japan | Tokyo | jp |
South Africa | Johannesburg | za |
South America | Sao Paulo | sa |
South Korea | Seoul | kr |
Turkey | Istanbul | tr |
United Arab Emirates | Dubai | uae |
USA, East | Washington D.C. | us |
USA, West | San José | usw |
USA, South Central | Dallas | ussc |
Photon Chat is available in the following regions:
Region | Hosted in | Code |
---|---|---|
Asia | Singapore | asia |
Europe | Amsterdam | eu |
USA, East | Washington D.C. | us |
Chinese Mainland (See Instructions) | Shanghai | cn |
Photon Industries Premium Cloud
The Photon Products Quantum, Fusion, Voice, Realtime and PUN are available to the Photon Industries Premium Cloud in the following regions.
Region | Hosted in | Code |
---|---|---|
Asia | Singapore | asia |
Europe | Amsterdam | eu |
India | Chennai | in |
Japan | Tokyo | jp |
South Korea | Seoul | kr |
USA, East | Washington D.C. | us |
Further regions for the Photon Industries Premium Cloud are planned: Australia (AU), South America (SA), US West (USW), South Africa (ZA).
Photon Chat is available in the following regions:
Region | Hosted in | Code |
---|---|---|
USA, East | Washington D.C. | us |
Regions for China for Gaming/Industries
There are special conditions for using the Photon Cloud Region Chinese Mainland:
- Access must be unlocked (see below)
- Photon Voice is not available in China
- 20CCU for development is free (non commercial use)
- Only a 500CCU subscription available on Photon Cloud
- Large setups need custom agreements
The Photon Products Quantum, Fusion, Realtime, PUN and Chat are available to the Photon Cloud in the following regions:
Region | Hosted in | Code |
---|---|---|
China Mainland | Shanghai | cn |
Region Allowlist
The Region Allowlist enables you to customize the available regions per application directly from the dashboard. Clients using the Best Region feature, will adapt automatically.
By using using more or less regions, you balance the quality of service (roundtrip times are better, when there is a region close to players) versus the matchmaking experience (less regions mean more players per region).
To define the regions per app, open the dashboard, click "Manage" for a chosen application and then click "Edit Allowlist".
You will find an input field to enter the list of allowed regions as follows:
- the available regions are listed above per SDK and sometimes separately for the Industries Circle.
- the allowlist must be a string of region codes separated by semicolons. e.g. "eu;us".
- region codes are case insensitive.
- undefined or unrecognized region codes will be ignored from the list.
- empty ("") or malformed string (e.g. ";;;") means all available regions are allowed.
Within 10 minutes of a change (confirm and save), the Name Servers will send the filtered list to connecting clients.
To avoid conflicts on the client side, connect to the "Best Region" by ping or make sure to pick a region received with the regions list.
How To Choose A Region
Users in the US have the lowest latency if connected to the Photon Cloud US region. Easy.
But what if you have users from all over the world?
Options are..
- a) let the game client ping the different Photon Cloud regions and pre-select the one with the best ping, read our how to.
- b) distribute client builds tied to a region, so users from different regions connect to different Photon Cloud regions or
- c) let the user choose a matching region from within your game`s UI.
- d) let all users connect to the same region if the higher latency is acceptable for your gameplay.
All Photon Cloud apps are working in all available regions without any extra charge.
Photon Cloud's dashboard lets you monitor the usage of your game in each region and easily upgrade or downgrade your subscription plan.
Using The Chinese Mainland Region
The Photon Name Server has to be local to China, as the firewall might block the traffic otherwise.
The Chinese Photon Name Server is "ns.photonengine.cn".
Connecting with clients from outside of China mainland will most likely not produce good results.
Also, connecting from the Photon servers to servers outside of China mainland (e.g. for Custom Authentication, WebHooks, WebRPCs) might not be reliable.
For legal reasons, you need a separate build for China and we recommend using a separate AppId with it.
For example, use a compile condition (of your choice) to change the AppId and the Photon Name Server depending on the build.
Follow the instructions corresponding to your client SDK to make a special build for the Chinese market.
C# Client SDKs
C#
void ConnectToChina()
{
AppSettings chinaSettings = new AppSettings();
chinaSettings.UseNameServer = true;
chinaSettings.ServerAddress = "ns.photonengine.cn";
chinaSettings.AppIdRealtime = "ChinaRealtimeAppId"; // TODO: replace with your own Realtime AppId unlocked for China region
chinaSettings.AppVersion = "ChinaAppVersion"; // optional
client.ConnectUsingSettings(chinaSettings);
}
C++ Client SDKs
- Pass "ns.photonengine.cn" for parameter
serverAdress
toClient::connect()
. - Make sure to keep parameter
serverType
on its default value ofServerType::NAME_SERVER
.
Objective-C Client SDKs
- Pass "ns.photonengine.cn" for parameter
serverAdress
toEGLoadBalancingClient::connect()
- Make sure to keep parameter
serverType
on its default value ofEGServerType_NAME_SERVER
.