开源游戏框架

1、netty+redis分布式搭建棋牌游戏服务器

https://github.com/shiyun3210/jyqphtml

https://github.com/shiyun3210/jyqp.gitjava

 

2、开源麻将,供用户学习。使用netty 开发

https://github.com/henanren/majiangmysql

https://github.com/henanren/majiang.gitgit

做者博客:

http://www.laomn.comgithub

启动流程:

 

3、使用netty4.X实现的手机游戏服务器

支持tcp,udp,http,websocket连接,采用protobuf自定义协议栈进行网络通讯,支持rpc远程调用,使用mybatis3支持db存储分库分表,支持异步mysql存储,db保存时同步更新reids缓存。 使用ExcelToCode工程,将excel数据生成java类和json数据字典,DictService直接读取json,减小数据字典部分代码。使用game-executor工程,增长游戏内的异步事件全局服务, 支持事件sharding,均衡的异步执行事件逻辑web

https://github.com/jwpttcg66/NettyGameServerredis

https://github.com/jwpttcg66/NettyGameServer.git算法

文档地址

https://github.com/jwpttcg66/NettyGameServer/wikispring

 

4、JgFramework - 基于Netty的强大的游戏服务器框架

https://github.com/bupt1987/JgFrameworksql

https://github.com/bupt1987/JgFramework.git

特色

一、使用netty做为底层,性能获得保障

二、支持socket和websocket2种链接模式,能够自由选择

三、简单实用的路由,方便handler开发

四、异步无锁的数据同步

五、spring+Hibernia的自动注入和事务管理

六、mysql数据库的读写分离以及对多数据库的读写支持

七、传输数据的多样化,能够自用实现接口来实现不一样的传输数据类型,如今使用的是json

八、框架自带了认证服务和管理服务,有简单的管理命令,须要telnet链接到端口(默认38080)

九、方便的ip段限制功能

十、方便设置心跳检查

十一、登陆方和服务端之间的认证,可经过实际接口来完成,默认使用的rsa加密传输认证码

十二、性能优良的排队系统

1三、丰富的工具类:memcache、redis等

1四、基本游戏模块的抽象

性能测试

测试信息

cpu : AMD A10

内存 : 8G

测试项目 : https://github.com/bupt1987/JgWeb   

测试脚本 : src/test/java/client/TestWebSocket.java

测试方式 : 自压

测试结果

在100个登陆用户,每一个用户在登陆完成,再init操做以后,每一个用户发送100000个请求,   

获得每秒处理请求数在3.5W左右。

欢迎加入

若是对该系统有兴趣能够发邮件至 bupt1987@gmail.com 一块儿探讨,欢迎加入

 

5、JgFramework-demo

https://github.com/bupt1987/JgWeb

https://github.com/bupt1987/JgWeb.git

注意事项

一、开发是在Eclipse下开发的,须要maven支持,jdk在1.7以上

二、启动使用tomcat或者直接运行com.zhaidaosi.game.serve.BootStart 中的main方法。

三、若是是tomcat的访问http://127.0.0.1/JgWeb,若是是运行main方法的,  

用浏览器打开src/main/webapp/index.html便可

四、注意新建数据库,sql在docs目录下,还要注意数据库用户名密码,  

在src/main/java/jdbc.properties

配置文件

见src/main/java/下

一、spring的配置文件:applicationContext.xml和services.xml

二、框架配置文件:jgframework.properties,  

默认配置见JgFramework框架中的default_jgframework.properties

三、数据库配置:jdbc.properties

 

6、一个初级基于netty的java游戏后台开发框架

https://github.com/vincepeng/gameNettyDemo

https://github.com/vincepeng/gameNettyDemo.git

     这是一个基于netty的java游戏后台开发框架,很初级可是和当前我司实际开发环境也比较相似. 使用protobuf编码数据,使用一个short字节区分消息类型. 用法: 先搭建好protobuf环境,protobuf.exe放置在lib目录里面 而后运行nettyServer; 运行client1,client2,client3之一,能够自动链接服务端,服务端回包欢迎,对应客户端发送给服务端一句话,服务端push给全部在线玩家

 

算法

1、麻将胡牌算法以及AI算法

相关文章
相关标签/搜索