projectGDT 的子项目之一,也是最为基础的子项目。
承担了维护玩家与服务器数据、认证、响应 HTTP 请求、与 QQ Bot 通讯,以及分发文件的任务。
运行命令
npm install
来下载所需的 node 包。
参照 此处 选择数据库种类并配置。
你应当创建 /.env
文件,其中包含 DATABASE_URL
属性。
你可能还需要更改 /prisma/schema.prisma
中的 db.provider
。
此项目使用的是 MySQL 8.1。
此项目用到了 Json 类型。根据 prisma.io 的文档,目前只有 MySQL 5.7 以上版本和 PostgreSQL 兼容此类型。
运行以下命令以生成 Prisma Client,并在数据库中生成结构:
npx prisma db push
在 .env
文件中添加以下三行:
CAPTCHA_SITE_SECRET="{1}"
CLIENT_SECRET="{2}"
PBKDF2_SALT="{3}"
- 将从 Cloudflare Turnstile 中获取的
site secret
填入{1}
处。 - 其余属性请自行生成,务必保密。
- 请妥善保管
PBKDF2_SALT
。一旦丢失,则用户无法正常登录。
projectGDT 的收信邮箱使用 imap 协议,在 .env
文件中添加以下四行:
EMAIL_ADDR="{1}"
EMAIL_HOST="{2}"
EMAIL_PORT="{3}"
EMAIL_USERNAME="{4}"
EMAIL_PASSWORD="{5}"
分别表示收信邮箱地址,收信服务器主机和端口 (默认 993),账户名以及密码 / 授权码。
运行命令
npm dev
以编译和开启后端。
首先,按照“开发环境调试”中的说明进行环境配置。
在 .env
文件中添加以下三行:
IP="{1}"
PORT="{2}"
FRONTEND_ORIGIN="{3}"
IP
指服务将要绑定的网卡 IP。如果不清楚此项,请留空。默认值0.0.0.0
。PORT
是服务监听的端口。默认值14590
。FRONTEND_ORIGIN
是前端服务的地址,必须提供,格式为[http|https]://[IP/domain]
。最后无需加斜杠/
。
运行
npm build
构建后的文件位于 out
目录内。运行
npm run
来启动后端。