• 1.摘要
  • 2.基本信息
  • 3.简介
  • 4.特点

BS.Play

BS.Play

BS.Play是一套开放源代码,可以提供libcomoroclient 同样的功能。

基本信息

  • 中文名

    BS.Play

  • 简介

    一套开放源代码

  • 提供

    libcomoroclient 同样的功能

  • 运用

    LUA 编写的游戏逻辑脚本

  • 部分

    C核心服务器omoro

  • 分别部署

    好多

简介

BS.Play 是一套开放源代码的通用网络游戏通讯平台,目的用于快速构建高效稳定的可扩展网络游戏 通讯模型。 BS.Play 遵守 GPLv3 协议,您可以免费获取、修改源代码,将项目应用于生产环境中。您可以提交 bug、修改意见、新功能需求到开发团队,也可以加入开发团队与我们一起为其工作。 目前 BS.Play 为 BS.Group 团队开发维护,并应用于其它商业项目中。

BS.Play 提供 AS3 的客户端 API,完成和 libcomoroclient 同样的功能。由于 BS.Play 非常适合制作 Flash 联机网络游戏,所以 AS3 的 API 也是比较完整的,同时登录服务器也提供了对安全砂箱的支 持,可以在最新的 Flash Player 上正常使用所有网络功能。

BS.Play 支持 LUA 编写的游戏逻辑脚本。LUA 是一种轻巧、高效的嵌入式脚本语言,非常适合于编 写复杂的配置参数和逻辑计算过程。所有的脚本由 Center Server 负责执行,服务器提供了对 LUA 语言本身的扩展,使其支持对内存存储池的直接读写、定时器、网络数据发送、数据库操作等功能。 尤其是,LUA 逻辑脚本可以在 Center Server 不停机的状态下实现动态重载,这给临时修改游戏逻辑 和参数提供了非常大的方便条件。

特点

BS.Play 的部分 Com核心服务器oro ,运行于*NIX 平台上,使用 C 语言开发,采用单进程静态多线程的事件 驱动模型,可以作为普通应用程序和守护进程执行。

Comoro 可以分别部署为 Coin Server、Login Server、Base Server 和 Center Server,在小规模实现中,Base Server 和 Center Server 可以合并在一起。

Coin Server用来对外提供虚拟币的查询和转账接口,通过标准的HTTP方式操作,Banker(包括游戏的虚拟币源及各级代理)可以向下级代理或游戏用户转账。

Login Server用来处理用户的登录操作,完成用户登录验证、session 生成、服务器列表及状态反馈 等工作,并可以为 Flash 客户端提供安全砂箱。

Base Server为基础的连接服务,提供所有客户端通讯连接,目前支持 TCP 协议,Base Server 会 提供安全有效的简单加密连接,并对所有命令做完整性校验。

Center Server为 Comoro 的核心逻辑服务器,一个或多个 Base Server 可以连接在其上,将客户端 的命令及参数转发,由 Center Server 将客户端数据作为输入送入由 LUA 编写的逻辑脚本中执行, 并将脚本的执行结果反馈回 Base Server。Center Server 中包含基于用户的数据存储池、LUA 状态 机,并提供逻辑脚本对 MySQL 数据库的操作能力。同时,Center Server 中包含一个嵌入式的 WebServer,用于服务器状态的查看、控制,也可以作为普通的 WebServer 提供 HTTP 服务。

Login Server、Base Server 和 Center Server 由一种叫做 Bridge 的机制连接在一起。通常一个完整 的实现中包括一个 Login Server,一个 Center Server 和若干的 Base Server。Base Server 的数量 可以根据需要增减,或者将唯一的 Base Server 和 Center Server 通过非网络连接的 Bridge 绑定在 一起,提供最大程度的灵活伸缩性。