如何使用樹莓派搭建安卓遊戲伺服器

  • 在樹莓派上搭建遊戲伺服器是可行的,但其處理能力大大限制了玩家數量。
  • 許多遊戲都支援私人伺服器,非常適合與朋友在區域網路或互聯網上一起玩。
  • 線上遊戲可以採用專用伺服器或點對點架構運行,各有其優缺點。
  • Hamachi、連接埠配置和網域名稱等工具使遠端存取遊戲伺服器變得容易。

使用樹莓派搭建安卓遊戲伺服器

如果你有一台閒置在抽屜裡的樹莓派和一部裝滿多人遊戲的安卓手機,那麼你離自己動手製作一台電腦就只差一步之遙了。 用於與朋友在線玩遊戲的家庭基礎設施無需超級電腦或在專用伺服器上花費巨資,配置良好的樹莓派即可成為您小型遊戲世界的中心,無論是在本地網路還是透過網路。

本文旨在將兩個世界融合起來:一方面,它所蘊含的一切。 在樹莓派上搭建和管理遊戲伺服器一方面,你將學習如何使用專用伺服器、點對點網路、Hamachi 型虛擬網路和連接埠轉送等概念連接玩家(來自安卓或其他裝置)。目標是,即使你第一次接觸網路和伺服器,也能理解線上遊戲背後的實際運作流程,並清楚知道從哪裡入手。

遊戲伺服器究竟是什麼? Android 在其中又扮演著怎樣的角色?

在你開始瘋狂安裝各種東西之前,有必要了解遊戲伺服器的作用。在許多現代多人遊戲中,尤其是在競技或持久性遊戲中,都存在著一個… 集中式伺服器負責協調遊戲中發生的一切。這台伺服器維護統計資料、管理玩家資料庫、控制遊戲世界,並確保所有使用者的操作同步進行,防止作弊。

當你在安卓手機上玩遊戲時,遊戲應用程式只不過是個… 客戶端連接到遠端伺服器這通常由遊戲公司自行管理(例如《魔獸世界》或類似的行動遊戲)。但在許多情況下,尤其是在獨立遊戲、開源遊戲或基於區域網路的遊戲中,如果遊戲和網路配置正確,就可以設定一個私人伺服器,讓你的朋友可以透過他們的裝置(包括安卓手機)連接到該伺服器。

專用伺服器還是點對點伺服器:哪種方案更適合您?

當你開始設計或部署線上遊戲時,經常會遇到這樣一個問題:你是否絕對需要一個… 始終在線的專用伺服器 或是否可以使用點對點 (P2P) 架構。理解這種差異對於決定如何整合你的樹莓派以及你的朋友如何加入遊戲至關重要。

在專用伺服器模型中,有一台特定的機器(在本例中是你的樹莓派,甚至是付費的遠端伺服器)充當… 所有玩家都連結到的中心點伺服器負責計算遊戲的主要邏輯,檢查明顯的作弊行為,儲存遊戲進度,並將資訊分發給所有客戶端,無論它們是桌上型電腦、筆記型電腦,還是透過 Wi-Fi 或行動數據連接的 Android 裝置。

如何減少安卓手機的延遲
相關文章:
減少視頻遊戲延遲的安卓設置

在點對點模式下,情況會發生很大變化,因為 沒有哪個伺服器可以發出命令每個玩家同時扮演客戶端和部分伺服器的角色,資料直接在參與者之間共用。這可以省去設定專用伺服器的麻煩,但也往往會使同步變得複雜,更容易出現作弊行為,並且嚴重依賴每個裝置的網路連線。

許多新手開發者在經過一番研究後,都會發現點對點架構的概念,並決定朝這個方向發展,這種情況很常見,尤其是在… 當他們不想為專用伺服器付費時 或者他們覺得管理伺服器不方便。無論如何,即使你最終選擇P2P,了解如何在樹莓派上建立傳統伺服器也能讓你非常清楚地了解線上遊戲背後的運作原理。

專用伺服器需要付費嗎?還有哪些替代方案?

