tengqingya / TinyGameServer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TinyGameServer


(Dota比较喜欢小小,tiny由此而来:sunglasses:)

相关技能

  • Maven、Spring
  • Java1.8、netty4、protobuf3(syntax2, 习惯用2了, 慢慢学习3)
  • spring-data-mongo

maven结构

  • parent:tiny.gameserver
  • child:
	<module>tiny-gs</module>   // 服务器主逻辑
	<module>tiny-client</module> // 测试用客户端
	<module>tiny-config</module> // 表格、协议等相关配置信息
	<module>tiny-link</module> // link服务器,服务器和客户端的中转
	<module>tiny-net</module> //  网络相关公用类
	<module>tiny-db</module> //  内存数据库

项目功能

实现简单的游戏服务器功能,完成与客户端(用项目下的client测试)消息的通信

架构**

gs-link-client

使用介绍

  • 生成协议 tiny-config/protoGen/gen.bat  生成相关的协议文件
  • 生成数据可以bean tiny-config/dbGen/dbGen.bat 生成bean文件 (11.16更新为了方便测试 现在在AppContext中加入测试的方法)
  • 依次启动 ServerMain 、LinkServer、ClientMain,ClientMain控制台输入1或者2(C2SMessageInit编写)进行消息测试

后续工作

  • 加入打表工具,发便应用相关配置
  • aop接入日志
  • 建立内存数据库,接入nosql(redis、mongo)

最近更新

11.16更新

  • dbGen 数据库Bean生成工具(不断根据业务需求更新)
  • spring-data-mongo(查了半天的问题, 原来是版本没选对....)

11.22更新

  • mongo版本由2.x改为3.x(网上稍早的教程都是2.x的,改的时候一堆坑)
  • 将解码后的消息封装成task,派发到业务线程池中,以保证NIO线程被尽快释放

1.10 更新

  • 添加存储过程相关,事务还没弄完,后续继续完善。。

1.12 更新

  • 事务基本完成,异常回滚,先实现一种回滚(代码中的rollback0),有待优化

联系我

  • wechat tiny_9892
  • 欢迎沟通,共同进步

About


Languages

Language:Java 98.6%Language:Batchfile 1.4%