Jabber Game Server Lite (JGSL)

JGSL是用NPL脚本开发的上层网络逻辑层。点击查看ParaEngine的网络特效综述.

JGSL 工作原理

JGSL_client .. .. .. .. .. JGSL_client
JGSL_gateway JGSL_gridnode 1 .. JGSL_gridnode 2
ejabberd: Clustered Message Dispatching Servers

基于开源内核的游戏服务器集群方案

我们的游戏服务器端使用了有近十年发展历史, 百万级同时在线, 集群化管理的开源内核ejabberd (服务可运行在Linux或Windows平台, 建议使用Linux). 此内核主要负责认证和消息分配(Message Dispatching), 包含了非常细致的用户带宽管理规则。运营人员可以限制每个用户所能使用的带宽量, 例如(2KB/s)

游戏服务器

ParaEngine引擎允许程序员使用NPL脚本语言开发服务器端逻辑. JGSL是用NPL开发的基于网格的游戏服务器端组建. 它包含了用户位置, 形象, 行为的网络传输等。 开发者可以在此基础上继续扩展开发游戏相关的任务和战斗系统. JGSL的工作原理很简单,并可以通过XML配置文件启动:首先客户端请求GridServer询问当前人物位置的GridNodes, 然后直接和GridNodes通讯. 传输方面, 我们做了许多带宽优化, 如对String, int的优化和所有数据的差值传输。

NPL脚本的网络功能

NPL全称Neural Parallel Language, 最初被定义为面向并行化的网络编程语言, 是!ParaEngine的核心技术之一. 每个脚本文件都有自己的URL, 都可以成为其他网络中脚本的通讯对象。 脚本之间使用单向,非同步的通讯方式,且只能传输纯数据(Pure Table), 并且运行时环境可以设置允许那些非本地脚本与自己通讯. 因此!NPL被用于客户端和服务端的编程。 ParaEngine本身可以以系统服务的形式运行, 所以服务器端和客户端是使用了同一个引擎, 这样简化了游戏开发, 并且大量复用了逻辑代码。

专业即时通讯解决方案(IM)

NPL脚本本身支持基于Jabber/XMPP的常用协议, 例如在线状态, 好友, 分组, 黑名单, 私聊等. 可以迅速开发出游戏内和游戏外的功能全面的IM系统, 并可以和MSN, Yahoo等IM通讯

Web服务器

这是所有基于WWW协议的服务器, 一般是HTTP(s). 使用方式由产品决定, 例如可以用来如登录, 资源下载, 交易, 充值, SNS管理等.

WWW URL 请求

ParaEngine引擎可以访问几乎所有WWW协议的网络内容. 例如Internet网页, Web Service, REST API, 图片, Flash等 同时我们还开发了强大的本地缓存功能, 可以指定每个数据的过期时间等, 并在没有网络的情况下脱机访问. 我们支持同步和异步两种接口.

社交网络API

这是一套!ParaEngine开发的社交网络API. 它使得你可以开发出具有目前2D社交网络特性的3D社区或游戏产品. 例如它支持第三方APP开发, 用户管理, 好友管理, 以及大量APP接口.

HTML/MCML 浏览器

我们用!NPL脚本开发了一个简单的HTML浏览器, 它使用3D API渲染, 相当于游戏UI的一部分. 同时我们也支持Mozilla内核的Web浏览器, 它是先将网页渲染到贴图中, 然后以贴图的形式显示; 同样的原理我们还支持Flash格式的贴图.
Topic revision: r2 - 2009-03-25 - LiXizhi
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback