Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FIREZONE 烽区行动

纯网页 3D 大逃杀(吃鸡)游戏 —— 无需安装客户端,打开浏览器就能空降开打。支持电脑键鼠与手机触屏,同一 WiFi 局域网即可与好友组队开黑。

技术栈 技术栈 技术栈

📸 功能一览(真实游戏截图)

大厅 · 商店 · 组队

大厅与 3D 试穿商店 房间等待 · 全员准备后房主开局
大厅 房间
好友邀请链接(自动进房) 操作说明(电脑 / 手机)
邀请链接 操作说明

空降 · 战斗

运输机待跳伞 跳伞滑翔 · 自选落点
运输机 跳伞
地面战斗(血条/弹药/小地图/延迟帧率角标) 大地图(装备 / 载具 / 毒圈位置)
战斗 大地图

后台管理/admin.html,管理员账号)

概览 · 全服公告 用户管理(在线/搜索/分页/GM 授权)
概览 用户管理
房间管理(成员/踢人/解散) 商店套装配色编辑(颜色拾取器)
房间管理 商店编辑
全局设置(人数/机器人/奖励) 后台登录
设置 后台登录

玩法特性

  • 空降开局:运输机航线跳伞 + 滑翔操控,落点自己选(房顶也能站)
  • 百人对局:房间人数上限可配(默认 60),不足由机器人补位,AI 会捡枪、开车、攻楼
  • 组队开黑:单人 / 双人 / 四人小队,按进房顺序自动分队,同队免伤
  • 房间分享链接:建房自动生成邀请链接(含局域网地址),好友打开链接登录后自动进房
  • 开局规则:不自动开局;全员准备后仅房主可点击「立即开始」
  • 武器系统:多种枪械(伤害/射速/弹匣/散布可后台调)、开镜瞄准、换弹、护甲减伤
  • 载具:吉普/越野车,可驾驶、可撞人、有墙碰撞检测
  • 缩圈毒圈:多阶段安全区 + 血条侵蚀 + 屏幕红雾提示
  • 空投补给:飞机定期空投高级物资,落地有检测可拾取
  • 可进入建筑:门洞进出,屋内刷装备,墙体挡子弹
  • 四种时段:黎明 / 白天 / 黄昏 / 夜晚(夜战有夜视效果)
  • 外观商店:多部件套装(上衣/手臂/裤腿/背包分色),3D 旋转试穿,金币购买
  • 成长系统:击杀/吃鸡奖励金币,排行榜,自定义昵称

操作

电脑

按键 功能 按键 功能
W A S D 移动(Shift 冲刺) E 拾取 / 上下车 / 开空投
鼠标 转视角 R 换弹
左键 射击 / 出拳 1 / 2 / 滚轮 切换武器
右键 开镜瞄准 3 / 4 绷带 / 医疗箱
空格 跳伞 / 跳跃 C 蹲下
V 切换第一/第三人称 M 大地图(装备/车辆位置)
Tab 战绩面板 Enter 聊天
H 操作帮助 Esc 菜单

手机:左侧摇杆移动 · 右侧滑动瞄准 · 屏幕按钮射击/开镜/跳/蹲/换弹/交互

快速开始

  1. 安装 Node.js(v18+)
  2. 启动服务:
npm install
npm start          # 或双击 start.bat(Windows)
  1. 本机打开 http://localhost:8080
  2. 手机 / 好友联机:连接同一 WiFi,访问启动日志打印的局域网地址(如 http://192.168.3.31:8080),建议横屏

若局域网访问不通,请检查 Windows 防火墙是否放行了 Node.js 与 8080 端口。

默认账号

角色 用户名 密码
管理员 admin admin123
测试玩家 demo 1234

后台管理:http://localhost:8080/admin.html(数据存于 data/db.json,首次启动自动创建;改过管理员用户名/密码后以实际为准)

后台管理

  • 概览:注册用户 / 在线 / 房间 / 战斗中场次 / 运行时长 / 内存,一键发全服公告
  • 用户:搜索、封禁(禁止封禁自己与最后一个管理员)、金币、角色、重置密码、改名、删除、送全皮肤
  • 房间:成员名单、单独踢人、解散房间(战斗中强制结束并结算)
  • 配置:武器 / 载具 / 地图 / 商店(套装四色拾取器)在线 CRUD,新开局生效
  • 设置:每局总人数、机器人命中系数、击杀/吃鸡奖励

管理员 GM 工具(对局内):F1 透视 · F2 自瞄 · F3 锁血 · F4 无限子弹 · F5 呼叫轰炸区(局内左上角也有按钮面板)

架构

public/            前端(无构建,直接 ESM)
  index.html         游戏页
  admin.html         后台管理页
  js/game.js         Three.js 战斗客户端(渲染/预测/交互)
  js/main.js         登录、大厅、房间、商店、分享链接
  sw.js              Service Worker(网络优先 + 离线回退,版本号强制更新)
server/
  index.js           Express + Socket.io 入口
  api.js             REST:登录/商店/排行/后台管理
  game.js            战斗权威模拟:房间、20Hz 快照、命中/毒圈/空投/载具/机器人
  db.js              JSON 文件数据库(带默认数据与增量迁移)
shared/terrain.js   客户端/服务端共用地形生成(保证位置判定一致)
test/               E2E 测试(见下)
  • 同步模型:客户端本地预测 + 服务端 20Hz 快照;移动校验采用「截断跟随」——超速按上限截断、永不回弹,兼顾防作弊与弱网体验
  • 权威在服务端:命中、伤害、毒圈、空投、载具碰撞均由服务器判定
  • 认证:JWT + bcrypt 密码哈希;Socket 连接与 REST 均校验 token

开发与测试

npm run dev                          # 热重启开发模式
node test/landing-stress.mjs normal  # 降落回归(normal/early/freeze/water)
node test/interact-e2e.mjs           # 完整链路:落地→捡枪→开枪→上车→驾驶
node test/room-rules-test.mjs        # 房间规则:不自动开局/全员准备/仅房主开始
node test/share-link-test.mjs        # 邀请链接进房
node test/team-test.mjs              # 组队同队免伤
node test/vehicle-collision.mjs      # 载具墙碰撞/碾人
node test/airdrop-test.mjs           # 空投落地检测
node test/admin-e2e.mjs              # 后台管理全接口
node test/bot-client.mjs             # 模拟完整对局的机器人客户端

常见问题

  • 手机打不开:确认与电脑同一 WiFi;防火墙放行 Node.js;用启动日志打印的局域网 IP
  • 更新后界面没变:Ctrl+F5 强制刷新(Service Worker 会自动升级缓存)
  • 忘记管理员密码:删除 data/db.json 后重启会重建默认账号(会清空玩家数据,慎用)

About

网页版3D吃鸡游戏-在线支持多人联机吃鸡

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages