组织介绍

gobigeDemo

gobigeDemo 是一个基于 gobige 框架开发的游戏服务器示例项目,旨在为开发者提供一个高性能、模块化且易于扩展的服务器端开发模板。该项目适用于多种游戏类型,例如:

  • MMORPG:支持大规模玩家在线交互,提供场景管理及实时通信功能。
  • 卡牌游戏:高效的数据存储与缓存机制,支持复杂的游戏逻辑。
  • 休闲游戏:轻量级架构,便于快速开发与部署。

介绍

本项目是使用 Go 语言编写的游戏服务器框架,结合 Protobuf 与 Redis,提供了完整的网络通信、数据持久化、玩家会话管理、登录验证、服务发现、定时器以及日志等功能。项目结构清晰,便于开发者快速搭建和扩展游戏服务。

软件架构

主要模块包括:

  • server:核心服务器逻辑,包含多个服务子模块如 Login、Gateway、Game、DBserver。
  • protofile:定义 Protobuf 消息结构,用于不同服务之间的通信。
  • tools:包含测试机器人、JSON 配置生成工具等开发辅助程序。
  • res:存放服务器配置及实体定义。

� ::

安装教程

  1. 确保已安装以下环境:

    • Go 编译器(建议使用最新版本)。
    • Git 版本控制工具。
  2. 克隆项目到本地:

    git clone https://gitee.com/night-tc/gobige-demo.git
    cd gobige-demo
  3. 初始化子模块:

    git submodule update --init

生成服务器程序

  • Linux / macOS

    cd protofile
    chmod +x build.sh
    ./build.sh
    cd ../server
    go build -o ../bin
  • Windows

    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/ 目录中的相关文件。

成就
21
Star
10
Fork
成员(5)
ayanmw
909895 zhenghexcs 1655861888
buguang
赵光斌
孔磊
何海星

搜索帮助