littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Go语言的多层在线竞技场游戏项目

项目简介

本项目是一个完整的多层在线竞技场游戏,拥有集中式帧同步(30fps 可调)、房间管理和玩家会话管理等功能。目前前端和后端仅支持 1v1 模式,但后端易于配置为支持 2v2 至 5v5 等模式,同步算法也适用于 UDP。

项目的主要特性和功能

  1. 帧同步:以 30fps(可调节)的集中式帧同步保障游戏实时性与一致性。
  2. 多模式支持:后端可轻松配置以支持 2v2 - 5v5 等多人对战模式。
  3. 管理功能:具备房间管理和玩家会话管理。
  4. 同步算法:同步算法适用于 UDP 通信。
  5. 数据库:采用 MySQL 5.7 数据库,使用 skeema 进行数据库表结构同步。
  6. 账号系统:具备账号系统,主要注册方式为“手机号 + 短信验证码”,有生产和测试两种服务器环境。

安装使用步骤

环境准备

请确保已经下载了本项目的源码文件。

配置文件设置

  1. 后端:进入 <proj-root>/battle_srv 目录,执行 cp -r ./configs.template ./configs 命令生成配置文件,并按需进行自定义配置。
  2. 前端:
    • 使用 CocosCreator v2.2.1 进行构建。
    • 项目已包含必要的 “CocosCreator 插件 i18n”,与全局安装的该插件可共存。
    • 进入 <proj-root>/frontend/assets/plugin_scripts 目录,执行 cp conf.js.template conf.js 命令生成配置文件。
    • 若为 cc.sys.WECHAT_GAME 构建,需在 Map.js 中检查 “forceBigEndianFloatingNumDecoding = true”;其他情况则取消勾选。

运行项目

  1. 生产环境:在 <proj-root>/battle_srv 目录下,执行 make run-prod 命令,此环境不允许使用测试账号。
  2. 测试环境:在 <proj-root>/battle_srv 目录下,执行 make run-test 命令,允许使用测试账号,详情见 https://shimo.im/docs/Q7wqNHlvyYQu0nYP

排错处理

  1. Redis 快照写入失败:出现相关错误时,重启 redis-server 进程。
  2. 前端资源上传:若要将游戏发布到微信小游戏平台,需先将 <proj-root>/frontend/build/wechatgame/res/ 上传到指定远程资源目录,具体步骤见文档 “2.5.2 节”。

注意事项

请确保在 <proj-root>/.git/config[core] 部分中设置 ignorecase = false

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】