sae项目服务器,基于SAE的游戏服务器: Server on SAE for RGSS Games 部署在SAE上的简易游戏服务器,为用 RMXP/VX/VA 开发的游戏提供网络服务...

本项目已经关闭

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1090 Highest Price in Supply Chain (25)

A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root suppli…

mysql 列数据显示转成行数据显示_Mysql的列修改成行并显示数据的简单实现

创建测试表:DROP TABLE IF EXISTS test;CREATE TABLE test (year int(11) DEFAULT NULL,month int(11) DEFAULT NULL,amount double DEFAULT NULL) ENGINEInnoDB DEFAULT CHARSETutf8;插入数据:INSERT INTO test VALUES (1991, 1, 1.1);INSERT INTO test…

Android两种常见错误(ANR和FC)解决办法

ANR(Activity Not Respone)(无响应)先介绍下Main线程(也称为UI线程、主线程)功能: 1.创建UI控件2.更新UI控件状态3.事件处理限制:Main线程不建议有超过5秒的事件出现条件:当用户输入事件5s内没有得到响应,将弹出ANR对话…

mysql命令(command)

连接mysql命令: mysql -h 192.168.1.1 -P 3306 -uuserName -pPassword 显示表的索引: SHOW INDDEX FROM table_name 查看mysql的超时时间:SHOW GLOBAL VARIABLES LIKE %timeout% 备份表结构和表数据:mysqldump -u用户名 -p 库名 表1 表2 > xxx.sql只…

微信5.0登录提示服务器繁忙,iOS集成友盟社会化分享微信无法登录?

iOS集成友盟社会化分享SDK-5.0点击微信登录的时候出现无法获取accessToken的现象,其他如QQ、微博都可以正常登录使用。另外QQ、微博和微信分享都可以正常使用。望各位早日帮我解决或者分析一下。谢谢//微信登录之后的回调- (BOOL)application:(UIApplication *)appl…

sql获取某列出现频次最多的值_业务硬核SQL集锦

戳上方蓝字关注我 这两年学会了跑sql,当时有很多同学帮助我精进了这个技能,现在也写成一个小教程,反馈给大家。适用对象:工作中能接触到sql查询平台的业务同学(例如有数据查询权限的产品与运营同学)适用场景:查询hive&…

void ,NULL与0的区别联系

void ,NULL及0的区别联系 void的详解: void的字面意思是“无类型”或“空类型”,void*则为“无针型指针”,那就意味着void*可以指向任何类型的数据。 众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值&…

python 2 days

1,格式化输出,%s %d 2,复习昨日讲题 编译型: 将代码一次性全部编译成二进制,然后运行。 优点:执行效率高。 缺点:开发效率低,不能跨平台。 C解释型: 代码…

nginx编译安装与配置使用

第一部分----nginx基本应用源码编译安装nginx1、安装pcre软件包(使nginx支持http rewrite模块)yum install -y pcre yum install -y pcre-devel2、安装openssl-devel(使nginx支持ssl)yum install -y openssl-devel3、创建用户ngin…

ubuntu+查看服务器文件夹权限,Ubuntu - 文件夹权限查看与修改

Ubuntu 文件的归属身份有四种:u - 拥有文件的用户(所有者)g - 所有者所在的组群o - 其他人(不是所有者或所有者的组群)a - 每个人或全部(u, g, o)1. 查看文件/文件夹权限ls -l filename # 查看文件权限ls -ld folder # 查看文件夹权限输出结果如:drwxrwx…

mysql dump 1449_跨版本mysqldump恢复报错Errno1449

已经有一套主从mysql,新增两个slave主库Server version: 5.6.22-log MySQL Community Server (GPL)旧从库Server version: 5.6.28-log MySQL Community Server (GPL)新增SLAVE 1: Server version: 5.6.22-log MySQL Community Server (GPL)新增SLAVE 2: …

修复 Xcode 错误 “The identity used to sign the executable is no longer valid”

如图: 解决方法来自:http://stackoverflow.com/questions/7088441/the-identity-used-to-sign-the-executable-is-no-longer-valid/14275197 Restarting Xcode didnt work for me. What fixed it for me was going to Accounts in Xcode (in preferences…

centos设置ip

这里是centos7.vmware安装centos后需要设置ip 1.首先查看虚拟机的网络适配器信息 2.根据信息修改配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 图为修改后的,最初的配置为 BOOTPROTOdhcp ONBOOTno IPADDR,GATEWAY,NETMASK没有进行配置需要根据网络适配器配置手动维…

微信支付+服务器+php代码,php 微信支付企业付款(示例代码)

/*** 格式化参数格式化成url参数*/public function ToUrl($arr){$buff "";foreach ($arr as $k > $v){if($k ! "sign" && $v ! "" && !is_array($v)){$buff . $k . "" . $v . "&";}}$buff trim($b…

Spark踩坑记——数据库(Hbase+Mysql)转

转自:http://www.cnblogs.com/xlturing/p/spark.html 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值。最近一个实时消费者处理任务,在使用spark streaming进行…

解决Failed to connect session for conifg 故障

服务器升级openssh之后jenkins构建报错了,报错信息如下: Failed to connet or change directory jenkins.plugins.publish_over.BapPublisherException:Failed to connect session for config.....Message [Algorithm negotiation fail] 升级前ssh版本&a…

78oa mysql_78oa系统版本升级方法

可升级版本预览升级方法:1、备份数据库、附件目录、二次开发程序打开开始菜单——控制面板——管理工具——服务,右键点击停止 78oa mysql service 服务,完整复制【D:\78OA\server\modules\storage\data\78oa】(数据库)文件夹至备份区域。完整…

Excel导出显示服务器意外,C# 调用Excel 出现服务器出现意外状况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)...

C# 调用Excel 出现服务器出现意外状况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)htmlprivate Microsoft.Office.Interop.Excel.Application xApp;private Microsoft.Office.Interop.Excel.Workbook xBook;服务器//变量xApp new Microsoft.Office.Interop.Excel.Appl…

列表、元组、字典、集合的定义、操作与综合练习

l[A,B,C] t{A,B,C}l.append(B)print(l)scores[66,77,88]d{A:66,B:77,C:88} d[B]99 d[D]111 d.pop(C) print(d)s1{A,B,C} s2{A,C,D} print(s1&s2) print(s1|s2) 转载于:https://www.cnblogs.com/chenjunyu666/p/9147417.html

xargs

find /tmp/ -name "*.log" -mtime 4 | xargs -i -t mv {} /home/ find /tmp/ -name "*.log" -mtime 4 -print0 | xargs -0 rm -f xargs(1) xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块…