环境准备
运行环境
建议环境:
- Node.js 20+
- npm 10+
- Windows
之所以推荐 Windows,是因为项目包含本地字体读取、游戏进程监控、本地图标提取、本地文件浏览等能力,当前实现明显偏向 Windows 桌面环境。
快速开始
1. 安装依赖
bash
npm install2. 编写配置文件
见app/config.example.ts,填写好配置后,把该文件重命名为config.ts
其中app/config.example.json只需要拷贝一份,重命名为config.json即可,该json文件的具体配置可以在 Web UI 中修改
一开始还是用.env的,后来意识到这是一个本地软件,没必要搞.env,索性就换成 type-safe 高一点的配置方式了
3. 初始化数据库
bash
npx drizzle-kit generate # 生成 sql 文件
npx drizzle-kit migrate # 创建 sqlite 数据库(如没有),并生成表字段4. 构建
bash
npm run build5. 环境变量
这里推荐将根目录下的vnweb.bat添加至环境变量中,然后你就可以在任意的位置执行系统的命令行工具:
sh
# 1. 启动 web ui
vnweb
# 2. 查看帮助文档
vnweb --help
# 3. 查看游戏列表
vnweb list game
# 4. 根据名称搜索游戏
vnweb search game_name
# 5. 根据id启动游戏
vnweb start game_id
# 6. 快速启动上一次的游戏
vnweb start配置文件
config.ts
详见config.example.ts文件
config.example.json
这里主要用于一些非 api-key、token 之类的配置,目前支持:
- 游戏存档备份
项目启动
默认使用了8999端口,如果端口与其他服务冲突,可以修改package.json文件中的脚本:
json
{
"scripts": {
"start": "next start -p 8999"
}
}将其中的8999修改为你想要的端口号(需要介于0和65535之间)