光子引擎的差别


光子引擎有两种基础服务,分别为:

1)Photon Cloud光子云。

为您提供全球连接,让全球各地的低延迟游戏。即开即用,无需担心服务器架设,调试,带宽等问题。

2)Photon Server光子服务器。

为您提供定制化的多人服务,完全的自由度,适用于自己有服务器或者云服务的使用者。
关于光子云和光子服务器的具体差异详见:光子云还是光子服务器?

A. 获取免费的Photon Server光子服务器许可

免费的光子服务器的许可支持100CCU(同时连接数)的连接,您只需要下载您的免费许可文件,部署到服务器上后,就可以开始立刻使用。其具体步奏如下:

1. 在光子全球官网注册光子账号

访问光子全球官网的注册页面,填写邮箱和屏幕上的验证码,如下图所示:

光子全球网站注册页
光子全球网站注册

2. 在第1步填写的邮箱中,在收到的光子引擎注册邮件中点击设置密码按钮,如下图所示:

光子注册邮件中链接
光子注册邮件中链接

3. 在打开的光子官网设置密码页面中,设置想要的密码:

光子账号密码设置
光子账号密码设置

4. 在光子国际官网上右上角点击Sign in登录进自己的账号后,再次点击右上角个人图标并切换到服务器选项:

登录光子账号并切换光子服务器
登录光子账号并切换光子服务器

5. 下载所需要的许可文件。

下载自己需要的许可文件
下载自己需要的许可文件

6. 将下载好的许可文件,放置到已经下载好的Photon Server光子服务器SDK目录\deploy\bin_Win64中,并重新启动光子服务即可。

如有需要请查看我们的帮助文档,如何5分钟启动Photon Server光子服务器

请留意,100CCU免费和无限制CCU30天免费许可仅可安装在一台机器或服务器上,且不可被用于商业用途。如果您需要商业运行您的产品或游戏,请联系我们升级为正式许可。

B. 获取免费的中国区Photon Cloud光子云使用

请直接填写申请表单给我们,告诉您的基本情况,我们会在1-2个工作日为您免费开通中国区的光子云服务。

当您开通光子云或者开始使用光子服务器之后,请查看我们为您准备的文档了解光子的使用方法:

Photon多人在线综合开发文档

PUN Tutorial多人在线游戏教程译文

光子引擎相关中文学习资源

光子引擎相关中文实践资源

Photon Cloud光子云中国区开通后,请查看如何使用和选择中国区域:

如何在Realtime中选择中国区域

如何在PUN中设置中国区域

如何在Voice中设置中国区域

 

地区

Photon Cloud光子云为您提供全球连接,让全球各地的低延迟游戏成为可能。

可用区域

Photon Cloud光子云在多个地区都有服务器,分布在全球多个托管中心。

每个Photon Cloud光子云区域由“区域标记”标识。

可用区域和令牌清单:

地区 托管在 令牌
亚洲 新加坡 asia
澳大利亚 墨尔本 au
加拿大,东部 蒙特利尔 cae
中国大陆( 请见本文末) 上海BGP cn
欧洲 阿姆斯特丹 eu
印度 钦奈 in
日本 东京 jp
南美洲 圣保罗 sa
韩国 汉城 kr
美国,东部 华盛顿 us
美国,西部 圣荷西 usw

仪表板区域过滤

您可以直接从仪表板过滤每个应用程序的可用Photon Cloud光子云区域列表。

过滤光子云区域
过滤光子云区域

转到仪表板,然后单击所选应用程序的“管理”,然后单击“编辑”。 您将找到一个输入字段,您可以在其中输入列入白名单的区域,如下所示:

  • 允许的列表应该是用分号分隔的区域标记字符串。 例如“eu; us”。
  • 区域令牌不区分大小写,并在此定义。
  • 未定义或无法识别的区域令牌将从列表中忽略。
  • 空(“”)或格式不正确的字符串(例如“;;”)表示空列表。
  • 空列表表示允许所有可用区域。

