纯网页 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 | 菜单 |
手机:左侧摇杆移动 · 右侧滑动瞄准 · 屏幕按钮射击/开镜/跳/蹲/换弹/交互
- 安装 Node.js(v18+)
- 启动服务:
npm install
npm start # 或双击 start.bat(Windows)- 本机打开 http://localhost:8080
- 手机 / 好友联机:连接同一 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后重启会重建默认账号(会清空玩家数据,慎用)













