All Projects → kingston-csj → Jforgame

kingston-csj / Jforgame

Licence: apache-2.0
jforgame是一个一站式游戏服务器开发框架。包含游戏服,跨服,匹配服,后台管理系统等模块。同时提供大量业务案例以供学习。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jforgame

Summer
这是一个支持分布式和集群的java游戏服务器框架,可用于开发棋牌、回合制等游戏。基于netty实现高性能通讯,支持tcp、http、websocket等协议。支持消息加解密、攻击拦截、黑白名单机制。封装了redis缓存、mysql数据库的连接与使用。轻量级,便于上手。
Stars: ✭ 336 (-44.09%)
Mutual labels:  protobuf, redis, game, netty
Java Study
java-study 是本人学习Java过程中记录的一些代码!从Java基础的数据类型、jdk1.8的Lambda、Stream和日期的使用、 IO流、数据集合、多线程使用、并发编程、23种设计模式示例代码、常用的工具类, 以及一些常用框架,netty、mina、springboot、kafka、storm、zookeeper、redis、elasticsearch、hbase、hive等等。
Stars: ✭ 571 (-4.99%)
Mutual labels:  redis, mina, netty
Game Server
Distributed Java game server, including cluster management server, gateway server, hall server, game logic server, background monitoring server and a running web version of fishing. State machine, behavior tree, A* pathfinding, navigation mesh and other AI tools
Stars: ✭ 916 (+52.41%)
Mutual labels:  game, mina, netty
Spring Boot Demo
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户密码设计)、actuator(服务监控)、cloud-config(配置中心)、cloud-gateway(服务网关)等模块
Stars: ✭ 323 (-46.26%)
Mutual labels:  redis, netty
cheshuo
🎃A lightweight game server framework. Based on Springboot and Netty. Using ProtoBuf as communication between client and server.
Stars: ✭ 23 (-96.17%)
Mutual labels:  protobuf, netty
Mmorpg
springboot编写的轻量级高性能mmorpg手游服务端框架,基本功能逐渐完善中。
Stars: ✭ 309 (-48.59%)
Mutual labels:  game, netty
Cellnet
High performance, simple, extensible golang open source network library
Stars: ✭ 3,714 (+517.97%)
Mutual labels:  protobuf, game
Tutorial
Java全栈知识架构体系总结
Stars: ✭ 407 (-32.28%)
Mutual labels:  redis, netty
Framework Learning
计算机学习资料(Java , Jvm , Linux , Mysql , Netty , Redis , Netty , Spring , SpringBoot , Mybatis , Rabbitmq ,计算机网络 , 数据结构与算法 , 设计模式 )Github网页阅读:https://guang19.github.io/framework-learning , Gitee网页版阅读: https://qsjzwithguang19forever.gitee.io/framework-learning
Stars: ✭ 416 (-30.78%)
Mutual labels:  redis, netty
Centrifuge
Real-time messaging library for Go with scalability in mind
Stars: ✭ 446 (-25.79%)
Mutual labels:  protobuf, redis
Spring boot
Spring Boot 使用总结 和 demo。 如果您觉得本代码对您有所帮助,请点击页面右上方"Star"
Stars: ✭ 431 (-28.29%)
Mutual labels:  protobuf, redis
Pdf
编程电子书,电子书,编程书籍,包括C,C#,Docker,Elasticsearch,Git,Hadoop,HeadFirst,Java,Javascript,jvm,Kafka,Linux,Maven,MongoDB,MyBatis,MySQL,Netty,Nginx,Python,RabbitMQ,Redis,Scala,Solr,Spark,Spring,SpringBoot,SpringCloud,TCPIP,Tomcat,Zookeeper,人工智能,大数据类,并发编程,数据库类,数据挖掘,新面试题,架构设计,算法系列,计算机类,设计模式,软件测试,重构优化,等更多分类
Stars: ✭ 12,009 (+1898.17%)
Mutual labels:  redis, netty
netty-chat-tutorial
Netty Chat tutorial with Protobuf
Stars: ✭ 23 (-96.17%)
Mutual labels:  protobuf, netty
twjitm-core
采用Netty信息加载实现长连接实时通讯系统,客户端可以值任何场景,支持实时http通讯、webSocket通讯、tcp协议通讯、和udp协议通讯、广播协议等 通过http协议,rpc协议。 采用自定义网络数据包结构, 实现自定义网络栈。
Stars: ✭ 98 (-83.69%)
Mutual labels:  protobuf, netty
Clusterdevicecontrolplatform
Java & Vue.js 全栈「集群设备管理云平台『后端部分』」,使用 Spring Boot、Netty 搭建 TCP 服务器与上万设备的集群通信,基于 JavaFX 的 GUI 应用程序模拟上万台设备的行为,并可对服务器进行压力测试。
Stars: ✭ 330 (-45.09%)
Mutual labels:  redis, netty
rpc-spring-boot-starter
自定义rpc框架,支持Java序列化和protobuf序列化协议,多种负载均衡算法
Stars: ✭ 75 (-87.52%)
Mutual labels:  protobuf, netty
Him Netty
开源的H5即时聊天系统 spring-boot + netty + protobuf + vue ~
Stars: ✭ 194 (-67.72%)
Mutual labels:  protobuf, netty
Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+229.28%)
Mutual labels:  protobuf, netty
Istio Micro
istio 微服务示例代码 grpc+protobuf+echo+websocket+mysql+redis+kafka+docker-compose
Stars: ✭ 194 (-67.72%)
Mutual labels:  protobuf, redis
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (-28.79%)
Mutual labels:  redis, netty

