光子云还是光子服务器?
Photon Cloud是一个完全托管的软件即服务(SaaS)解决方案。 您可以完全专注于您的应用程序客户端,而机房托管,服务器操作和调整都由光子公司负责。
Photon Server是一个您自己运行和维护的本地服务器应用程序,您可以在您选择的机器(包括各类云服务器和虚拟机)上运行和托管。 所以其是您完全可定制的,且完整的用户认证机制能让你的自由配置和设置你自己的多人游戏服务器端。
Photon Cloud是在运行在Photon Server上的。
光子云(Photon Cloud)运行在光子服务器(Photon Server)上。
Photon Realtime,Photon Chat都是在光子云(Photon Cloud)中运行的应用程序。
Photon Unity Networking(又名PUN)是Unity 3D客户端插件,与Unity Networking兼容的API,连接Photon Realtime。
光子云 | 光子服务器 | |
---|---|---|
服务器管理 | 再没有管理服务器的杂乱,您只需专注于游戏性和创意,而我们的专家负责顺畅运行服务器的问题。 | 您可以获得为应用程序运行Photon的全部权限。在自己的服务器或租用的服务器或云上运行,需确保它们是状态良好的。
Photon的日志和性能计数器提供关于性能和稳定性的所有必要信息。 |
可扩展性 | Photon Cloud会自动扩展以适应您的用户。 使用我们的SDK,您的客户端应用程序将获得高效的负载平衡工作流。 |
启用我们在源码中的负载平衡,它是您中大型应用跨多个服务器扩展的坚实基础。 需要留意的是为您正扩展的客户数量而添加正确数量的服务器。 |
游戏逻辑 | 通过Photon Realtime , Photon Chat和PUN,您将获得目前所有多人游戏类型的解决方案。 每个可供免费下载的客户端SDK包含多个源代码示例,让您开始真正快速地将Photons API用于同步和异步游戏,及应用程序中。 | 服务器的逻辑可以在C#中完全自定义。 在免费的服务器SDK中提供了多个演示应用程序的源代码,并为您的应用程序提供了高性能的现成框架。 受益于我们的协议和抽象的低级功能,您不会错过任何重要功能。 |
立即开始 | Photon Cloud让您注册并立即运行您的应用程序。无需设置。无需使用自己的服务器。 | 下载后, 在5分钟内启动您的Photon服务器 。Photon非常容易设置,并在本地和远程部署都运行良好。 |
许可 | 选择各种订阅方案,匹配您的每月活跃用户数量。 无论您是独立,创业或AAA工作室,您都会找到一个匹配的计划。 Photon Realtime拥有最多20 CCU的免费计划。 |
许可作为一次性购买或订阅提供,并作为下载提供。 使用企业许可证可托管任意数量的服务器和应用程序。 Photon Server可以免费获得最多100个CCU的许可证。 |
光子服务器PhotonServer v5
Photon Cloud 光子云 | Photon Server 光子服务器 | |
---|---|---|
特征 | ||
虚拟应用 | O | X |
Name Server | O | O |
支持的光子产品 | ||
Realtime | O | O |
PUN | O | O |
Chat | O | X |
Voice | O | O |
Bolt | O | X |
验证方式 | ||
自定义 | O | O |
O | O | |
Oculus | O | X |
Steam | O | O |
Xbox | O | X |
PlayStation | O | X |
Nintendo | O | X |
光子服务器PhotonServer v4
Photon Cloud 光子云 | Photon Server 光子服务器 | |
---|---|---|
特征 | ||
虚拟应用 | O | X |
Name Server | O | X |
支持的光子产品 | ||
Realtime | O | O |
PUN | O | O |
Chat | O | X |
Voice | O | O |
Bolt | O | X |
验证方式 | ||
自定义 | O | O |
O | X | |
Oculus | O | X |
Steam | O | X |
Xbox | O | X |
PlayStation | O | X |
Nintendo | O | X |
自V4.0.29.11263起的重要更改
Photon Cloud会不断更新,包括修补程序,增强功能或新功能。尽管我们尝试发布Photon Server SDK的新版本以赶上Photon Cloud,但两者无法始终保持同步。
在这里,我们列出了自Photon Server SDK的最新公共版本v4.0.29.11263以来Photon Cloud中的重要更改。此外,如果您同时定位在Photon Cloud和Photon Server环境同时开发,或者准备从一个环境切换到另一个环境,此列表将列出一些功能之不同,其在另外的环境中无法正常运行。同时,您可能还会找到响应的解决方法或建议。
V4.0.29.11263中缺少的光子云功能
- 创建房间后,便无法更改PlayerTTL和EmptyRoomTTL。它们后来被添加为众所周知的房间属性。
- “Delete Null Properties”选项不可用. (
RoomOptions.DeleteNullProperties
).具有空值的属性将不会被服务器删除。 - “Broadcast Properties Change”选项不可用(
RoomOptions.BroadcastPropsChangeToAll
)。除非使用CAS,否则调用SetProperties的客户端将不会收到PropertiesChange事件。CAS是可以在Photon Cloud和Photon Server之间具有一致的行为一种解决方案。 - SQL Lobby中的GetGameList操作(也称为“ GetCustomRoomList”或“ GetRoomList”,不要与GetGameList WebRPC或PUN Classic的GetRoomList混淆)不可用。
V4.0.29.11263中的已知问题
- 如果客户端或身份验证未设置,则服务器不会返回UserId。该值将是在服务器上生成的GUID。这可能导致玩家无法加入房间,并产生错误代码-2(错误消息:”Join failed: UserId is not set, checkUserIdOnJoin=true expects a UserId.”)。作为解决方法,如果用户未明确设置,客户端C#SDK现在会将GUID发送为UserId。
- 另外,在身份验证期间,如果身份验证提供方未设置昵称,则服务器将返回空昵称,该昵称将覆盖客户端上以前设置的任意值。作为解决方法,您可以在连接后设置一个昵称。此值将在房间内使用,且以后可以更改(包括同步)。
- 服务器不支持序列化协议版本1.8。如果尝试从客户端SDK的相对较新版本(其默认为1.8)连接到自托管的Photon Server,则连接将失败。在C#SDK中,客户端将与断开连接
DisconnectByServerReasonUnknown
。一种解决方案是在连接之前将版本设置为1.6。设置loadBalancingClient.LoadBalancingPeer.SerializationProtocolType
到SerializationProtocol.GpBinaryV16
。在PUN2中,它应该是PhotonNetwork.NetworkingClient.LoadBalancingPeer.SerializationProtocolType
。除非您使用不同于PhotonNetwork.ConnectUsingSettings()
的方法进行连接,否则在PUN2中不需要。 - 服务器允许将同一actor添加到同一interest group多次,从而导致同一事件被actor多次发送到同一interest gruop。
- 此服务器未完全支持快速重新加入功能(
ReconnectAndRejoin
),因为其未实现会话令牌。
哇 恭喜来到中国
不错,针对我这种独立开发者而言,就可以把重心放在游戏本身上了,简直完美!而且免费的20人也足矣支持游戏在开发阶段的测试了!在没有足够的用户量的情况下,不得不说这简直太贴心了!希望官方多多出些基于Unity的案例,现在刚了解这些,在啃文档和代码,没有系列性,东一榔头西一棒锤的。