開源遊戲框架

一、netty+redis分佈式搭建棋牌遊戲服務器

https://github.com/shiyun3210/jyqp

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

 

二、開源麻將,供用戶學習。使用netty 開發

https://github.com/henanren/majiang

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

作者博客:

http://www.laomn.com

啓動流程:

 

三、使用netty4.X實現的手機遊戲服務器

支持tcp,udp,http,websocket鏈接,採用protobuf自定義協議棧進行網絡通信,支持rpc遠程調用,使用mybatis3支持db存儲分庫分表,支持異步mysql存儲,db保存時同步更新reids緩存。 使用ExcelToCode工程,將excel數據生成java類和json數據字典,DictService直接讀取json,減少數據字典部分代碼。使用game-executor工程,增加遊戲內的異步事件全局服務, 支持事件sharding,均衡的異步執行事件邏輯

https://github.com/jwpttcg66/NettyGameServer

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

文檔地址

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

 

四、JgFramework - 基於Netty的強大的遊戲服務器框架

https://github.com/bupt1987/JgFramework

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

特點

1、使用netty作爲底層,性能得到保障

2、支持socket和websocket2種連接模式,可以自由選擇

3、簡單實用的路由,方便handler開發

4、異步無鎖的數據同步

5、spring+Hibernia的自動注入和事務管理

6、mysql數據庫的讀寫分離以及對多數據庫的讀寫支持

7、傳輸數據的多樣化,可以自用實現接口來實現不同的傳輸數據類型,現在使用的是json

8、框架自帶了認證服務和管理服務,有簡單的管理命令,需要telnet連接到端口(默認38080)

9、方便的ip段限制功能

10、方便設置心跳檢查

11、登錄方和服務端之間的認證,可通過實際接口來完成,默認使用的rsa加密傳輸認證碼

12、性能優良的排隊系統

13、豐富的工具類:memcache、redis等

14、基本遊戲模塊的抽象

性能測試

測試信息

cpu : AMD A10

內存 : 8G

測試項目 : https://github.com/bupt1987/JgWeb   

測試腳本 : src/test/java/client/TestWebSocket.java

測試方式 : 自壓

測試結果

在100個登錄用戶,每個用戶在登錄完成,再init操作之後,每個用戶發送100000個請求,   

得到每秒處理請求數在3.5W左右。

歡迎加入

如果對該系統有興趣可以發郵件至 [email protected] 一起探討,歡迎加入

 

五、JgFramework-demo

https://github.com/bupt1987/JgWeb

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

注意事項

1、開發是在Eclipse下開發的,需要maven支持,jdk在1.7以上

2、啓動使用tomcat或者直接運行com.zhaidaosi.game.serve.BootStart 中的main方法。

3、如果是tomcat的訪問http://127.0.0.1/JgWeb,如果是運行main方法的,  

用瀏覽器打開src/main/webapp/index.html即可

4、注意新建數據庫,sql在docs目錄下,還要注意數據庫用戶名密碼,  

在src/main/java/jdbc.properties

配置文件

見src/main/java/下

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

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

默認配置見JgFramework框架中的default_jgframework.properties

3、數據庫配置:jdbc.properties

 

六、一個初級基於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給所有在線玩家

 

算法

一、麻將胡牌算法以及AI算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章