国内首个基于蚂蚁金服 SOFABolt 的 java 网络游戏服务器框架;无锁异步化、事件驱动的架构设计;
通过 ioGame 可以很容易的搭建出一个集群无中心节点、有状态的分步式网络游戏服务器
无中间件依赖、代码即文档、JSR380、断言 + 异常机制 = 更少的维护与开发成本
轻量级、启动快、更节约、更简单、开箱即用、无配置文件、超高性能
近原生、业务框架平均每秒可以执行 1152 万次业务逻辑
神级特性:业务代码访问定位与跳转
对webMVC开发者友好
部署多样性
https://www.yuque.com/iohao/game
过去、现在、将来都不会有商业版本,所有功能全部开源!
只做真的完全式开源,拒绝虚假开源,售卖商业版,不搞短暂维护!
承诺项目的维护周期是十年起步, 2022-03-01起,至少十年维护期!
提供高质量的使用文档!
如果您觉得还不错,帮忙给个 start 关注!
https://www.yuque.com/iohao/game/ruaqza
示例内容包含
- 多服多进程的方式部署
- 单体应用方式部署
- springboot 集成
- JSR380验证
- 断言 + 异常机制 = 清晰简洁的代码
- 请求、无响应
- 请求、响应
- 广播指定玩家
- 广播全服玩家
- 单个逻辑服与单个逻辑服通信请求 - 有返回值(可跨进程)
- 单个逻辑服与单个逻辑服通信请求 - 无返回值(可跨进程)
- 单个逻辑服与同类型多个逻辑服通信请求(可跨进程)
- 业务参数自动装箱、拆箱基础类型(解决协议碎片问题)
- 游戏文档生成
- 业务协议文件 .proto 的生成
.
├── example (示例)
│ ├── example-broadcast (广播示例)
│ ├── example-cluster-run-one (集群示例)
│ ├── example-endpoint 示例目录 玩家动态绑定逻辑服节点
│ ├── example-for-spring (spring集成示例)
│ ├── example-for-tcp-socket (对外服使用tcp协议示例)
│ ├── example-hook 示例目录 钩子相关(心跳,用户上线、下线)
│ ├── example-interaction (逻辑服与逻辑服之间的交互,可跨进程通信)
│ ├── example-interaction-same 示例目录 逻辑服间的相互通信;请求同类型多个逻辑服的结果集(可跨进程)
│ ├── example-parent
│ ├── example-redisson-lock (分步式锁)
│ ├── example-redisson-lock-spring-boot-starter (分步式锁 for springBootStarter)
│ └── example-run-one (快速启动示例)
├── example-game-collect (实战示例、坦克)
│ ├── fxgl-tank (游戏引擎-坦克游戏启动端)
│ ├── game-common (一些通用的功能)
│ ├── game-common-proto (示例 pb )
│ ├── game-external (对外服)
│ ├── game-logic-hall (登录逻辑服)
│ ├── game-logic-tank (坦克逻辑服)
│ └── game-one (一键启动 游戏网关、游戏逻辑服(登录和坦克)、对外服)
└── example-springboot #### 综合示例 ####
├── spring-common-pb (通用PB相关)
├── spring-game-broker # 游戏网关服 - 启动项目
├── spring-game-external # 游戏对外服 - 启动项目
├── spring-game-logic-classes (游戏逻辑服 - 班级)
├── spring-game-logic-classes-starter # 游戏逻辑服 - 班级 - 启动项目
├── spring-game-logic-school (游戏逻辑服 - 学校)
├── spring-game-logic-school-starter # 游戏逻辑服 - 学校 - 启动项目
├── spring-websocket-client #游戏客户端模拟 - 启动项目
└── spring-z-one-game (一键启动)