NettyGameServer 开源项目教程

NettyGameServer 开源项目教程

NettyGameServer使用netty4.X实现的手机游戏分布式服务器,支持tcp,udp,http,websocket链接,采用protobuf自定义协议栈进行网络通信,支持rpc远程调用,使用mybatis3支持db存储分库分表,支持异步mysql存储,db保存时同步更新reids缓存。 使用ExcelToCode工程,将excel数据生成java类和json数据字典,DictService直接读取json,减少数据字典部分代码。使用game-executor工程,增加游戏内的异步事件全局服务, 支持事件sharding,均衡的异步执行事件逻辑项目地址:https://gitcode.com/gh_mirrors/ne/NettyGameServer

项目介绍

NettyGameServer 是一个使用 Netty4 实现的手机游戏分布式服务器。它支持 TCP、UDP、HTTP 和 WebSocket 连接,并采用 Protobuf 自定义协议栈进行网络通信。该项目还支持 RPC 远程调用,使用 MyBatis3 进行数据库存储和分库分表,支持异步 MySQL 存储,并在数据库保存时同步更新 Redis 缓存。此外,它还使用 ExcelToCode 工程将 Excel 数据生成 Java 类和 JSON 数据字典,减少了数据字典部分的代码。

项目快速启动

环境准备

  • Java 8 或更高版本
  • Maven
  • MySQL
  • Redis

克隆项目

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

配置数据库

编辑 src/main/resources/application.properties 文件,配置 MySQL 和 Redis 连接信息。

spring.datasource.url=jdbc:mysql://localhost:3306/netty_game_server
spring.datasource.username=root
spring.datasource.password=yourpassword

spring.redis.host=localhost
spring.redis.port=6379

编译和运行

mvn clean install
java -jar target/netty-game-server.jar

应用案例和最佳实践

应用案例

NettyGameServer 已被多个手机游戏项目采用,特别是在需要高性能和低延迟的游戏场景中表现出色。例如,某大型多人在线角色扮演游戏(MMORPG)使用该服务器框架实现了稳定的服务器架构,支持了数万同时在线用户。

最佳实践

  1. 性能优化:使用异步事件全局服务和事件分片技术,确保事件逻辑的均衡异步执行。
  2. 缓存策略:在数据库保存时同步更新 Redis 缓存,减少数据库访问压力。
  3. 代码生成:利用 ExcelToCode 工程自动生成数据字典,减少手动编写代码的工作量。

典型生态项目

GameExecutor

GameExecutor 是一个用于增加游戏内异步事件全局服务的工程,支持事件分片,确保事件逻辑的均衡异步执行。

ExcelToCode

ExcelToCode 工程用于将 Excel 数据生成 Java 类和 JSON 数据字典,减少数据字典部分的代码编写工作。

RedisGameTransaction

RedisGameTransaction 是一个事务处理模块,用于在游戏服务器中处理复杂的事务逻辑,确保数据的一致性和完整性。

通过以上模块的组合使用,NettyGameServer 提供了一个完整且高效的游戏服务器解决方案。

NettyGameServer使用netty4.X实现的手机游戏分布式服务器,支持tcp,udp,http,websocket链接,采用protobuf自定义协议栈进行网络通信,支持rpc远程调用,使用mybatis3支持db存储分库分表,支持异步mysql存储,db保存时同步更新reids缓存。 使用ExcelToCode工程,将excel数据生成java类和json数据字典,DictService直接读取json,减少数据字典部分代码。使用game-executor工程,增加游戏内的异步事件全局服务, 支持事件sharding,均衡的异步执行事件逻辑项目地址:https://gitcode.com/gh_mirrors/ne/NettyGameServer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩宾信Oliver

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值