# red-star **Repository Path**: JackLei/red-star ## Basic Information - **Project Name**: red-star - **Description**: RedStar,一款入门简单、快速开发的游戏服务器框架 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2021-08-16 - **Last Updated**: 2025-05-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: 游戏框架, java游戏服务器 ## README ### 介绍 RedStar,一款入门简单、快速开发的游戏服务器框架 ### 依赖 * Maven * Spring * Jdk8 ### 功能 * 网络 提供了Tcp、Websocket、http功能。其中长连接已经支持消息分发,并且已经提供了protobuf、msgpack序列化实现,开发者也可以自己实现其他的序列化类型 * Rpc Rpc引入了[Jupiter](https://github.com/fengjiachun/Jupiter)框架,是一款性能非常不错的, 轻量级的分布式服务框架,它支持同步、异步、回调,让跨进程通信逻辑变的简单 * 热更,支持两种方式 * 使用agent,重加载已有的Class。用来修改已有的逻辑bug。 * 使用JavaCompiler,重新创建一个类,然后加载到虚拟机中。用来打补丁,通常定义在项目外,下次重启时,这个类就不在了。 * 线程池,支持两种方式 * hash线程池,玩家逻辑都是用指定的线程去执行,可以使用这种类型 * 异步线程池,阻塞的逻辑可以交给这个线程池处理,不会阻塞玩家业务 这两种线程池,都支持跨线程处理。举列子,异步线程池处理完后,需要投递到hash线程池处理,这个已经封装在框架里。 * 集群 多个节点之间,可以组建集群,只需要在配置文件里配置节点类型,也支持节点之间的消息单播、广播 * 持久化 持久化方式支持两种数据库:redis、mongo。 * 打表工具 将excel转成java文件,也支持扩展,开发者可以实现IExporter ### 快速开始 * 环境准备: * 3个lobby进程 ``` 启动 com.inyourcode.example.cluster.LobbyApp 在启动时,分别设置启动参数,代表三个进程的配置: cluster-lobby1.properties、 cluster-lobby2.properties、 cluster-lobby3.properties ``` * 1个Login进程 ``` 启动 com.inyourcode.example.cluster.login1.LoginApp1 ``` * 一个客户端进程 ``` 启动 com.inyourcode.example.cluster.client.ClientApp1 启动后在控制台输入: 登录请求 httplogin#,#后面表示账号id,例子: httplogin#1 httplogin#2 httplogin#3 httplogin#4 httplogin#5 httplogin#6 httplogin#7 httplogin#8 httplogin#9 ...... 输入登出请求: logout ``` * 测试目标 * 玩家通过登录服,可以正常登录到lobby * 动态删减lobby节点,对玩家无感知 * 玩家数据入库