jforgame轻量级手游服务端框架

联合创作 · 2023-09-25 14:48

jforgame,一个用java编写的轻量级手游服务端框架。项目只使用简单的业务功能作为演示,主要提供各种支持游戏快速开发的组件,以及对生产环境的服务进行管理的工具。

该框架吸取了笔者参与的众多手游项目的成功经验,从中精挑细选了各个模块的优秀实现。希望每个模块都能以一种优雅简便的api供外部使用。当然,由于笔者经验问题,部分实现仍有诸多不足,希望大家一起完善,一起改进,这也是开源的目的。

main 3rd party

  • Mina,nio socket framework

  • jprotobuf, message codec

  • Guava,memory cache

  • quartz,  job task scheduler

  • groovy, execute script code and class hotswap  

  • proxool,mysql data pool

  • slf4j+log4j,for logging

模块目录

game包是游戏的业务模块, 其余包则是各种辅助模块。允许game包调用其他模块的接口,尽量避免其他模块对game包的调用。各个模块包括:

  • cache包,使用guava cache库,用于支持系统的缓存框架  

  • orm包,使用自定义的orm框架,用于数据库表记录与程序pojo对象的相互转换   

  • db包,使用独立线程,异步处理玩家及公共数据的持久化  

  • monitor包,系统监控模块,包括使用jmx对程序进行监控   

  • net包,包括io网关模块,玩家消息自动映射到业务模块,异步处理玩家消息的线程模型 

  • listener包,事件驱动模型

  • doctor包,采用基于类替换的方式实现热更新(类级热更新而非方法级)

  • game/gm包,游戏内部金手指命令

  • game/http包,游戏运营/运维后台命令

  • logs, 日志系统

  • utils包,各种工具类

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报