Skip to content

BrithAiGame/codex-rebirth-backend-express

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

平面肉鸽射击游戏 WebSocket 服务端

本项目为平面肉鸽射击游戏提供一个基于 TypeScript + Express + WebSocket 的多人联机后端,实现 docs/ONLINE_PROTOCOL.md 中定义的房间流程、消息协议与服务端权威模拟基础能力。

功能概览

  • WebSocket JSON 协议(统一消息信封)
  • 房间生命周期:创建 / 加入 / 离开 / 主机迁移
  • 角色选择与准备状态同步
  • 主机发起游戏、生成种子并锁房
  • 服务端固定 Tick(60Hz)权威模拟
  • 客户端输入缓冲(允许小范围 Tick 容错)
  • 周期性快照(10Hz)与状态哈希(2s)
  • 基础房间切换与炸弹事件广播
  • 心跳检测与断线清理

目录结构

  • src/server.ts:主服务端实现
  • docs/ONLINE_PROTOCOL.md:联机协议与生命周期说明
  • docs/FRONTEND_OVERVIEW.md:前端架构与玩法概览

运行环境

  • Node.js 18+(推荐 20+)
  • npm 9+

安装依赖

npm install

启动方式

开发模式(自动监听):

npm run dev

生产模式:

npm run build
npm start

服务默认监听端口:80001

基本协议要点(摘要)

  • 消息统一信封:
{
  "t": "message_type",
  "roomId": "123456",
  "seq": 42,
  "clientTime": 1700000000000,
  "payload": { }
}
  • 房间流程:
    • room.create -> room.created
    • room.join -> room.joined
    • room.leave -> room.player_left
  • 游戏流程:
    • game.start(仅房主)
    • game.input(玩家输入)
    • game.snapshot(服务器快照)
    • game.hash(状态哈希)

详细字段与规则请查看 docs/ONLINE_PROTOCOL.md

注意事项

  • 当前为最小可用的服务端权威模拟骨架,实体、房间与掉落等复杂逻辑可按 docs 继续扩展。
  • 房间数据保存在内存,服务重启会清空。

端口

  • WebSocket / HTTP: 80001
  • 健康检查:GET /health

About

Codex build this repo. Ts version game backend .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors