20

Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器
Page 2: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

对于在线游戏开发,已积累了18年以上的技术,可以有效适用于以下范畴之中。基于丰富的经验,对网络上频繁出现的问题有免疫功能,且提供用户更加容易接近的接口。 因此即使没有丰富的在线/手机游戏开发经验,也可以帮助您轻松制作服务器的Middleware 。现已适用于157个游戏项目中。

ProudNet 概述

有效的应用

可在许多国家服务的网络/手机游戏上

对于网络不稳定或者对流量敏感的 在线/网络游戏

很难雇用经验丰富的引擎开发者的开发商

要在短期内上市的游戏项目

Windows Server 2003 以上

Windows XP 以上

使用Unity 3D的时候 PC, Mac OS, 网络游览器,

iphone, ipad, Android Phones

在不同系统的客户之间也可以进行多人游戏

操作系统

Visual C++ 2005, 2008, 2010 以上

Unity 3.5 以上

支援开发环境

Page 3: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

Reference 1.

已有157个游戏项目选择了

ProudNet & 且游戏项目数

正在持续增加中

Page 4: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

Reference 2.

使用ProudNet的手游“魔物学园”

- ProudNet的每一个聊天服务器(每一个服务器程序)处理了50,000 名以上同时在线人数。

“魔物学园”

Page 6: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

Reference 4.

105多个

“未公开”项目

Page 7: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

Reference 5.

140多个以上的开发商选择了ProudNet

Page 8: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

PC 网游上市大作 (31) 手游上市大作 (20)

Reference 6.

APSTUDIO Bolts and Blip online LOTS ENTERTAINMENT Hovorun Online GameOn Studios S4 League Nexon Vindictus ActozSoft OZFestival FAMILYGOLF FAMILYGOLF STAIRWAY GAMES RUSTY HEARTS ONNET TOUR GOLF ONLINE INPLAY INFERACTIVE F.E.A.R. ORIGIN ONLINE GRAVITY Ragnarok Online II PLUTOGAMES MERCURY RED T3ENTERTAINMENT Warcry STUDIO Wicket Relic Online IRONNOS POWER RANGERS ONLINE

L&K LOGIC KOREA MIRROR WAR_Reincarnation of

Holiness SEED9 GAMES Ghosts 'n goblins online JCR SOFT Dark Blood Dreamers Education Talklish Marvelquest Mini fighter ONNET TANKACE GameUs HEROES IN THE SKY NNG Lab Seoyugi Funtree BORN TO FIRE ANI PARK Chagu Chagu Identity Games Project D A.STORM Herowarz Emobi Games (Vietnam) "2112" Nuri Star Ducks WILD BUSTER NEOVIAN FOOTBALL LEGEND GamEng PlayEng

SGTY (China) Shura King

DigitalFrog Delphinia Chronicle

Pocket Joy 咯咯Family

Npic Mobile Magic Masters Online

Wemade Entertainment Touch Fighter

Nexon Korea Nexon All-stars

Black Pearl Studio Black Sun

Minoraxis Reign of Conquerors

Wemade Entertainment Moon Wolf

SEED9 Touch Monsters

KNETP Akasha

Banana Fish 射击王

Zigzagsoft Dual Masters

Company 100 Metal Breaker

Snow Family Guardians League

Nexus Games Seven Knights

Ikinagames Here We Go

Pure Games Vendetta

Phoenix Games BOWLING KING

Isac Entertainment snowbro for kakao

Buffstone Montowers

Page 9: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点1

已在157个以上的网络游戏开发项目中使用了ProudNet

ProudNet正在不同的国家运行中(韩国、中国、日本、美国、新加坡、马来西亚、德国、荷兰 ,台湾,越南,法国等等。)

适用于MMORPG, FPS, 动作游戏, 竞速游戏等多种游戏种类

使用ProudNet的游戏主要有:洛奇英雄 传(NEXON), 镜子战争 (L&K), S4超特攻联盟(Pantavision), 魔界村 (CJ E&M), Red Blood (BIGSPOON Corp.), Chaguchagu (CJ E&M) 等网络游戏和 触摸斗士 (Wemade), Moon Wolf (Wemade) , Touch Monsters(Seed9)等手机游戏

Racing (荷兰, 德国)&Action (美国, 德国, 韩国)&Avatar World (中国, 香港)&Shooting (新加坡, 马来西亚, 德国, 荷兰, 韩国, 美国, 日本)

经检验的性能与稳定性

ProudNet服务器可以处理大量的通信和同时登录用户

高性能服务器

服务器操作系统为了处理TCP, UDP的数据包会切换成Kernel-User Mode。但是因为切换过程消耗了大量的处理时间从而降低了服务器的性能。

ProudNet 内部设计中极大地减少了内核模式与用户模式的切换次数, 增加了可同时登录用户的数量。

最大限度 减少内核模式和用户模式的切换次数

目前开发游戏服务器时采用多核编程技术已变得理所当然, 但在过去很多服务器都没能有效利用多核。 为克服这个问题所提出的方法便是运行与CPU相同个数的程序。 但在1个服务器程序中处理大量同时登录用户时,例如在MMORPG的游戏世界中玩家爆满等现象, 这个方法还是有局限的。 ProudNet在1个服务器程序, 引擎内部, 用户定义函数中都使用双核, 并实现回调。此外, ProudNet还支持单核模式。

利用多核CPU

Page 10: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点2

游戏服务器的逻辑循环时间太长可能会引起客户端连接问题。 这可能是服务器开发人员的失误, 但也有可能是游戏逻辑设计本身的问题。ProudNet 提供了两种不同的线程, 分别处理用户例行程序(user routine)和网络输入输出的例行程序(network I/O routine)。在开发服务器时如没有发生失误也可以关闭此功能。

两种线程池模式

在一个分布式服务器环境中, 很难把服务器线程和服务器实例设计成一对多的关系。 但这又很大地影响服务器的性能。 如果没有这一关系, 可能会导致内核时间过高, 从而降低服务器的性能。

ProudNet 让开发者根据不同的情况自由地定义两者关系, 在维持最小内核时间的同时开发出最高性能的游戏服务器。

自由定义线程池 关系

ProudNet的自适应网络协议(adaptive network protocol) 对处理不同的网络条件和用例持有耐性。

尽管ProudNet使用的是低层网络通信协议, 但它采用降低IP数据包报头使用量的技术提高网络流量的处理效率。

自适应网络协议

Page 11: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点3

像角色移动或机抢乱射等传输频繁高、同步化速度较为重要的数据使用UDP不可靠传输,其他信息使用TCP可靠传输, 这种技术通常适用于动作游戏。

为了不可靠传输信息将UDP使用于Socket API的方法较为简单,但相比于TCP,UDP的协议还是比较不稳定。换句话说, UDP协议本身在不同网络环境中稳定性较差,且容易受到黑客攻击。 但是因其速度和便利性, UDP协议的不可靠传输在动作游戏中具有独特的魅力和优势。

Unreliable: 虽然不保证因网络环境而引起的数据包丢失或信息抵达顺序的不同,但传输速度却非常快。

Reliable: 保证完整的数据传输和信息的抵达顺序。

ProudNet的不可靠信息传输协议提供比一般的UDP更高的稳定性。

→为防止DDoS攻击等黑客入侵,许多玩家使用有保安功能的安全设备或软件。然而,这种保安功能在检测中可能将UDP通信中发生的ICMP数据包视为一种威胁,并引起恶意软件的误报,甚至还可能导致发生连接服务器失败的情况。ProudNet拥有防止这种情况发生的内置机制。

→ 在中国及一些其他国家,UDP传输通信量大的时候,有时会故意使互联网本身变得不稳定。为解决这种情况,ProudNet内置了通信控制功能和数据包头压缩以及其他一些技术。

→ 在中国及一些其他国家,UDP协议在通过网关的时候,有时会在中途发生复制,损坏等现象。ProudNet拥有为防止此类现象的内置功能。

稳定的 不可靠信息传输协议

开发一个通信量较多的游戏会因通信量过多而引起延迟或者连接障碍。 比如在MMORPG游戏中,魔法师的角色需要快速的对应能力,但是一旦通信量超出了范围便会引起用户的极大不满。

为解决这种问题,ProudNet内置了服务质量 QoS 或网络过热降频保护功能。 而且服务质量技术(QoS)还可以有效运用于游戏中的语音聊天功能。

引擎阶层的服务质量(QoS)技术

Page 12: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点4

对网络游戏而言,黑客攻击是一种常见的威胁,因此在很多情况下都需要对信息进行加密。如传输用户账户信息等处理敏感数据时需要进行密钥交换和信息加密过程。

ProudNet内置了这些技术和功能。

信息加密技术

密钥交换过程只在ProudNet内部进行,开发人员可以直接使用已加密的信息。

Page 13: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点 5

P2P通信可以用于语音聊天和同步游戏角色的移动等方面。良好地运用P2P功能,不仅可以降低服务器的负荷,而且还可以提高游戏的反应性。然而,对于游戏服务器开发人员而言,建立一个稳定的P2P连接却并非是一个简单的事情。

即使克服了各种不同网络环境的问题,但P2P通信的连接、断开连接和服务器中继服务器等依然是一个难题。

在ProudNet,可以利用简单的API功能解决客户端与服务器之间的通信和P2P通信等问题。

→ 不会因为等待P2P连接或检查是否是因为不稳定的网络状态而导致的连接中断等问题而打乱原有的程序源代码。

ProudNet配备了打洞(hole punching)技术和中继(relay)技术,且服务器中继有关操作只在ProudNet内部进行,开发人员不必另外再实现打洞和中继。

ProudNet的P2P通信连接没有等待时间。

→ 因此在游戏大厅便可立即进行游戏,而且MMORPG游戏中也可以混用客户端与服务器之间的通信和点对点通信,实现世界同步化。而且Proudnet还拥有在服务器当中将部分客户端作为路由器来使用,从而节约组播传输流量的功能。

强大的P2P通信功能

Page 14: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点 6

一个良好的宽带互联网环境可以保证流畅的P2P通信,但在中国、东南亚等使用ADSL2+或更低速度回线的地区,因P2P本身的通信速度低,如果处理不好通信中可能会出现很多问题。 甚至还会出现路由器停止运作的现象。

ProudNet 为了防止以上问题,内置了一定的传输量中继服务器功能和节省数据包等功能。

流量控制功能

连接一个路由器的不同电脑之间,使用UDP会比TCP更容易实现通信。但是,UDP是不可靠通信协议,即用户使用P2P通信聊天时中间可能会丢失一些信息。然而,开发一个可信赖的,既可靠又保障数据传输顺序的协议(如TCP)是一个繁琐的工作,尤其是P2P之间存在大量的流量时,为了预防愚笨窗口综合症的发生,需要复杂的算法。

ProudNet为了提供值得信赖的P2P通信,内置了与TCP方式相似的自动重传请求(ARQ)机制。

支持P2P通信的可靠、不可靠传输信息

在一个稳定的P2P通信中,打洞只是一个开始。更重要的是在多数P2P连接和大量的通信量环境中维持长时间的通信连接。这在网吧以及数百台电脑仅用一个路由器连接的情况下,就会因大量的P2P流量填满路由器的端口映射条目列表而导致网络掉线。

ProudNet提供最佳技术以预防此类情况的发生。

→ 一些路由器,没有处理好端口映射条目,可能会引发网络连接障碍。

ProudNet配备了一个可以避免端口映射条目重复的技术。

→ 基于端口预测的对称型NAT的打洞穿越方法虽是众所周知的,但使用时机不当的话可能会导致过多的端口映射,成为断开网络连接的原因。

打洞连接维持率高

Page 15: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点 7

P2P连接时,即使已经打洞但随时都有可能会因为使用的通信量和路由器的情况不同而消失。处理不当就会引起游戏中角色突然无法移动等问题。

ProudNet事先检测P2P连接状态,灵活性交换使用打洞和中继功能,即使发生打洞消失等情况,在ProudNet看来也只是短暂的延迟。因此,开发人员在使用ProudNet时,可以不用考虑P2P连接的稳定性而开发游戏。

打洞与中继的自动转换功能

大型多人在线角色扮演游戏中每台服务器可同时登录的用户数为13,000名。

Direct P2P 维持率 (中国:82%,欧洲:80%,东南亚:84%,韩国:96%)

中国的direct P2P和中继P2P维持率:100%

攻城战大型多人在线角色扮演游戏稳定率:98% (服务器:上海,客户端:四川)

性能测试实例

ProudNet支持真正意义上的多人游戏平台。使用ProudNet制作的游戏服务器支持PC、智能手机、浏览器等不同客户端的玩家之间同时进行多人游戏。

