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 綁定在 一起,提供最大程度的靈活伸縮性。