迎春款客迷你街機計劃第三章:連線篇

迎春款客迷你街機計劃第三章:連線篇

雖然做好了精緻的迷你街機,不過如果想多個人一同玩的話,小小的 8” 屏幕始終不便。 RetroPie 其實也備有連線同玩或對戰的功能,無論是在同一個家居網絡,又或是透過互聯網,都可以連線遊戲。

迎春款客迷你街機計劃第一章:裝嵌篇

Netplay 三條件

RetroPie 是透過所用的模擬器前端 RetroArch 來提供連線遊戲( Netplay )功能的,不過要達成 Netplay 有三個條件:

  • 各台機都使用同一版本的 RetroArch ;
  • 各台機都使用同一種模擬器( RetroPie 其實是多種模擬器的集合體啊);
  • 各台機都使用同一個遊戲 ROM ;

要達成這三點,最簡單的方法就是將設定好遊戲後的迷你街機的 micro SD 卡拷貝成 IMG 檔,再燒錄到其他 Raspberry Pi ( RPi )的 micro SD 去。

拷貝 RetroPie micro SD

下載 Win32 Disk Imager ( Windows ):按此

Win32 Disk Imager

下載 ApplePi-Baker ( macOS ):按此

Screen Shot 2018-12-24 at 14.33.36

1. 將迷你街機上設定好的 RetriPie micro SD 卡插到 Windows 電腦上,可能會提示你格式化磁碟。這只是因為 Windows 讀不懂 Respberry Pi 所用的 Linux 磁碟格式,應按「取消」來開始設定備份。

1. 將迷你街機上設定好的 RetriPie micro SD 卡插到 Windows 電腦上,可能會提示你格式化磁碟。這只是因為 Windows 讀不懂 Respberry Pi 所用的 Linux 磁碟格式,應按「取消」來開始設定備份。

2. 開啟 Win32 Disk Imager,在 Image File 欄輸入 IMG 檔儲存路徑,並在 Device 下拉選單選擇插有 micro SD 的碟機;

3. 按「 Read 」按鈕開始把 micro SD 的內容拷貝到 IMG 檔

3. 按「 Read 」按鈕開始把 micro SD 的內容拷貝到 IMG 檔

4. 選取 IMG 檔後按「 Write 」按鈕就可以將 IMG 檔還原燒錄到另一張 micro SD 卡,開始前會提醒用戶這樣做會將卡上原來的資料完全刪除,要用戶確認。

4. 選取 IMG 檔後按「 Write 」按鈕就可以將 IMG 檔還原燒錄到另一張 micro SD 卡,開始前會提醒用戶這樣做會將卡上原來的資料完全刪除,要用戶確認。

設定 Netplay

RetroPie 網絡需要有一台機擔當主機 Host ,其他機則擔當客戶端 Client 。

host-client

Client 機必須要知道 Host 機的 IP 地址和埠號( port )才能夠進行連接。如果 IP 看作地址的話,埠號就是房號,找對房號才能找到負責處理的人。而我們一般常看的網頁,其實是使用 port 80 ( HTTP )或 port 443 ( SSL ),不過瀏覽器預設幫我們輸入了而已。

ip_as_street

Host 設定

1. 在主目錄選擇 RetroPie 標誌,進入設定畫面,然後選擇「 RETROARCH NET PLAY 」;

IMG_1681

IMG_1682

2. 在「 1 Set mode 」輸入「 H 」,將這部機設定成網絡的 Host ;
3. 記下「 2 Set port 」裡設定的埠號,預設是「55435」,你也可以將這個值設定為 1024-65535 之間沒有被佔用的值。由於一般人都不知道有哪個埠位被其他服務佔用,所以還是保留預設值以免出錯;
4. 記住對話框頂部的 Internal IP ( Host 和 Client 都在內網的話),或者 External IP (想透過互聯網雙打的話);
5. 在「 Set netplay nickname 」設定主機的名稱;
6. 按「 Save configuration 」將設定存好。

互聯網雙打:路由器設定

除了本地網絡外,RetroArch 的 Netplay 是可以透過互聯網對戰的(當然連線不一定夠暢順),如果想跟朋友透過互聯網對戰,就要在家中的路由器設定「 Port Forwarding (或者稱為 Virtual Server 虛擬伺服器 ) 」,將來自 RetroArch 所使用埠號的連線,包括 TCP 和 UDP 通信協定,都指向 RetroPie 的 Host 主機了。

ASUS 路由器的例子。只有透過互聯網雙打才需要設定,設定時要注意同時設定 TCP 和 UDP 協定。如果你的路由器不支援「BOTH」設定方式的話,就要分成兩條轉發規則來設定了。

ASUS 路由器的例子。只有透過互聯網雙打才需要設定,設定時要注意同時設定 TCP 和 UDP 協定。如果你的路由器不支援「BOTH / TCP+UDP 」設定方式的話,就要分成兩條轉發規則來設定了。

Client 設定

1. 在主目錄選擇 RetroPie 標誌,進入設定畫面,然後選擇「 RETROARCH NET PLAY 」;
2. 在「 1 Set mode 」輸入「 C 」,將這部機設定成網絡的 Client ;
3. 在「 2 Set port 」裡輸入 Host 所設定的埠號;
4. 在「 3 Set host IP address」輸入 Host 的 IP 地址,如果是在同一個內網的話應輸入 Internal IP ,互聯網的話就輸入 External IP ;
5. 在「 Set netplay nickname 」設定 Client 機的名稱;
6. 按「 Save configuration 」將設定存好。

啟動 Netplay

IMG_1684

大家可能會留意到載入遊戲時會顯示一個白色的框,那其實是稱為「 Runcommand 啟動菜單」的畫面,在「 Runcommand 啟動菜單」白框出現期間按 Enter 掣(框體右側),就可以進入菜單,針對遊戲進行一堆設定,其中選擇「 Z Launch with netplay enabled 」後按 Enter 掣的話,就會開啟 netplay 模式。如果是 Host 主機的話就會等待 Client 機連線。

IMG_1686

同樣地, Client 機在載入同一個遊戲時,在「 Runcommand 啟動菜單」畫面按 Enter 掣進入菜單選擇「 Z Launch with netplay enabled 」,就會開始連接到 Host 主機。成功的話,你會發現畫面左下角出現「 Started connect to host」字句,而兩部機的遊戲畫面是同步的,部分遊戲只在一方輸入 Credit ,另一方也可以按 Start 掣(前板右掣)開始遊戲(即一個投幣器可以收取兩部機的錢)。

延伸閱讀

迎春款客迷你街機計劃第二章:投幣篇