RetroPie新手教學(五)模擬器也IoT?搭配NAS建造雲端遊戲櫃

拜IoT所賜,網路成為所有電子產品必備的基礎架構,因為萬物聯網多了許多創新的可能與發展性!但本篇不講IoT發展,而是懷舊模擬器遊戲搭配NAS建造的雲端遊戲櫃。

雖然玩懷舊遊戲在於精,不在於多,而且同一時間也不可能玩太多遊戲,但是無論是記憶卡插插拔拔,或者透過smb把檔案丟進樹莓派中,小弟都覺得不夠方便,一則插拔容易壞,二則遊戲稍多一點就容易亂...


回顧一下樹莓復古派能怎麼玩?


樹莓派3(RPi3)+復古派(RetroPie)+紅白機改造+模擬器中文ROM+DOS測試

因為本身是NAS的重度使用者,無論是影音檔、遊戲檔、文件檔,同步備份異地備份,APP遠端或web遠端管理,所有資料早就離不開NAS...

也正因如此,即然我的遊戲都已經在NAS上了,我也有慣用的各式工具方式在管理我的檔案,早已落實雲端管理的概念,樹莓派3也搭著IoT熱潮內建WiFi了,我何必再多一次工,把遊戲copy到SD卡裡呢?所以在第一天把玩樹莓復古派時,我就決定要改用NAS來管理我在玩的遊戲!

