# wgframe **Repository Path**: 58753101/wgframe ## Basic Information - **Project Name**: wgframe - **Description**: 一个java编写游戏服务端框架,旨在简化游戏服务器开发流程,提高开发效率和系统性能。 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 2 - **Created**: 2021-01-26 - **Last Updated**: 2025-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 游戏, 游戏服务端框架, Game-engine ## README # WGFrame ## 项目简介 WGFrame是一个基于Java 8开发的高性能、可扩展的网络通信框架,专为游戏服务器端应用设计。该框架以Netty为通信基础,提供了完整的网络通信、数据持久化、缓存管理、事件系统等核心功能模块,旨在简化游戏服务器开发流程,提高开发效率和系统性能。 ## 版本信息 - 当前版本:3.0.1 - JDK 要求:Java 8 及以上 - 构建工具:Maven ## 核心特性 ### 1. 网络通信模块 - 基于 Netty 4.2.4.Final 实现高性能 TCP/WebSocket/HTTP 服务器和客户端 - 支持多种协议格式和消息编解码(包括二进制和JSON格式) - 完整的会话管理和连接状态跟踪机制 - 内置心跳检测和断线重连功能 - 服务器间通信支持 - 自定义网络协议实现,支持请求/响应模式 ### 2. 数据持久化模块 - MySQL 数据库连接池管理(基于 Druid 1.0.27) - Redis 缓存操作封装(基于 Jedis 2.9.0) - 异步数据写入机制,提高性能 - 数据库操作封装和事务管理 - 实体映射和数据转换工具 - 支持自定义数据访问异常处理 ### 3. 核心工具库 - 高性能缓存管理(基于 Caffeine 2.7.0) - 事件驱动系统,支持自定义事件和监听器 - 线程池和并发工具,包括纤程支持 - 多种序列化方式(FastJSON、二进制、Protobuf) - 定时任务调度系统 - 各种通用工具类(IO、网络、加密等) - ID生成器、计数器、排行榜等游戏常用功能 ### 4. 游戏相关功能 - 游戏配置管理系统 - 应用程序生命周期管理 - 启动器和关闭钩子 - 脚本系统支持 - 权重管理工具 ## 项目架构 WGFrame 采用模块化设计,主要包含以下核心包: - **com.wg.core**:通用功能模块,包含缓存、事件、线程池等基础功能 - **com.wg.db**:数据库模块,提供MySQL和Redis操作封装 - **com.wg.net**:网络通信模块,基于Netty实现的TCP/WebSocket/HTTP通信 - **com.wg.game**:游戏相关功能模块 ### 协议规则 框架使用自定义的二进制协议,消息格式如下: #### 基本消息格式 ``` +---------+---------------+ | 4 | N | +---------+---------------+ | length | body | +---------+---------------+ ``` #### 请求消息体格式 ``` +---------+-------------+---------------+ | 1 | 2 | N | +---------+-------------+---------------+ | | action | data | +---------+-------------+---------------+ ``` #### 响应消息体格式 ``` +---------+-------------+---------------+--------------+---------------+ | 1 | 2 | 2 | N | N | +---------+-------------+---------------+--------------+---------------+ | | action | ReturnCode | message | data | +---------+-------------+---------------+--------------+---------------+ ``` ## 技术栈 - **核心框架**:Netty 4.2.4.Final - **序列化**:FastJSON 2.0.58, Protobuf 4.30.2 - **缓存**:Caffeine 2.7.0 - **工具库**:Hutool 5.8.9 - **数据库连接池**:Druid 1.0.27 - **Redis客户端**:Jedis 2.9.0 - **MySQL驱动**:mysql-connector-java 8.0.11 - **其他**:emoji-java 5.1.1 ### 快速开始 请参考 [示例项目](https://gitee.com/58753101/OpenGame.git) 了解如何使用 WGFrame 开发游戏服务器。 ## 更多信息 - [Wiki文档](https://gitee.com/58753101/wgframe/wikis/%E5%88%9B%E5%BB%BAdemo) ## 许可证 详见 LICENSE 文件