jforgame - 轻量级手游服务端框架


Apache
跨平台
Java

软件简介

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包,各种工具类