# yorick_leaf **Repository Path**: yorickromantic/yorick_leaf ## Basic Information - **Project Name**: yorick_leaf - **Description**: 基于leaf框架修改而来的golang游戏框架 - **Primary Language**: Go - **License**: 0BSD - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-09-27 - **Last Updated**: 2023-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # golang_leaf #### 介绍 1. 基于leaf框架修改而来的golang游戏框架 2. leaf的数据库只支持Mongodb,现在加入Mysql数据库和Redis缓存数据库 3. 由于leaf timer循环队列只支持cron表达式,而cron表达式最少只有到秒级别,游戏中同步一般都是毫秒级别,所以添加毫秒级别的循环队列,示例代码在(server/game/internal/timer)里面 4. 修改了消息注册机制,消息注册完成后会自动生成excel文档,excel会显示pb的名称和id #### 软件架构 1. 服务端在server目录下,注册了game,login,gate模块,每一个模块在单独的goroutine中运行 3. 客户端在client目录下,由于目前服务端是使用protobuf作为消息协议,所以客户端也是用的protobuf传输消息,客户端只是测试tcp消息的代码 #### 安装教程 1. 启动server下面的main.go 2. 配置文件在bin目录下的server.json里面,里面可以配置redis和mysql以及tcp端口,已经最大连接数和日志级别 3. 启动客户端用于传输消息,测试tcp是否通过 4. server/pb下面有个批处理文件,运行生成golang的pb文件,修改platform可以编程成指定语言的pb(java,csharp,go...) #### 使用说明 1. protobuf的消息协议为(id + len + data)其中id为两个字节,len为两个字节(id的长度+data的长度)