NAS玩出花(十):云端游戏平台

本篇介绍了使用Docker搭建多个云端游戏平台,主要用于摸鱼。

不要多想,只是一些DOS游戏和模拟器游戏,毕竟真的要是在NAS上玩黑神话,估计也没那么好的性能。

本文包含以下内容:

  • dosgame-web-docker:拥有1898款中文DOS游戏的游戏库
  • emulatorjs:Web端Retroarch

dosgame-web-docker

很多80后大叔的游戏PC游戏启蒙应该是DOS游戏(到我这就是GBA了), DOS上也有很多非常有名的游戏,比如《仙剑奇侠传》。

现在有这样一个项目,可以让你在web端重温当年的DOS游戏。

部署

给出yml配置文件,路径和端口可以自己选择。

services:
    dosgame-web-docker:
        container_name: dosgame
        ports:
            - '8089:262'  #8090可以改成其他服务器没被占用的端口
        volumes:
            - './chinese-dos-games:/app/static/games'
        image: 'oldiy/dosgame-web-docker:latest'

这个镜像不大,只有600m左右,大概有个十几个游戏。

运行

如果看到容器已经在运行,说明已经部署成功。

屏幕截图 2024-12-27 001023.png

下载1898个DOS游戏

准备好空间,1898个中文DOS游戏大概有30G左右。

我把这些文件放在了./chinese-dos-games,也就是上面docker中设置的位置。

我也看到有些文章使用迅雷下载,其实不用那么麻烦,作者把项目传到了github上,所以我们使用git和python就能直接下载。

最是喜欢这样的装备好的懒人包,不需要自己下载资源、寻找封面和规整路径。

事前准备

安装git和python

ubuntu上安装软件很方便,尤其是你如果跟着我的博客去自己搭建的话,应该已经做过换源,这样下载安装的速度应该会很快。

一句命令的事:

sudo apt install git python3

git clone

使用git clone命令克隆整个项目,github上的项目不大,如果你实在无法连接github,可以试着找一找国内镜像。

命令就运行在./chinese-dos-games目录下

git clone https://github.com/rwv/chinese-dos-games.git

进度条走完,使用ls命令查看,结果如下:

屏幕截图 2024-12-27 002307.png

python脚本下载

直接在目录下运行Python 3脚本,最近应该支持断点续传了,只要等着就好。

python download_data.py

执行完毕,你应该能看到多出来一个bin目录,那里应该放着整个的游戏库。

使用

刷新或者重启下docker,打开网页,看看游戏列表,现在应该有完整的2000多个游戏了。

屏幕截图 2024-12-27 002747.png

剩下的就是享受游戏了。

这里说明书很全,甚至还有攻略。

屏幕截图 2024-12-27 002951.png

emulatorjs

emulatorjs实际上就是可以运行在web端的全能模拟器Retroarch,可以玩各种各样的怀旧游戏,功能和Retroarch类似。

相比于一些使用VNC方案的模拟器来说,emulatorjs实际上是运行在本地浏览器上的,对于NAS性能要求较低,也不需要太高的带宽进行图像的传输,唯一的问题就是启动的时候会加载模拟器和ROM文件,这一步会慢一点。

部署

创建文件夹,这些就不说了,直接看docker compose文件。

services:
  emulatorjs:
    image: lscr.io/linuxserver/emulatorjs:latest
    container_name: emulatorjs
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - SUBFOLDER=/ #optional
    volumes:
      - ./config:/config
      - ./data:/data
    ports:
      - 8086:3000
      - 8089:80
      - 4001:4001 #optional
    restart: unless-stopped

其中PUID、PGID实际上是启动docker的用户权限,如果权限设置不对,docker就没法读取文件夹中的数据,建议是你使用哪个用户创建的也一样用这个用户。

具体查看方法是在该用户下的命令行中输入id命令,就可以查看PUID和PGID了。

屏幕截图 2024-12-27 004358.png

config是存放配置文件的地方,data是存放rom文件的地方。

3000端口是控制端口,80端口是真正的游玩入口,根据自己需要进行修改。

配置

让我们先打开控制端口的网页。

屏幕截图 2024-12-27 011523.png

点击download进行下载模拟器运行文件和视频loge等。

出现All Files后可以点击黑块关闭。

屏幕截图 2024-12-27 011700.png

上传ROM文件

点击File Management,再选择你想要上传的ROM文件对应的模拟器,比如这里选择了GBA。

屏幕截图 2024-12-27 011836.png

点击roms文件夹,右键选择upload可以上传本地的ROM文件,当然直接拖拽进去也行。

之后返回Rom Management,点击gba scan,这样可以扫描整个GBA ROM,并且添加到列表中。

屏幕截图 2024-12-27 012249.png

屏幕截图 2024-12-27 012257.png

设置ROM元数据下载

按理来说这个模拟器可以对ROM程序进行自动匹配,但是你也知道,咱们很多的汉化游戏实际上并没有官方版本,所以只能手动进行连接和下载元数据,这也是为了在web端进行浏览的时候的美观性。

Rom Management中选择gba,在右侧Unidentified Roms上可以看到没有link的ROM,点击一下,看到如下。

屏幕截图 2024-12-27 014038.png

选择identity item,选择ROM对应的英文游戏名,点击link item,这样就是把ROM连接到了对应的元数据中。

屏幕截图 2024-12-27 014356.png

得到结果如下图:

屏幕截图 2024-12-27 014622.png

点击Download All Available Art对元数据进行下载,点击Add All Roms to Config将元数据添加到web端中。

下载完成会变成绿色,如果你对下载的结果不满意,也可以点击ROM文件对其进行替换。
屏幕截图 2024-12-27 014911.png

期待社区能有一些整合包吧。

运行

打开游戏端口的链接,应该就能看见GBA模拟器了,如果是网页端的键盘,那方向键左右进行选择,回车选中,F1调出模拟器菜单。

正常来说,模拟器的save文件都保存在本地的浏览器当中,如果更换了浏览器,那save文件也不一样,不过可以通过左上角的齿轮文件按钮对save文件进行下载。

屏幕截图 2024-12-27 015018.png

这个项目也支持使用xbox手柄进行控制,按键都和Retroarch相同,因为本身这个项目就是为了在xbox上的Edge浏览器中玩模拟器设置的。

对于性能,emulatorjs项目基本上不依赖于NAS的性能,主要还是在于web端的浏览器性能,通常FC、SFC、GBA这一类的老游戏模拟器非常成熟,性能要求也不高,应该能够很完美的运行,至于PS、PS2这类,可能就要吃力很多,这种大型的模拟器更适合本地运行。

注意,我在搭建的时候遇到了虽然添加了不同机器的ROM,但是主页面并没有更新,这种把docker重新创建一下就好了。

总结

这一期介绍了如何使用NAS搭建云端游戏平台,下一期可以介绍一个使用NAS实现网页作图和网页PS。

文章作者: 月涯
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 月涯的博客
计算机 教程 教程
喜欢就支持一下吧