本篇主要以RaspberryPi3搭配RetroPie3.7系統為設備環境,並以連接NAS設備來玩雲端模擬器遊戲為本篇的教學內容。(指令參考來源: http://blog.petrockblock.com/forums/topic/how-to-load-roms-from-nas-its-a-guide/ )

實測影片:樹莓內建wifi讀取NAS中的PSX太空戰士7中文版ISO,檔案大小為1.5GB

NAS雲端遊戲櫃有什麼優缺點?

優點:

  • 樹莓主機可以完全藏在電視或框體內,不需再插拔記憶卡

  • 不用擔心記憶卡沒空間

  • 降低記憶卡存取次數可延長壽命

  • 從wifi讀取(RAM),比讀取SD卡(I/O)省電很多

  • 隨時可以用PC或手機遠端管理你的遊戲

  • 你的存檔都在NAS裡隨時可以修改或備份

  • 可同時多機跨多平台玩同一款檔案,甚至共用同個雲端存檔

缺點:

  • 首次設定門檻略高

  • 依賴網路傳輸,無網路即變空機


行前準備

1.一台已連上NAS或網芳的電腦PC

2.電腦準備好遠端SSH連線軟體,或直接把鍵盤接至你的樹莓派。

3.電腦要有文字編輯器,建議可使用 Notepad++。

4.請準備好你打算用於RetroPie的分享資料夾,包含網路位址或IP位址,登入的帳號及密碼;

若你沒有NAS,但家裡有在使用網路芳鄰一樣可通用,一樣都需要準備好網路位址與帳號密碼


  • 網路位址:完整位址包含資料夾

例如

\\192.168.1.123\games

或

\\mynasname\games
  • 登入帳號:有資料夾讀寫權限的NAS或網芳的帳號

  • 登入密碼:有資料夾讀寫權限的NAS或網芳的密碼


RetroPie連線NAS三大階段步驟

  • 階段一、掛載資料夾

  • 階段二、修改設定檔

  • 階段三、煩惱要玩什麼跟有沒有時間

階段一、掛載資料夾

(1-1)先進入command命令列模式, 本機接鍵盤請按F4 , 遠端請用SSH軟體連線 (官方教學)。

(1-2)登入RetroPie的帳號密碼,若沒改為應為預設值。

(1-3)先安裝cifs的工具套件,讓你的復古派有網芳的功能

輸入指令

sudo apt-get install cifs-utils

(1-4)在記憶卡中建立虛擬對應資料夾,本篇教學就先以我訂的位址為例/media/nasroms,但其實可以自行修改

輸入指令

sudo mkdir /media/nasroms

(1-5)修改檔案系統設定檔,接下來會進入編輯器畫面,請小心操作

輸入指令

sudo nano /etc/fstab

(1-6)使用鍵盤 方向鍵 可移動綠色游標,輸入你的NAS或網芳位址,以及本地的對應資料夾,還有NAS或網芳的帳號密碼

舉例如下:

NAS或網芳的路徑

 //192.168.1.123/games

本地虛擬對應資料夾

 /media/nasroms

NAS或網芳的帳號

nasadmin

NAS或網芳的密碼

 pw12345

輸入內容

//192.168.1.123/games /media/nasroms cifs user,uid=1000,username=nasadmin,password=pw12345,iocharset=utf8 0 0

(1-7)輸入完成後請按 Ctrl 加 O 後按 Enter 可存檔, 再按 Ctrl 加 X 可離開編輯器畫面

(1-8)又回到command命令列畫面,此時輸入指令掛載虛擬磁碟,重啟後即完成第一階段了!

輸入指令

sudo mount -a

sudo reboot


階段二、修改設定檔

(2-1)因為全新掛載的虛擬資料夾中,是沒有遊戲資料夾的,很清爽,但缺點就是要自己建立!

所以請先使用你的電腦,到你NAS或網芳的資料夾中,自行建立對應的遊戲資料夾,如紅白機為nes、PSP為psp...(請自行至 官網查詢對應的資料夾)

本次範例先建立了arcade、fds、gba、n64、nes、psp、snes,並順手放了幾款遊戲進去

(2-2)回到樹莓派的command命令列模式, 本機接鍵盤請按 F4 ,遠端請用SSH軟體連線

然後一樣登入帳密後,進入你剛才設定的虛擬對應資料夾,檢查掛載磁碟有沒有成功

檢查虛擬對應資料夾

cd /media/nasroms

 ls

出現剛才建立的遊戲資料夾代表成功一半了XD!

(2-3)接下來用cp的指令將遊戲設定檔備份到NAS或網芳資料夾中,本範例備份了三份以備不時之需,熟手甚至不備都行,但建議還是備一下

將設定檔備份三份到NAS或網芳資料夾中

sudo cp /etc/emulationstation/es_systems.cfg /media/nasroms/es_systems.bak

sudo cp /etc/emulationstation/es_systems.cfg /media/nasroms/es_systems_sd.bak

sudo cp /etc/emulationstation/es_systems.cfg /media/nasroms/es_systems_nas.bak

 ls

備份後下ls指令檢查有沒有成功備份檔案,同時回電腦檔案總管中看有沒有同步出現

(2-4)然後在電腦上使用文字編輯器如 Notepad++,開啟es_systems_nas.bak檔案準備修改

開啟es_systems_nas.bak,並按 Ctrl 加 H 叫出取代功能

尋找目標

 /home/pi/RetroPie/roms/

取代成

 /media/nasroms/

全部取代後,按 Ctrl 加 S 存檔,即可關閉編輯器軟體

(2-5)最後又回到樹莓派的command命令列模式啦,輸入以下指令,讓剛才修改好的設定檔回存到樹莓派裡;若想改回讀本機SD卡,也有另一個指令可將備份檔回存。

將遊戲資料夾指向NAS或網芳的回存指令(讀寫NAS用)

sudo cp /media/nasroms/es_systems_nas.bak /etc/emulationstation/es_systems.cfg

(首次請略過本步驟)若想改回讀本機SD卡,也有另一個指令可將備份檔回存。

將遊戲資料夾指回本機SD卡的回存指令(回復備份用)

sudo cp /media/nasroms/es_systems_sd.bak /etc/emulationstation/es_systems.cfg

最後將樹莓派重開機,或只重啟ES亦可,重開後就會看到你選單裡有NAS或網芳中的遊戲囉!


階段三、煩惱要玩什麼跟有沒有時間

只要把遊戲複製到NAS或網芳中的遊戲資料夾內,就可以用你的樹莓派直接玩遊戲了,同時存檔也會存在同個目錄底下的相同檔名!因為ES前導並沒有refresh的功能,所以要記得按 START重新啟動一下你的ES就可以看到遊戲囉!

把你電腦裡的記錄檔複製到NAS對應的資料夾中,把檔名改成跟遊戲相同,附檔名改為srm,就可以在樹莓派中讀回記憶囉!

實測影片:樹莓內建wifi讀取NAS中的PSX太空戰士7中文版ISO,檔案大小為1.5GB

在熟悉遊戲資料夾設定後,其實可以設定不同資料夾來作遊戲管理,例如小孩遊戲是A設定檔,大人遊戲為B設定檔,搭配多台樹莓派,更可以多機同樂甚至連線對戰(多款模擬器有內建網路對戰呢)!

如果熟悉shell指令的,還可以寫成批次檔,甚至做成開機管理,開機時選擇以什麼身份開機,來載入不同的遊戲資料夾,愈深入想愈多玩法,就怕你沒時間!!!

最後!用力的玩它吧!

後記:

其實有更簡單的做法,修改系統裡磁碟的指向即可

https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-Network-Share

大家先看官方教學,有空會再更新文章....