确认并保存后, GetRegions操作将只返回过滤的区域列表。 因此,客户端应该从该列表中选择任何可用的区域,但请考虑到仪表盘的更新可能需要10分钟左右的时间(根据网络情况而定)。

使用中国大陆地区

首先,您需要申请访问中国大陆地区的Photon应用程序。 向我们发送电子邮件,以便我们可以为您的AppID解锁它。

为了稳定和可靠的链接,光子NameServer架设在本地,否则连接很可能无法稳定。 中国的NameServer是“ns.photonengine.cn”。

与来自中国大陆以外的客户端通讯很可能不会产生好的结果。 此外,从光子服务器连接到中国大陆以外的服务器(例如,自定义身份验证,WebHooks,WebRPC)可能并不可靠。

重要提示 :在目前阶段,您通过信息中心对应用进行的更改不会自动反映在中国的应用缓存中。 如果您有更新请求,请通过电子邮件通知我们。

同样出于法律原因,您需要为中国单独构建AppId,我们建议使用单独的AppId。 例如,使用条件编译(您选择的)来根据根据条件更改AppId和Photon NameServer。

按照这些说明为中国市场打造特别版本:

光子语音 Photon Voice

1. 将AppId设置为已解锁中国区域的应用程序。 如果你想使用相同的项目,并有不同的Build,可以这样设置:

void Awake()
{
// TODO: replace compile condition with your own
#if CHINA
    PhotonNetwork.PhotonServerSettings.VoiceAppID = "ChinaVoiceAppId"; // TODO: replace with your own AppId
#else
    PhotonNetwork.PhotonServerSettings.VoiceAppID = "nonChinaVoiceAppId"; // TODO: replace with your own AppId
#endif
}

2. 打开 “LoadBalancingClient.cs “文件,设置NameServerHost为 “ns.photonengine.cn”。

// TODO: replace compile condition with your own
    #if CHINA
        public const string NameServerHost = "ns.photonengine.cn";
    #else
        public const string NameServerHost = "ns.exitgames.com";
    #endif
由于光子语音中包含光子PUN,因此我们还需要遵循PUN所需的步骤。 光子语音将自动连接到相同的服务器。

PUN

1. 将AppId设置为已解锁中国区域的应用程序。 如果你想使用相同的项目,并有不同的Build,可以这样设置:

void Awake()
{
// TODO: replace compile condition with your own
#if CHINA
    PhotonNetwork.PhotonServerSettings.AppID = "ChinaPUNAppId"; // TODO: replace with your own AppId
#else
    PhotonNetwork.PhotonServerSettings.AppID = "nonChinaPUNAppId"; // TODO: replace with your own AppId
#endif
}

2. 打开“NetworkingPeer.cs”文件并将NameServerHost设置为“ns.photonengine.cn”:

// TODO: replace compile condition with your own
    #if CHINA
        public const string NameServerHost = "ns.photonengine.cn";
    #else
        public const string NameServerHost = "ns.exitgames.com";
    #endif
3. 更新CloudRegionCodeCloudRegionFlag枚举以添加新的“CN”(或“cn”)区域标记,如下所示:
public enum CloudRegionCode
{
    // ...
// TODO: replace compile condition with your own
#if CHINA
    ///<summary>Chinese Mainland, Guang Dong area, cn</summary>
    cn = 11,
#endif
};
[Flags]
public enum CloudRegionFlag
{
    // ...
// TODO: replace compile condition with your own
#if CHINA
    cn = 1 << 10,
#endif
};

4. 使用PhotonNetwork.ConnectToRegion(CloudRegionCode.cn, gameVersion)连接到中国大陆地区。

// TODO: replace compile condition with your own
#if CHINA
    PhotonNetwork.ConnectToRegion(CloudRegionCode.cn, gameVersion);
#else
    // TODO: connect to any other region
#endif
error: 转摘请联络我们~