Skip to content

安装指南

环境要求

  • Node.js >= 20.9.0
  • MySQL / MariaDB
  • Redis(匹配、聊天等队列能力需要;仅调 HTTP 可暂不配,跑 MatchmakingDemo 请启用)

安装依赖

bash
npm install

配置环境变量

在项目根目录创建 .env.development(本地开发)或 .env.production(生产),服务端会按 NODE_ENV 等规则加载;加载顺序与优先级见 配置说明 开头几节。

下面是一份最小可跑示例;各键含义如下表(表中 your_* 仅为占位,请换成你本机 MySQL 与自生成的密钥)。

变量是什么
NODE_ENVNode 运行环境。写成 development 时,会优先读 .env.development,并启用开发期常见行为(与 src/config 中判断一致)。
PORTHTTP API + Colyseus WebSocket 共用的监听端口;默认常用 2567,即浏览器访问 http://localhost:2567、Swagger /api-docs 等。
DB_HOSTMySQL / MariaDB 主机地址,本机一般为 localhost
DB_PORT数据库端口,MySQL 默认 3306
DB_USERNAME / DB_PASSWORD数据库登录账号与密码;密码勿提交到 Git。
DB_DATABASE要连接的数据库名(需先在 MySQL 里建好空库或已有库)。完整表名、实体与迁移见 项目结构
JWT_SECRET签发 JWT 访问令牌用的对称密钥(与 HTTP 登录、@RequireAuth() 进房里校验的 token 同源)。生产环境必须改为足够长的随机串,切勿使用示例里的占位值。
JWT_EXPIRES_IN访问令牌有效期的字符串写法(如 1h24h),交给 jsonwebtoken 等库的 expiresIn刷新令牌JWT_REFRESH_* 等见 配置说明 中的 「Redis 与 JWT」 一节。

更多项(DB_TYPEDB_SYNCHRONIZERedis、聊天/匹配相关变量等)见 配置说明

env
NODE_ENV=development
PORT=2567

DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=your_password
DB_DATABASE=your_database

JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=1h

启动开发环境

bash
npm run dev

验证运行

  • Swagger: http://localhost:2567/api-docs
  • 首页静态资源: http://localhost:2567/

服务可用后,再继续阅读 配置说明