游戏服务器PhotonServer(一)

您所在的位置:网站首页 云端游戏服务器推荐哪个 游戏服务器PhotonServer(一)

游戏服务器PhotonServer(一)

2024-07-15 17:49| 来源: 网络整理| 查看: 265

目录

 

一、PhotonServer介绍

1、为什么选择 Photon Server?

2、Photon Server 有什么缺点?

二、PhotonServer下载与安装

1、下载PhotonServer SDK

2、安装PhotonServer SDK

三、PhotonServer运行

四、通过一个简单的案例来配置PhotonServer服务器

1、新建项目

2、引用类库

3、服务器代码主流程

4、服务器程序发布

5、配置PhotonServer.config文件

6、启动服务器

一、PhotonServer介绍

Photon Server是一款实时的Socket服务器和开发框架,快速、使用方便、容易扩展,服务端架构在Windows系统平台上,采用C#语言编写,Photon Server发布包括两个部分,Client SDK Release和Server SDK Update,Server SDK的版本是v2.4.5,而Client SDK的版本是v6.2.0。客户端SDK提供了多种平台的开发API,包括DotNet,Unity3D,C/C++等。SDK就是指可以为第三方开发者提供特定的软件包、软件框架、硬件平台、操作系统等创建应用软件开发工具的集合,并且SDK还能简单的为某个程序设计语言提供应用程序接口API的一些文件。

1、为什么选择 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。

2、Photon Server 有什么缺点?

若要说Photon最大的缺点大概就是文件实在不是很好,市面上教学非常少 ,到目前为止也没有专门的书籍,官方的手册语焉不详而且也很没有系统,更諻论中文相关的教学了,大多在评估套装伺服器的人都是在第一步打退堂豉而选择了其他的Server,但只要跨过门栏就能发现Photon开发起来是比其他Server容易的多,附加的Lobby Server和MMO Server功能都非常强大完善而且效能极高,官方及讨论区的服务快速而且热心,这点足以弥补资料及手册的不足了。 

以上内容摘抄自百度知道

二、PhotonServer下载与安装 1、下载PhotonServer SDK

在https://www.photonengine.com/en/sdks#server中下载服务器端SDK,需要登录的,就先注册一个账号吧。

选择Server进行下载

2、安装PhotonServer SDK

下载之后安装PhotonServe,实际上安装过程就是解压过程,解压后目录文件如下:

下载后直接解压有四个文件:

build:修建工具; 

deploy:主要存放photon的服务器控制程序和服务端Demo; doc:PhotonServer开发文档和相关介绍; lib:Photon类库,开发服务端需要引用的; src-server:服务端Demo源代码;

三、PhotonServer运行

打开deploy文件夹,看到包含了不同平台编译出的Photon目录,以“bin_”为前缀命名目录,选择你的电脑对应的文件夹打开。本文以win64电脑为例,打开bin_Win64文件夹,找到PhotonControl.exe可执行文件运行,在Windows桌面右下角托盘区域可看见PhotonServer的图标,击图标可以看到photon服务器控制菜单。

四、通过一个简单的案例来配置PhotonServer服务器 1、新建项目

打开visual stadio,新建项目,选择c# 类库,应用程序名字叫做TestPhotonServer.

2、引用类库

完成后,把我们的Class1.cs,改名为TestPhotonServer.cs,作为服务器端主类.

然后在当前项目添加引用,链接到刚才提到的lib文件夹目录下,添加以下引用:ExitGamesLibs.dll ,Photon.SocketServer.dll , PhotonHostRuntimeInterfaces.dll三个文件。

3、服务器代码主流程

创建新类PhotonClientPeer.cs

using Photon.SocketServer; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using PhotonHostRuntimeInterfaces; namespace TestPhotonServer { public class PhotonClientPeer : ClientPeer { /// /// 构造函数 /// /// public MobaClient(InitRequest initRequest) : base(initRequest) { } /// /// 当客户端断开连接时调用 /// /// /// protected override void OnDisconnect(DisconnectReason reasonCode, string reasonDetail) { } /// /// 当客户端向服务器发起请求时调用 /// /// /// protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters) { } } }

在主类TestPhotonServer中添加如下代码 :

using ExitGames.Logging; using ExitGames.Logging.Log4Net; using log4net; using log4net.Config; using Photon.SocketServer; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestPhotonServer { /// /// 继承自ApplicationBase的类,是server的入口程序,也是启动程序 /// public class TestPhotonServer : ApplicationBase { /// ///当一个客户端连接到服务器的时候调用 /// protected override PeerBase CreatePeer(InitRequest initRequest) { return new PhotonClientPeer(initRequest); } /// /// 当服务器启动时调用 /// protected override void Setup() { } /// /// 当服务器关闭时调用 /// protected override void TearDown() { } } 4、服务器程序发布

在PhotonServer安装目录deploy文件夹下新建文件夹,命名TestPhotonServer,再在其文件夹中创建bin文件夹

在Vs项目解决方案资源管理器中选中当前项目,打开属性,选择生成选项卡,把输出路径改成上一步新建的TestPhotonServer文件夹下的bin文件夹。

.net版本修改,建议将其改成.net4.5

右击项目名选择生成,编译器将生成的文件直接输出到我们知道的文件夹下。

5、配置PhotonServer.config文件

在服务器安装目录->deploy->bin_Win64下找到,PhotonServer.config文件:

 

打开配置文件,复制MMoDemo标签内的所有内容,将其复制到与其同一级的标签下,将MMoDemo标签名改为MyGameServer

 

配置PhotonServer.config文件如下:

Name:项目名字

BaseDirectory:根目录,deploy文件夹下为基础目录

Assembly :是在生成的类库中的bin目录下与我们项目名称相同的.dll文件的名字

Type:是主类的全称,在这里是:MyServer.MyApplication,一定要包括命名空间

EnableAutoRestart:是否是自动启动,表示当我们替换服务器文件时候,不用停止服务器,替换后photon会自动加载文件

6、启动服务器

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3