本項目已經關閉
服務端已經關閉并且不再重啟,后續請訪問 RGSOS on Gitlab
基于SAE的游戲服務器
重寫服務端邏輯中……暫時無法正常提供服務
功能
數據庫封裝
封裝了 SAE 上的 Memcached,KVDB 和 Storage 到 SAE_IO 類,并引申到兩個子類:SAE_IO_KV 和 SAE_IO_LI,分布用于保存 KV 類數據和 List 類的數據。
SAE_IO_KV 的數據以 key-value 的形式保存和調用。 SAE_IO_LI 的數據是類似于聊天信息,會定期保存,并且只允許獲取最新的內容。
SAE_DATA 類,作為所有游戲數據類的父類,提供了數據的初始化,讀寫等接口。
KV 數據
List 數據
SAE_DATA 類
數據傳輸
客戶端基于不死鳥之翼制作的 HTTP 庫,擁有異步并發的 HTTP 通訊能力。為了防止信息泄露,這里會將需要傳輸的部分信息進行加密,加密方法是 AES128,使用 CBC 模式,密鑰保存在本地的腳本里。
HTTP 傳輸
加密數據傳輸
文件上傳下載(非加密)
具體功能
提供一些常用功能的具體實現,包括客戶端和服務端的設置。
網絡變量
網絡商店
注冊登錄
聊天功能
存檔同步
自動更新
定時任務
數據備份
指南
如何部署到 SAE 上
如何設置數據庫
如何增加新的 action
如何修改 AES 密鑰
服務端版本
v1.0
正式的服務器已經上傳,Region 類現在是 RPG_THREAD 的子類,提供了云存檔和聯機對戰的功能
刪去了lib文件夾
v0.4
RPG 中引入了 RPG_THREAD 類,用于簡易的 worker,并且 shop 也寫好了
v0.3
服務器結構優化:引入了 sae-worker 用于在后臺周期性執行代碼;引入 sae-io-tl 類作為僅存儲于 Memcached 中的 list
RPG 服務的 Game 類和 Region 類,用于同步玩家的位置、聊天以及數據共享等基本功能
v0.2
在 SAE_DATA 中引入了緩存機制,并優化其內部結構:移除了類函數對參數 data_type 的依賴
v0.1
上傳了基本的 SAE-IO 文件,以及部分 lib 參考文件
客戶端版本
v0.2
與服務端 v1.0 同時提交了新的測試客戶端,制作工具是 RMXP,云存檔,聯機對戰
v0.1
提交 RMXP 的 RPG 客戶端,同步玩家位置,在線聊天