中文 | English

项目介绍  

jforgame,是一个用java编写的轻量级高性能手游服务端框架。项目提供各种支持快速二次开发的组件,以及对生产环境的服务进行管理的工具。同时,为了使用户能够快速上手,项目提供了若干常用业务功能作为演示。

项目特点

  • 搭配框架博客栏目教程,快速理解项目模块原理
  • 支持socket/webSocket接入,兼容手游/页游服务端架构
  • 通信协议支持protobuf或java反射,为客户端提供多种选择
  • 框架提供多种组件,可以直接二次开发业务逻辑
  • 提供热更机制以及jmx接口,方便对生产项目进行监控与维护
  • 有独立http后台网站,为游戏运维/运营提供支持 --> 后台管理系统

模块组织结构

jforgame
├── jforgame-common  --基础公共服务  
├── jforgame-admin   --后台管理web工具  
├── jforgame-match   --跨服匹配服  
├── jforgame-merge   --合服工具        
├── jforgame-net     --包括io网关模块,玩家消息自动映射到业务模块,异步处理玩家消息的线程模型      
├── jforgame-orm     --使用自定义的orm框架,用于数据库表记录与程序pojo对象的相互转换        
├── hotswap-agent  支持游戏业务热更新的agent机制  
├── jforgame-server  --游戏基础组件以及业务逻辑模块  
|    ├──  cache包,使用guava cache库,用于支持系统的缓存框架    
|    ├──  db包,使用独立线程,异步处理玩家及公共数据的持久化  
|    ├──  monitor包,系统监控模块,包括使用jmx对程序进行监控  
|    ├──  listener包,事件驱动模型  
|    ├──  doctor包,采用Groovy执行任意动态代码,或JDK的instrument机制修改类方法体 
|    ├──  cross包,天梯等跨服赛事的通信基础 
|    ├──  game/gm包,游戏内部金手指命令
|    ├──  game/admin包,游戏运营/运维后台命令  
|    ├──  redis包,跨服通信(比如跨服排行榜)  
|    ├──  tools包,简化项目开发的辅助小工具  
|    └──  utils包,各种工具类    

第三方技术栈

名称 用途 官网
Mina nio socket 框架 http://mina.apache.org/
Netty nio socket 框架 http://netty.io/
jprotobuf protobuff协议层注解 https://github.com/jhunters/jprotobuf
Guava 玩家数据缓存系统 https://github.com/google/guava
Jedis 跨服数据缓存 https://redis.io
quartz job调度任务 http://www.quartz-scheduler.org/
groovy 热更新维护相关 http://www.groovy-lang.org/  
proxool mysql数据链接池 http://proxool.sourceforge.net/
slf4j+log4j 日志系统 https://www.slf4j.org/
maven 依赖管理及项目构建 http://maven.apache.org/

ToDoList

  • 登录服工程
  • 更多基础设施与业务演示

快速开始

  1. 使用git下载代码 git clone https://github.com/kingston-csj/jforgame;
  2. 将代码导入带有maven插件的IDE(选择根目录下的pom.xml文件);
  3. 新建数据库game_data_001和game_user_001,并分别导入test/resources下的同名sql文件;
  4. 启动服务端,入口为ServerStartup类
    (开发工具需要将src同目录的configs视为代码目录!如果导入项目所有模块,还需要设置好工作区间。例如idea设置:run->EditConfirations->Workingdirectory,设置为,**\jforgame\jforgame-server。);
  5. 启动客户端,入口为ClientStartup类;
    (温馨提醒:在根目录执行mvn clean package install -DskipTests 后,在ide环境下就不用导入所有模块了。例如,只导入jforgame-server模块)

各模块demo教程 --> wiki

本栏目详细教程 --> csdn博客

欢迎star/fork,欢迎学习/使用,期待一起贡献代码!!

请作者喝杯咖啡

如果您觉得有所收获,可以请作者喝杯咖啡。大家的支持,促使我不断改进优化,谢谢!

一起交流

如果您发现bug,或者有任何疑问,请提交issue !!
架构解析,技术咨询,请加Q475139136(有偿服务,非诚勿扰!!)

免责申明

本项目只用于学习研究,禁止用于非法获利和商业活动。如产生法律纠纷与作者无关!!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].