webGamelistOper - 复古游戏列表管理工具
一款通过模板驱动、理论上支持所有前端系统的通用管理工具
软件简介
webGamelistOper 是一款基于 Spring Boot 开发的复古游戏列表管理工具,其核心亮点在于模板化的导入导出机制。通过灵活的 JSON 配置文件,理论上可以支持所有前端系统
## 功能特性
- 游戏扫描和导入
- 平台管理
- 游戏信息编辑
- 查看游戏媒体文件
- 多语言翻译(需要自行写入翻译api的key)
- 数据导出(支持多种格式)
- 数据库备份和恢复
- 系统设置管理
✨ 核心亮点:模板驱动的通用架构
为什么说“理论上支持所有系统”?
不同前端系统的元数据格式千差万别:
- ES-DE 使用
gamelist.xml
- Pegasus 使用
metadata.pegasus.txt
- RetroBat 有自己的目录结构
- HyperSpin 使用 XML + 特定命名规则
- Batocera 使用
gamelist.xml 但字段定义不同
webGamelistOper 的创新解决方案:通过 JSON 模板配置文件,定义任意格式的解析和生成规则,无需修改代码即可适配新系统。
导入模板:解析任意格式
json
{
"name": "自定义前端模板",
"type": "xml", // 支持 xml / text
"dataFile": "gamelist.xml",
"fieldMappings": {
"gameName": { "fields": ["name", "title", "label"] },
"gameDesc": { "fields": ["desc", "description", "comment"] }
},
"mediaRules": {
"boxFront": ["{game}-box.png", "{game}/box.png"],
"video": ["{game}.mp4", "videos/{game}.mp4"]
}
}
支持的导入特性:
- XML 格式(任意标签结构)
- 文本格式(CSV、分隔符、键值对)
- 表头/页脚解析
- 多值字段处理
- 媒体文件路径自动匹配
导出模板:生成任意格式
json
{
"frontend": "custom",
"dataFile": {
"filename": "gamelist.xml",
"format": "xml", // 支持 xml / text
"header": ["<?xml version=\"1.0\"?>", "<gameList>"],
"footer": ["</gameList>"],
"fields": {
"name": "name",
"desc": "description",
"image": "thumbnail"
}
},
"mediaExport": {
"box2dfront": "images/boxart/{game}.png",
"video": "videos/{game}.mp4"
}
}
支持的导出特性:
- 任意 XML 结构生成
- 自定义分隔符的文本格式
- 变量替换(游戏名、平台名、路径等)
- 媒体文件路径映射
核心功能一览
📋 游戏扫描与导入
- 递归扫描 ROM 目录,自动识别元数据文件
- 模板驱动:通过 JSON 模板适配任意前端格式
- 多线程并发导入,大幅提升处理效率
🎮 平台管理
- 完整的平台增删改查功能
- 支持平台间游戏合并(移动/复制)
- 平台统计信息展示
✏️ 游戏信息编辑
- 游戏元数据可视化编辑
- 多维度筛选(平台、日期、开发商、类型)
- 刮削状态跟踪
🌐 多语言翻译
- 集成 Google、微软、DeepSeek 翻译引擎支持通过json扩展
- 批量翻译游戏名称和描述
- 异步处理,实时查看进度
📤 数据导出
- 模板驱动:通过 JSON 模板适配任意前端格式
- 支持游戏文件、媒体文件、数据文件的分别导出
- M3U 播放列表自动处理
💾 数据库备份与恢复
- 一键备份/恢复 H2 数据库
- 游戏元文件备份与恢复
技术亮点
| 特性 |
说明 |
| 零配置启动 |
内置 H2 数据库,首次运行自动初始化 |
| Docker 支持 |
提供完整 Docker Compose 配置,一键部署 |
| 现代化 UI |
基于 HTML/CSS 的可视化管理界面 |
| RESTful API |
完整的 API 接口,便于二次开发和集成 |
| 多语言支持 |
界面和文档支持中、英、日三语 |
| 模板扩展 |
添加新系统只需编写 JSON 配置文件 |
快速开始
Docker 部署(推荐)
bash
docker-compose up -d --build
启动后访问 http://localhost:8080 即可开始使用。
适用人群
- 复古游戏收藏爱好者:整理跨越多个前端平台的游戏库
- 多前端使用者:在不同前端系统间无缝迁移数据
- 模拟器整合包制作者:统一管理多平台、多格式的元数据
- 汉化组/ROM 打包者:批量处理游戏元数据和翻译
- 开源社区贡献者:为新前端编写模板配置
开箱即用的模板
| 模板 |
适用前端 |
数据格式 |
esde.json |
ES-DE / EmulationStation |
gamelist.xml |
pegasus.json |
Pegasus Frontend |
metadata.pegasus.txt |
retrobat.json |
RetroBat |
gamelist.xml |
generic.json |
通用/无数据文件 |
纯 ROM 扫描 |
可自行扩展:将新模板放入 rules/import-templates/ 或 rules/export-rules/ 目录即可。
系统要求
- 操作系统:Windows / macOS / Linux
- 运行环境:Docker 或 Java 17+
- 内存:最低 2GB,推荐 4GB+
- 存储:根据复古游戏库大小而定
开源与社区
本项目采用 MIT 许可证,欢迎 Fork、Star 和贡献代码。
一套模板,万端适配 —— 让复古游戏管理不再受前端限制



