专为游戏迷打造!部署自托管复古游戏库管理器『RomM』

俺是玩机小能手 2024-07-26 17:02:36
专为游戏迷打造!使用绿联私有云UGOS Pro部署自托管复古游戏库管理器『RomM』

哈喽小伙伴儿们好,我是Stark-C~

缘起

关注我的小伙伴应该还记得,我在前不久到手了绿联家首款全闪四盘位私有云 DXP480T Plus ,它采用了四盘位设计,拥有极速的读写性能,最大支持到16TB;搭载了10核12线程的英特尔酷睿 i5-1235U 处理器,单核睿频4.4GHz,核显规模80EU,属于一颗低功耗商用级处理器,性能强大;标配8GB DDR5-4800MHz 内存,最高可扩展至64GB;I/O接口上给到了一个万兆LAN口,还有双雷电4、USB 3.2 Gen 2和 HDMI接口,并且还内置了WiFi 6无线网卡,使其成为当前市面少有的支持无线的私有云NAS。

刚到手的那些天系统多多少少还有些小问题的,比如SSH端口重启之后会恢复默认22端口,日常使用CPU占用会异常过高;不过就在昨天时候(7.16),绿联来了一次固件升级,修复了很多问题,其中就包括SSH端口与CPU占用问题,目前在环境温度接近30℃的情况下,后台运行的还有虚拟机与Docker容器,目前处理器温度也才50℃出头,整体体验比之前好了很多~

而且绿联私有云自从升级到UGOS Pro系统之后,也带来了权限全开的SSH连接方式,之前很多不能玩的Docker容器,现在可以说是几乎无所不能,只要咱们能够在全网找到的教程,基本都可以直接拿来抄作业,可玩性那是直接起飞~

所以我在想,绿联私有云 DXP480T Plus 这么强悍的性能,系统目前也在逐步完善,不折腾实在有点浪费。不过常规的媒体库我也玩腻了,所以今天就用它来玩个游戏库吧!

关于RomM

不知道有没有怀旧的小伙伴收集了很多之前GBA、GBC的游戏,然后没事的时候用模拟器拿出来玩上两把,回味下自己一去不复返的青春岁月的 。

而今天为大家分享的这个项目就是专为这些小伙伴准备,专门整理你收藏的游戏,并且也能为你收藏的游戏刮削除漂亮的海报墙。它就是一个免费开源的复古游戏库管理器项目『RomM』

简单来说,RomM就是一个很方便的游戏管理工具,可以帮你整理和查看游戏收藏。它的界面简洁易用,支持多种平台和自定义标签,对于喜欢用模拟器玩游戏的人来说,简直就是必备神器!

根据官方自己的描述,RomM的亮点如下:

可以帮你扫描现有的游戏库,并通过IGDB和MobyGames(其实就是游戏刮削源)的元数据来整理这些游戏;支持非常多的平台游戏,比如说我们常见的3ds、gba、gbc等模拟游戏,PS、PSP游戏,甚至还有switch、wll游戏等;可以以MAME、Nintendo Switch 和 Sony Playstation 的命名整理游戏,支持在浏览器上查看、上传、更新和删除游戏;自带基于Web的EmulatorJS模拟器,可以直接通过浏览器直接运行我们收藏在RomM上面的游戏;支持检测和分组同系列游戏,并且还能根据游戏标签进行解析和搜索。

PS:因为RomM的元数据(刮削源)都是来自于IGDB和MobyGames两大网站,不过这两网站在国内很多地方正常网络都打不开(是不是有种似曾相识的感觉~),所以为了后续正常使用,网络这一块需要你自己想办法搞定,这并不属于本文教程内容。

RomM部署

部署前的准备:

和我们之前部署nastools需要获取刮削源(TMDB)的API码(秘钥)一样,RomM也需要用到刮削源(IGDB和MobyGames)的API码。

先来搞定IGDB这边的,需要先打开网站【https://dev.twitch.tv/login】注册一个账号。

完成后进入后台页面,我们先要开启账号的双重验证,要不然获取不到我们需要的API码。点击右上角的图像,选择“账户设置”。

进来后点击“安全与隐私--设置双重验证”。

双重验证需要先绑定手机号码并收取一个验证码,按提示输入即可。

这里你可以选择手机下载验证器应用,也可以直接选择“跳过并使用短信”来获取验证码。

看到上图界面,说明双重验证已开启。

然后回到后台,选择“注册您的应用程序”。

这个页面随意填,我们其实只是纯粹注册一个信息,实际上后期也用不上。

完成后点击该注册信息后面的“管理”。

该页面下的“客户端ID”以及“客户端秘钥”就是我们需要的,可以选复制粘贴到电脑的文本文档上。

同样我们也注册一个MobyGames官网账号【https://www.mobygames.com/】,然后在个人主页页面的账户旁边,有一个“API”标识,我们点开它。

直接就能获取到我们需要的API秘钥了,同样的可以将它复制粘贴到电脑的文本文档上。

