Playnite:把20+平台游戏库装进一个窗口的实践记录
【免费下载链接】PlayniteVideo game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.项目地址: https://gitcode.com/GitHub_Trending/pl/Playnite
Playnite 是一款开源游戏库管理器:把 Steam、Epic、GOG 等平台游戏库,加上 70 套模拟器配置,收进一个本地界面,适合游戏散在多个启动器里的玩家。
场景:深夜想打开一款游戏,想不起它在哪个平台
晚上十一点,你只是想打开一款游戏,却记不清它归谁管:Steam?Epic 白嫖的?还是 GOG 光盘镜像?点开一个启动器,搜,没有。再换一个,再搜一遍。
还有一类游戏在所有启动器里都找不到:硬盘某个文件夹里的 ROM,属于某台老主机,得先想清楚该启动哪个模拟器。
对大多数人来说,碎片化的根源就在这:不是游戏太多,是入口太散。
它不搬游戏,只读取
说白了,这个工具干的是"读取加启动":不搬你的游戏文件,不动平台账号里的资产,只把你已安装的平台库接进来,把游戏清单收进同一个本地数据库,再统一打开。
仓库 README 里的隐私说明值得读一句:游戏库数据全部存在你自己的电脑上,账号连接走的是官方登录页,存的只是浏览器登录后也会存的那份会话信息。
数据都是本地文件
你在界面上看到的封面、标签、游玩时长,全是本地文件,不往云端传。源码里带了备份模块(Backup.cs),平台接完先导出一份备份,再放心折腾库。
添加第一个平台只需三步
系统要求是 Windows 7 及以上,想自己编译的话先拿到 Playnite 源码(官方也提供安装版和免安装的便携版):
git clone https://gitcode.com/GitHub_Trending/pl/Playnite然后三步:
- 首次启动会弹出设置向导带过基础选项,跳过了之后随时能从设置里补;
- 找到游戏库管理选项,选你游戏最多的那个平台;
- 点配置,在弹出的页面里登录,完成后游戏列表就会出现。
我的建议是按游戏数量从少到多依次添加平台,导入过程中出问题也好定位。
库建起来后,元数据下载器会从在线数据库补上封面、描述和评分,新游戏不会再是一张空白卡片。项目会记录每款游戏的游玩时长和最近游玩时间,你还能给自己打标签,比如"待玩""多人"。
模拟器 ROM 自动识别怎么配
这部分最值得专门看一眼。仓库里 source/Playnite/Emulation/Emulators/ 目录有 70 个配置文件夹,DOSBox、RetroArch、Dolphin、PCSX2、RPCS3 都在,从八位机到 PS3 时代都覆盖了。看一个 Dolphin 的配置:
Name: Nintendo Wii StartupArguments: '--exec="{ImagePath}" --batch' ImageExtensions: [elf, dol, iso, wad, ciso, gcz, m3u]每个配置写清三件事:启动时传什么命令、哪些扩展名算 ROM、怎么认出模拟器本体(用正则匹配可执行文件名)。所以它扫 ROM 文件夹时,先靠扩展名判断一个文件是什么,再决定用什么命令打开。
旁边的 Platforms.yaml 设计得挺聪明:把"主机平台"映射到"哪些模拟器能跑它",还关联了在线数据库的编号。一张 PS2 光盘镜像导进来后,元数据会被自动补全,不用顶着"游戏名(中国)ISO"这种文件名。
接上手柄的大屏模式怎么开
Playnite 实际上带了两套独立界面:桌面版给 PC 日常用,全屏版面向客厅大屏,两者的启动画面是同一个手柄、不同配色:
全屏版是手柄优先的设计:导航、菜单、详情页都能用摇杆完成。仓库里带了 SDL 的手柄映射表(gamecontrollerdb.txt),主流手柄接上就能用。如果你只在 PC 上用,这块可能用不到;接电视的话它是主角。
界面配色和布局可以换主题,桌面版与全屏版各有主题目录,社区自制的主题可以直接套用。
插件和 PowerShell 脚本什么时候用
README 把扩展方式说得很直接:插件(.NET 语言)、PowerShell 脚本、UI 主题三类。仓库的 tests/Extensions 目录像个示例抽屉,里面有现成的插件样例和完整的 PowerShell 脚本,想参考写法直接打开。
不写代码的人,内置功能已经够用,这一节可以整段跳过。想做"把游戏库自动导出到别的应用"这类事,脚本是成本最低的路;要深度集成再考虑用 SDK 写插件。
顺带一提,界面支持 40 多种语言,Localization 目录里每种语言一个 xaml 文件,中文也在其中。
游戏散在几个启动器、ROM 堆在硬盘某个角落,这件事不必维持下去,你只是缺一个把它们都读出来的入口。
时间充裕的话,先接一个游戏最多的平台,再试一次 ROM 文件夹扫描,半小时后游戏库的样子就出来了。
想深入?核心实现在 source/Playnite/ 目录(数据库、扫描器、元数据都在那里),写自己扩展的入口是 source/PlayniteSDK/ 🎮
【免费下载链接】PlayniteVideo game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.项目地址: https://gitcode.com/GitHub_Trending/pl/Playnite
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考