在使用ProudNet的基础上,再用C++、C#、java和ActionScript等开发出的游戏,均可在基于Unity的浏览器和智能手机,基于flash的浏览器以及Windows系统电脑上进行多人游戏。

不久,即将推出支持原生iOS和安卓的官方版,并且还预计提供支持Marmalade等其他系统的版本。

PC / 手机 / 浏览器 支持

Page 16: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点 8

仅一个服务器不够容纳并处理大量的同时登陆用户。因此创建分布式服务器系统是必选项。但是配置一个分布式服务器并不简单,尤其在分布式服务器与客户端维持连接的开发过程中会经常出现失误。

ProudNet提供服务器与服务器之间的通信模块,这类似于游戏服务器。ProudNet的引擎内部和用户例行回调也利用多核。

分布式服务器处理模块

虚线 : P2P, 实线 : C/S

Page 17: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点 9

数据库集成在游戏服务器开发中是一个难题。与游戏服务器的处理时间相比,需要相对更长时间的数据库访问过程使服务器程序进一步变得复杂化,且数据库访问频率又很高。(玩家升级,获得道具等时。)

ProudNet提供数据库缓存来提高存取速度。

→ 支持在自定义数据库模式和约束中安全使用缓存。

→ 支持共享式访问数据库。这也保障在免费增值游戏中购买现金项目时,能安全访问数据库中的重要数据。

数据库缓存系统

Page 18: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点 10

收集服务器和客户端出现的各种错误操作以帮助调试。 .

超级节点(Super-peer)(主机)选择机制能在FPS类游戏中有效使用。

在动作游戏中准确判断胜负时可以有效使用主机同步功能。

其他功能

使用ProudNet的客户端与服务器之间的通信编程示例

ProudNet提供远程方法调用(RMI)功能。这个功能会代替开发人员自动创建网络通信程序,而且相比之下也不会有性能低下等问题。

考虑到网络游戏通常有成百上千的不同消息类型,这个功能可以明显缩短开发时间并防止因不易发现的小失误所造成的困扰。

ProudNet还提供了客户端和服务器之间的通信模块、分布式服务器通信模块和数据库缓存模块,以便游戏服务器开发人员更加简单地设置并安装一个

自定义服务器。

ProudNet使用手册包含500页的说明。我们会定期更新其内容,以为更好地帮助开发人员使用和理解ProudNet。

开发便利性

Page 19: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

ProudNet 特点11

如今手机游戏已占市场主导地位,而对于防盗安全和实时多人游戏也便成了重要难题。如果只在客户端体现并处理游戏Logic则容易受到黑客攻击。由其在Black Market中,盗取应用购买及盗取在应用中的购买(IAP)从而获得非法收益的情况也时常发生。对此类问题您可以用ProudNet解决。

在用服务器Side游戏Logic处理黑客问题的同时可以不受Web服务器的低反应性影响。

在手机游戏中ProudNet可以提供稳定的实时多人游戏,并且在将游戏Logic移至服务器的同时确保高反应性。

在云服务器中想要用P2P解决对Latency较为敏感的处理时可以使用ProudNet。

优化于手机游戏

Page 20: Middleware - ProudNetReference 1. 已有157个游戏项目选择了 ProudNet & 且游戏项目数 正在持续增加中 Reference 2. 使用ProudNet的手游“魔物学园” - ProudNet的每一个聊天服务器

株式会社耐腾信(Nettention)

耐腾信(Nettention)是不断研发游戏软件开发技术的企业。耐腾信(Nettention)开发的游戏服务器&网络引擎ProudNet已被诸多游戏开发商采纳,但我们并不满足于此,继续发展专业技术能力并竭尽全力为客户提供最优质的技术支援。

耐腾信(Nettention)只走正道。

以耍小聪明或通过快捷之道获得的成果只是建立在沙盘上的城堡,耐腾信(Nettention)以忠于基础的信念对产品进行研发。

耐腾信(Nettention)懂得忍耐。

要走正道过程必定会坎坷。但我们不妥协于此,为获得最好的成果耐腾信(Nettention)将一直坚持不懈地努力。

耐腾信(Nettention)追求创新

坚持不懈只走正道的耐腾信(Nettention)追求的是创新。以广泛的知识和深湛的经验为武器,不畏挑战追求创新便是我们的态度。

Nettention Co., Ltd.