通常最大的問題在於,專用伺服器是否必然意味著 每月都要為託管在資料中心的機器付費簡而言之,答案是否定的:只要你能接受其局限性,你就可以使用自己的硬體(例如舊電腦或樹莓派)來擁有專用伺服器,而無需額外花費任何費用。

當我們談到付費專用伺服器時,我們通常指的是 從雲端或託管服務提供者租用的機器您控製作業系統和服務,但他們提供硬體和專業連接。這提供了極高的穩定性,並允許多個參與者,但顯然會產生持續的成本。

另一方面,如果您決定將樹莓派用作家用專用伺服器,硬體成本非常低(大約 花30歐元就能買到一台你家裡已經有的基本款爐台。其餘部分取決於您的網路連線和路由器。作為回報,您需要接受效能和頻寬方面的一些限制,因此您的伺服器非常適合私人遊戲,但不適合託管數百人。

樹莓派能當遊戲伺服器嗎?

樹莓派本質上是一個 低功耗迷你計算機,能夠全天候運作雖然硬體配置不高,但足以勝任許多家庭伺服器任務。除了遊戲之外,你可能已經聽說過它還能用作個人雲端碟、媒體中心、下載用戶端,甚至是復古遊戲機,而且功耗極低。

在遊戲領域,樹莓派無法與專業伺服器相媲美,但對於輕量級遊戲或簡單的配置來說,它完全能夠勝任。 輕鬆處理小型區域網路或少量遠端連接請注意,該機的處理器和內存非常有限,因此不要指望幾十名玩家同時玩遊戲而不會出現卡頓或崩潰的情況。

關鍵在於選擇那些允許使用私有專用伺服器且對資源需求不高的遊戲。例如: Minecraft,一款3D方塊沙盒遊戲 以及泰拉瑞亞 它們完全符合這項要求,而且其中許多已經提供了在 Raspberry Pi 上安裝伺服器的專門指南,並附有經過測試的配置。

以下是一些可以在樹莓派上運行的遊戲範例

在支援私服的遊戲目錄中,有兩款遊戲引起了廣泛關注: Minecraft,一款 3D 方塊沙盒遊戲;以及 Terraria,它的 2D 競爭對手。這兩款遊戲都支援部署特定伺服器供客戶端連接,從而允許玩家創建私人遊戲而無需依賴公共伺服器。

使用你的樹莓派作為這些遊戲的伺服器,你可以 創造持久世界,與朋友一起玩耍這可以透過本地網路(例如,所有用戶連接到同一個 Wi-Fi)或網際網路來實現。基本想法是安裝一個適配 ARM 架構的伺服器版本,配置基本參數(最大玩家人數、難度、世界種子等),然後開啟或轉送對應的連接埠。

如果你喜歡第一人稱遊戲,樹莓派上也能運行一些經典的第一人稱遊戲,例如: QuakeWorld、AssaultCube 或傳奇遊戲 Doom 它們有伺服器版本,可以在這種硬體上流暢運行。這些遊戲比現代射擊遊戲輕量得多,而且如果配置得當,可以支援多名玩家同時遊戲,提供相當流暢的遊戲體驗。

在這些FPS遊戲中,使用自己的伺服器的優勢在於遊戲是在你自己的伺服器上進行的。 集中存放在您控制的機器中這降低了有人利用延遲或使用常見的公共伺服器技巧作弊的風險。此外,您無需依賴第三方即可調整重生時間、武器傷害或地圖輪換等參數。

除了沙盒遊戲和射擊遊戲之外,樹莓派也適用於其他遊戲。 支援專用伺服器的策略遊戲和休閒遊戲有趣的例子包括 FreeCiv(文明的免費克隆版)、Windward(合作海盜冒險遊戲)、The Battle for Wesnoth(受帝國時代等經典遊戲啟發的回合製策略遊戲)、Crossfire(帶有潛行元素的街機策略遊戲)以及 OpenTTD,它以類似於過山車大亨和壟斷遊戲混合的方式重新詮釋了運輸管理。

使用樹莓派搭建安卓遊戲伺服器

使用樹莓派上的伺服器玩本地網路和網路遊戲

一旦你在樹莓派上搭建並運行了你最喜歡的遊戲伺服器,其他人可以透過兩種主要方式連接: 透過本地網路 (LAN) 或從家外透過網路連線。LAN 模式通常是最簡單的,因為所有裝置都在同一個路由器後面,不需要將任何東西暴露在外。

對於區域網路遊戲,只需將安卓手機或其他用戶端連接到同一個Wi-Fi網絡,然後使用以下方法: 樹莓派的本機 IP 位址作為伺服器位址許多遊戲會透過廣播自動偵測本地網路上的伺服器,但如果沒有,只需手動將該 IP 位址輸入到用戶端即可。

如果你想讓不在你家的朋友也能參與進來,那麼你就進入了…的領域。 遠端連線這裡主要有兩條路: 在路由器上開啟連接埠(連接埠轉送)或使用 VPN 模擬本機網絡 例如 Hamachi 提供的那種方法。每種方法各有其複雜程度,但都完全可行。

家庭伺服器的連接埠轉送和網域使用

將家庭伺服器暴露給互聯網的經典方法是配置著名的 路由器上的連接埠轉發這需要告訴路由器將所有到達特定連接埠(例如,Minecraft 中的 25565 連接埠)的流量重新導向到樹莓派的本地 IP 位址。這樣,當外部用戶透過該連接埠連接到你的公網 IP 位址時,請求最終會到達你的遊戲伺服器。

連接埠轉送的優點在於效率很高,而且不依賴第三方程序,但它需要… 你應該知道如何存取路由器的設置,並且注意安全。此外,如果你的公用 IP 位址是動態的,它會​​隨著時間推移而改變,迫使你的朋友不斷地問「嘿,你現在的 IP 位址是什麼?」。

正因如此,強烈建議您將伺服器連接到… 網域名稱或動態 DNS 服務與其給朋友們一個不斷變化的數位位址,不如給他們一個始終指向你目前 IP 位址的簡單網域。這樣一來,無論使用安卓設備或其他任何設備,連接伺服器都變得更加方便。

無需開放連接埠的替代方案:創建 Hamachi 型虛擬網絡

如果覺得開放連接埠這些操作很複雜,或是你根本不想折騰路由器,還有另一個非常實用的選擇:使用… 使用 Hamachi 型 VPN 建立虛擬私人網絡這種方法在只想和朋友一起玩遊戲而不想費心配置網路硬體的玩家中非常受歡迎。

前提很簡單:你和你的朋友安裝一個類似這樣的程式。 使用 LogMeIn Hamachi,您可以建立一個帶有 ID 和密碼的虛擬網路。然後你們都加入這個網路。從那時起,你們的電腦就能像連接到同一個區域網路一樣互相識別,即使你們實際上都身處各自的家中。

在一個典型的例子中,主機在 Hamachi 中建立網絡,其他玩家透過輸入產生的 ID 和密碼加入。所有玩家都會在清單中看到類似「PC 名稱」或「筆記型電腦名稱」的訊息,並伴隨綠色指示燈,表示已連線。這樣,當遊戲伺服器在樹莓派或 PC 上監聽時,其他玩家就可以連線了。 使用 Hamachi 顯示的虛擬 IP 位址,而不是真實的公網 IP 位址。.

透過安卓設備監控你的 Minecraft 伺服器效能
相關文章:
透過安卓設備監控你的 Minecraft 伺服器效能

實際案例:搭建一個範例私有伺服器

為了讓這些想法更貼近實際,我們可以看看創造的過程是如何的。 PC 遊戲中的私人伺服器,用戶端透過 Hamachi 連線。雖然經典的例子通常是像《Project Zomboid》這樣的遊戲,但其原理可以推廣到其他使用專用硬體的遊戲。

首先,所有玩家都必須擁有 遊戲已合法取得並安裝在您的系統上。這包括更新,最好運行一次以驗證其是否正常工作。建議停用全螢幕模式,這樣您就可以在不忽略背景運作情況的情況下閱讀說明或切換視窗。

接下來,該過程被劃分為幾個邏輯階段。首先, 所有參與電腦都透過 Hamachi 建構虛擬網絡除了建立網路這一特定部分(完全由主機完成)之外,每個玩家都需要下載 Hamachi 用戶端,選擇無中央管理模式,安裝後即可加入伺服器主機建立的網路。

一旦所有人都連接到該虛擬網絡,調整就開始了。 與連線相關的遊戲選項對於某些與 Steam 整合的遊戲,可能需要使用特殊參數(例如「-nosteam」之類的標誌)啟動遊戲,以啟動專用伺服器模式或避免與平台覆蓋層發生衝突。

主持人是唯一需要投遞選票的人。 遊戲附帶的伺服器可執行文件這通常會打開一個控制台窗口,您可以在其中看到伺服器初始化資源、載入配置,幾秒鐘後,會顯示類似「伺服器已啟動」的訊息。通常還會有一個配置工具(有時是用 Java 編寫的),您可以在其中調整伺服器的詳細信息,例如伺服器空閒時是否暫停、世界名稱、遊戲規則等等。

典型的序列包括: 調整參數,儲存配置,重新啟動伺服器 這樣它才能讀取這些更改,然後才會打開遊戲客戶端。主機從主選單進入線上模式,選擇建立或加入自己的本機伺服器,並產生將在遊戲會話中使用的世界或角色。

為了讓其他玩家加入,主持人會把… Hamachi 在私人網路上指派給您的虛擬 IP 位址朋友們從各自的程式視窗複製 IPv4 位址(複製 IPv4 位址),然後將其貼上到遊戲線上選單的 IP 位址列中,而不是貼上區域網路或公網 IP 位址。這樣,大家就如同身處同一房間一樣,連接到同一個伺服器。

這類指南通常也會詳細說明一些限制:例如,要修改伺服器配置,必須在相應的工具中更改參數,儲存並重新啟動伺服器和遊戲;或者 如何徹底重置世界並不總是顯而易見的。 而且無需手動刪除存檔資料夾即可從頭開始。此外,許多此類操作最終都會被 Steam 等平台更方便的整合功能所取代,使得手動指南在新版本中顯得有些過時。

如何將所有這些內容融入到一款安卓遊戲中

如果你正在開發一款安卓多人遊戲,並且想知道如何讓玩家加入線上比賽,那麼其底層邏輯與之前的範例相同。你需要決定你的架構是否依賴… 行動應用連線的專用伺服器 或者,如果您選擇點對點方案,其中每部手機直接與其他手機通訊。

如果你選擇專用伺服器,樹莓派可以作為理想的測試環境,因為你可以用 Java、Python、Node.js 或任何你常用的應用程式來部署伺服器邏輯,然後讓你的安卓手機指向樹莓派的 IP 位址。在區域網路中,操作起來也很簡單,要測試外部連接,你可以使用連接埠轉送或像 Hamachi 這樣的 VPN,就像測試 PC 遊戲一樣。

如果您選擇點對點方式,您的程式碼需要: 管理其他玩家的發現、資料的直接交換、以及衝突解決。 當兩個動作幾乎同時發生時,雖然這樣可以省去維護中央伺服器的麻煩,但會增加程式設計和安全性方面的複雜性,尤其是在需要防作弊能力的情況下。

總之,了解其他遊戲如何處理存取權限至關重要。 私有伺服器、Hamachi 型模擬網路、連接埠轉送及相關域名 它會為你提供一個相當清晰的思路框架。然後,將這些模式應用到 Android 和你的樹莓派上,就只需要選擇合適的技術堆疊並完善實作細節即可。

Linux部署
相關文章:
Linux Deploy教學:如何在手機上託管Web伺服器

歸根究底,用樹莓派搭建安卓遊戲伺服器其實就是將幾個眾所周知的要素結合起來: 一台始終開機並充當伺服器的機器,一個可以與該伺服器通訊的多人遊戲或邏輯,一種讓客戶端找到正確位址(IP 或網域名稱)的方法,以及在必要時,VPN 或連接埠轉送等工具來繞過路由器。如果你了解這些概念,剩下的就是調整、測試,以及和朋友們反覆練習,以確保一切正常。 分享本指南,幫助更多使用者在安卓裝置上建立遊戲伺服器。


新增為首選來源