# gobigeDemo **Repository Path**: cctvbtx/gobige-demo ## Basic Information - **Project Name**: gobigeDemo - **Description**: gobigeDemo 是基于 gobige 框架开发的游戏服务器示例项目,旨在为开发者提供一个高性能、模块化、易扩展的游戏服务器解决方案。 - **Primary Language**: Unknown - **License**: BSD-4-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-02-26 - **Last Updated**: 2026-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gobigeDemo `gobigeDemo` 是一个基于 `gobige` 框架开发的游戏服务器示例项目,旨在为开发者提供一个高性能、模块化且易于扩展的服务器端开发模板。该项目适用于多种游戏类型,例如: - **MMORPG**:支持大规模玩家在线交互,提供场景管理及实时通信功能。 - **卡牌游戏**:高效的数据存储与缓存机制,支持复杂的游戏逻辑。 - **休闲游戏**:轻量级架构,便于快速开发与部署。 ## 介绍 本项目是使用 Go 语言编写的游戏服务器框架,结合 Protobuf 与 Redis,提供了完整的网络通信、数据持久化、玩家会话管理、登录验证、服务发现、定时器以及日志等功能。项目结构清晰,便于开发者快速搭建和扩展游戏服务。 ## 软件架构 主要模块包括: - **server**:核心服务器逻辑,包含多个服务子模块如 Login、Gateway、Game、DBserver。 - **protofile**:定义 Protobuf 消息结构,用于不同服务之间的通信。 - **tools**:包含测试机器人、JSON 配置生成工具等开发辅助程序。 - **res**:存放服务器配置及实体定义。 ## � :: ### 安装教程 1. 确保已安装以下环境: - [Go](https://golang.org/) 编译器(建议使用最新版本)。 - [Git](https://git-scm.com/) 版本控制工具。 2. 克隆项目到本地: ```bash git clone https://gitee.com/night-tc/gobige-demo.git cd gobige-demo ``` 3. 初始化子模块: ```bash git submodule update --init ``` ### 生成服务器程序 - **Linux / macOS**: ```bash cd protofile chmod +x build.sh ./build.sh cd ../server go build -o ../bin ``` - **Windows**: ```bash cd protofile build.bat cd ..\\server go build -o ..\\bin ``` ### 配置文件说明 - **server.json**:服务器运行时配置,包含数据库、Redis、服务发现等设置。 - **log.toml**:日志配置,用于定义日志输出方式和级别。 - **server.tmpl**:生成 `server.json` 的模板文件,用于配置服务器参数。 ### 运行说明 1. 启动 MySQL 并修改 `root` 用户密码和访问权限(参考 `doc/docker.md`)。 2. 根据服务器配置启动服务: - 可使用 `supervisord` 来管理多个服务(如 Gateway、Game、Login、DBserver)。 - 示例配置文件可参考 `doc/启动配置/` 下的 `.ini` 文件。 3. **使用 VSCode 调试**: - 打开 `.code-workspace` 文件(如 `gobige-demo.code-workspace`)。 - 在调试面板中选择调试任务: - `Login.exe`: 登录服务器。 - `Gateway.exe`: 网关服务器。 - `Game.exe`: 游戏服务器。 - `DBserver.exe`: 数据库服务。 - 点击“启动调试”或“附加到进程”进行调试。 ## 工具使用说明 - **gengobigejson.exe**:根据 `server.tmpl` 生成 `server.json` 配置文件。 - **TestRobot**:模拟客户端机器人,可用于测试服务器逻辑。 - 支持命令: - `register`: 注册账号。 - `gateway`: 连接网关。 - `login`: 登录游戏。 - `gamestart`: 进入游戏空间。 ## 目录说明 - `protofile/`: 存放 `.proto` 文件,定义服务间通信的消息结构。 - `server/`: 服务器核心逻辑,包括 Login、Gateway、Game、Linker、DBserver �:// - `tools/`: 开发与测试辅助工具。 - `res/`: 配置文件和实体定义,用于初始化服务器状态。 如需更详细的开发文档或部署指南,请参考 `doc/` 目录中的相关文件。