项目简介
本项目是一个完整的多层在线竞技场游戏,拥有集中式帧同步(30fps 可调)、房间管理和玩家会话管理等功能。目前前端和后端仅支持 1v1 模式,但后端易于配置为支持 2v2 至 5v5 等模式,同步算法也适用于 UDP。
项目的主要特性和功能
- 帧同步:以 30fps(可调节)的集中式帧同步保障游戏实时性与一致性。
- 多模式支持:后端可轻松配置以支持 2v2 - 5v5 等多人对战模式。
- 管理功能:具备房间管理和玩家会话管理。
- 同步算法:同步算法适用于 UDP 通信。
- 数据库:采用 MySQL 5.7 数据库,使用 skeema 进行数据库表结构同步。
- 账号系统:具备账号系统,主要注册方式为“手机号 + 短信验证码”,有生产和测试两种服务器环境。
安装使用步骤
环境准备
请确保已经下载了本项目的源码文件。
配置文件设置
- 后端:进入
<proj-root>/battle_srv
目录,执行cp -r ./configs.template ./configs
命令生成配置文件,并按需进行自定义配置。 - 前端:
- 使用 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”;其他情况则取消勾选。
运行项目
- 生产环境:在
<proj-root>/battle_srv
目录下,执行make run-prod
命令,此环境不允许使用测试账号。 - 测试环境:在
<proj-root>/battle_srv
目录下,执行make run-test
命令,允许使用测试账号,详情见 https://shimo.im/docs/Q7wqNHlvyYQu0nYP。
排错处理
- Redis 快照写入失败:出现相关错误时,重启
redis-server
进程。 - 前端资源上传:若要将游戏发布到微信小游戏平台,需先将
<proj-root>/frontend/build/wechatgame/res/
上传到指定远程资源目录,具体步骤见文档 “2.5.2 节”。
注意事项
请确保在 <proj-root>/.git/config
的 [core]
部分中设置 ignorecase = false
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】