开始部署:

因为这个容器的运行需要依赖数据库才可以,所以这里建议大家直接使用作者给出的docker-compose.yml文件一键部署。

个人建议先在咱们的绿联私有云UGOS Pro系统上部署Portaine,然后使用Portaine管理和创建Docker容器。

关于Portaine在UGOS Pro系统上部署我之前也写过相关教程:https://post.smzdm.com/p/a5xnzvox/

这里假设咱们已经部署好Portaine,然后直接打开“堆栈”,将以下代码修改成自己的即可(基本上后面有注释的命令行都需要修改):

version: "3"volumes: mysql_data: romm_resources: romm_redis_data:services: romm: image: rommapp/romm:latest container_name: romm restart: unless-stopped environment: - DB_HOST=romm-db - DB_NAME=romm - DB_USER=romm-user - DB_PASSWD= #数据库密码 - IGDB_CLIENT_ID= #IGDB端的客户端ID - IGDB_CLIENT_SECRET= #IGDB端的客户端秘钥 - MOBYGAMES_API_KEY= #MobyGames官网得到的API秘钥 - ROMM_AUTH_SECRET_KEY= #一个32位的16进制随机密码,自己随意设置 - ROMM_AUTH_USERNAME=admin - ROMM_AUTH_PASSWORD= #管理员密码,自己随意设置 volumes: - romm_resources:/romm/resources - romm_redis_data:/redis-data - /path/to/library:/romm/library - /path/to/assets:/romm/assets - /path/to/config:/romm/config ports: - 80:8080 #端口映射别和本地冲突 depends_on: - romm-db romm-db: image: mariadb:latest container_name: romm-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD= #数据库管理员密码,随意设置 - MYSQL_DATABASE=romm - MYSQL_USER=romm-user - MYSQL_PASSWORD= #数据库密码,和上面的DB_PASSWD必须一样 volumes: - mysql_data:/var/lib/mysql #映射mysql文件夹本地路径

如果你习惯SSH部署,可以将修改好的docker-compose.yml文件放到绿联NAS任意文件夹内,然后运行以下命令:

#进入文件夹cd 文件夹实际路径#启动容器docker-compose up -d

如果不出问题,我们可以在Portaine中看到我们部署的RomM程序会有两个容器正在运行。

RomM体验

既然是游戏管理,咱们得先找到游戏吧~,这里分享一个非常不错的复古游戏分享站点【https://www.gbarom.cn/】,然后随便在上面下载了几个GBC游戏。

需要说明的是,RomM对于游戏库的文件夹结构是有要求的,作者推荐的是文件夹结构A。

然后咱们先回到绿联私有云的文件管理器,可以看到在它的docker目录下已经按照命令为我们创建了romm文件夹,同时,romm文件夹下面还有resources、redis、library、assets、config总共5个子文件夹:

resources:用于存储从IGDB获取的资源,如封面、截图等。redis:用于后台任务的缓存数据library:游戏库目录,我们收藏的游戏都存于这个目录中assets:用于上传和保存游戏的存档、状态等数据。config:配置文件(config.yml)目录

我这里就根据作者的推荐选择文件夹结构A,手动在library文件夹内再分别创建子文件夹"roms--gbc",然后将下载下来的GBC游戏上传进来。

需要强调的是:和Jellyfin等影音管理软件一样,RomM也是根据游戏的名称进行刮削识别的,基本上是无法识别中文,所以建议大家讲下载的游戏重命名为对应的英文名字。

这个时候就可以打开RomM后台了。浏览器输入【NAS本地IP:端口号/login】进入登录页面,输入部署时候创建的用户名和密码就能打开后台。

进来之后可以看到它是英文界面,虽说目前没有原生中文界面,但是浏览器翻译之后也不影响我们正常使用。先直接扫描游戏。

因为网络加上游戏名称都没问题,我这边刮削起来还是挺快的,不过看结果仍然有一个没有识别。

然后我们在没识别的这个游戏点击“搜索IGDB”。

我们可以进IGDB游戏官网之后,找到该游戏对应的ID编号,直接通过ID编号,很容器就搜索到该游戏的信息。

全部刮削成功!

和Jellyfin一样,点进去之后还能看到该游戏的详细信息,并且点击播放标识还能直接在线玩起来。

虽说画面在现在看起来有点辣眼睛,但是谁又能懂我们小时候的乐趣呢~

总结

今天分享的这个RomM项目还是不错的,对于喜欢收集游戏的小伙伴儿来说,它做到了整理、刮削,并且还能做到打开即玩,绝对值得你用来整理自己的游戏库的。

绿联私有云自从升级到UGOS Pro系统之后,也带来了权限全开的SSH连接方式,之前很多不能玩的Docker容器,现在可以说是几乎无所不能,只要咱们能够在全网找到的教程,基本都可以直接拿来抄作业,可玩性那是直接起飞~

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

0 阅读:0

俺是玩机小能手

简介:感谢大家的关注