開源遊戲框架

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算法

相關文章
相關標籤/搜索