http://blog.csdn.net/menuconfig/article/details/8215033

Photon Server是一套套裝的遊戲伺服器,以往開發線上遊戲都必需自行花費大筆的研發資金和人力先從研發遊戲引擎和伺服器開始,後來慢慢的遊戲引擎開始走向套裝化,研發人員有許多現成的遊戲引擎可以選擇,像是unreal或是unity等等,接著,遊戲伺服器也開始朝套裝發展,市面上常見的套裝Game Server有 smart fox server 、 electro server 5 、 Photon等等,這幾個都是非常優秀的套裝伺服器,市面上非常多的FB遊戲都是利用這些套裝伺服器作為通訊用平台,都是經過市場驗證過的產品。

為什麼選擇 Photon Server?
Photon Server的核心是用C++開發,不同 於其他伺服器採用的java,因此在效能上凌駕於其他server不少,在 Server 端 Script 採用C#語言,算是一種很容易學習的語言,Photon的Client端支援C++、.net、java、html5 、flash、Unity、mamalade、iOS、android、winphone、cocos等,市面上常見的平台全部都有支援,使用容易、效能高、支援平台多,這些優點讓photon成為一個優越的套裝socket server。

Photon Server 有什麼缺點?

若要說Photon最大的缺點大概就是文件實在不是很好,市面上教學非常少 ,到目前為止也沒有專門的書籍,官方的手冊語焉不詳而且也很沒有系統,更諻論中文相關的教學了,大多在評估套裝伺服器的人都是在第一步打退堂豉而選擇了其他的Server,但只要跨過門欄就能發現Photon開發起來是比其他Server容易的多,附加的Lobby Server和MMO Server功能都非常強大完善而且效能極高,官方及討論區的服務快速而且熱心,這點足以彌補資料及手冊的不足了。

Photon 的費用很貴嗎? 要如何購買?

Photon提供了100人免費版本,開發時用此版本就夠了,若你的server只供公司內部使用或是小區域使用也不用花錢,只要不超過100人均使用免費版本即可,超過之後再依所需人數去官網購買,我公司買了最貴的無限制人數版也不過11萬左右,比起自己研發game server省錢多了,現在Photon還提供了雲端版本,有了更多的選擇,購買直接到官網http://www.exitgames.com/ 刷卡購買即可。

如何學習開發Photon Server ?

若不想用內建Server打算自行開發,最簡單的方式就是下載我的教學囉!!全中文 的教學手冊,從零開始建置一個socket server,目前開放的是Photon Server 3.0 和 2.6 的教學手冊,3.0教學剛完成,而2.6經過多次改版目前是第5版,除非內容有錯誤修正否則不會再更新2.6版本了,因為Photon 3.0 已出到RC9,已經是一個穩定版本,因此我的工作也轉移到了3.0,加上3.0提供了server to server 功能,可以開發多節點server,分散式server間的溝通也變得很簡單,因此目前不再對舊的2.6版本教學進行更新,請依自己的需求下載,強烈建議使用者直接使用3.0開發,因為兩個版本並不相容,3.0功能強很多,而且我的教學3.0部份觀念也較正確,當年寫2.6時因經驗不足有一些不是很好的地方。
>>[Photon 3.0 教學,點擊下載]<<

>>[Photon 2.6 教學,點擊下載]<<

http://www.digiart.com.tw/photon.aspx

What is Photon Server?的更多相关文章

  1. 看过自会理解, Photon Server 常见概念分析.

    http://stackoverflow.com/questions/10823915/photon-server-newbie-questions/11653419#11653419 Channel ...

  2. photon server (1)

    Photon是一套使用广泛的socket server引擎,服务端底层C++编写,客户端C#编写,跨多平台,收费,效率可观的一款引擎.实用上前有九城游戏(原魔兽世界代理),现在笔者发现多款腾讯旗下3D ...

  3. Photon Server 服务端编程

    Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程 VS2017 之 MYSQL实体数据模 一:Photon Server的 ...

  4. Photon Server LoadBalancing搭建

    准备:申请3台Windows虚拟机. 3台虚拟机上都部署上Photon Server. 一.主虚拟机上部署MasterServer. (1)在第一台虚拟机中,部署的Photon Server目目录下找 ...

  5. Photon Server 实现注册与登录(一) --- Hibernate整合到项目中

    本系列实现目的:基于Photon Server实现注册于登录 一.拷贝Nbibernate项目的文件到MyGamerServer项目中. 二.数据库新建表,结构如下 三.修改文件名和配置 (1).将拷 ...

  6. Photon Server初识(四) --- 部署自己的服务Photon Server

    准备工作: 1.一台 window 虚拟机(本机是window也行) 2.下载SDK : https://www.photonengine.com/zh-CN/sdks#server 一:SDK介绍 ...

  7. Photon Server与Unity3D客户端的交互

    Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Ser ...

  8. Photon Server的Unity3D客户端配置

    Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Ser ...

  9. Photon Server的服务器端配置

    Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Ser ...

随机推荐

  1. vptr

    #include <stdio.h> class Point3d { public: virtual ~Point3d(){} public: static Point3d origin; ...

  2. php7下 xhprof安装与使用

    需要测试下 代码的性能,使用了 xhprof + xhgui 1. 下载xhprof, 这里下载吧 :https://github.com/longxinH/xhprof.git 2, 安装 cd x ...

  3. https 请求发送 例子 tls && ssl

    package com.dooioo.training.helper; import java.io.IOException; import java.io.UnsupportedEncodingEx ...

  4. Flex自定义组件开发

    一般情况下需要组件重写都是由于以下2个原因:1.在FLEX已有组件无法满足业务需求,或是需要更改其可视化外观等特性时,直接进行继承扩展.2.为了模块化设计或进一步重用,需要对FLEX组件进行组合.而F ...

  5. border --- 透明边框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. chorme 插件

    json-handle: json可视化工具 开发中需要用到json,在浏览器显示的json非常乱,难以理解.有没有让人一目了然的工具,让json看起来非常直观呢,json-handle随之而出,包含 ...

  7. <Linux内核源码>内存管理模型

    题外语:本人对linux内核的了解尚浅,如果有差池欢迎指正,也欢迎提问交流! 首先要理解一下每一个进程是如何维护自己独立的寻址空间的,我的电脑里呢是8G内存空间.了解过的朋友应该都知道这是虚拟内存技术 ...

  8. 次小生成树 POJ 2728

    #include <cstdio>#include <cstring>#include <iostream>#include <algorithm>us ...

  9. Java 9 逆天的十大新特性

    在介绍java9之前,我们先来看看java成立到现在的所有版本. 1990年初,最初被命名为Oak: 1995年5月23日,Java语言诞生: 1996年1月,第一个JDK-JDK1.0诞生: 199 ...

  10. MapReduce分区的使用(Partition)

    MapReduce中的分区默认是哈希分区,根据map输出key的哈希值做模运算,如下 int result = key.hashCode()%numReduceTask; 如果我们需要根据业务需求来将 ...