本项目已经关闭
服务端已经关闭并且不再重启,后续请访问 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 客户端,同步玩家位置,在线聊天