Minecraft Pixelmon 伺服器架設:和朋友在同一個世界玩寶可夢模組

摘要

Pixelmon 是把寶可夢加進 Minecraft 的模組。想和朋友在同一個世界玩,就要架一台裝了相同模組的伺服器,只要伺服器與每位玩家的版本一致,朋友就能連進來一起抓寶可夢。

文章目錄

Pixelmon 是把寶可夢加進 Minecraft 的模組。在自己的電腦玩過之後,我們可能會想架一台伺服器和朋友一起玩,但伺服器和玩家的版本不同時就無法連線。只要把遊戲正在使用的模組搬到伺服器上,朋友裝好相同的版本後,就能連進同一個世界。

本文的測試環境是 Windows 11,版本和在自己電腦安裝 Pixelmon 的教學相同,也就是 Minecraft 1.21.1、NeoForge 21.1.252 與 Pixelmon 9.4.1。

需要對齊的版本

在 Prism 對實例按右鍵選擇「編輯」,再打開「版本」頁,就能看到 Minecraft 與 NeoForge 的版本。下圖的 Minecraft 是 1.21.1,NeoForge 是 21.1.252:

Prism 實例的版本頁,列出 Minecraft 1.21.1 與 NeoForge 21.1.252

Pixelmon 的版本則寫在 mods 資料夾的檔名裡,例如 Pixelmon-1.21.1-9.4.1-universal.jar 就是 9.4.1。伺服器要裝成相同的版本,其中 Pixelmon 可以直接複製遊戲裡的檔案,版本對照如下:

左邊是玩家的 Prism 實例,右邊是伺服器資料夾,Minecraft 1.21.1 與 NeoForge 21.1.252 兩邊都是相同版本,Pixelmon 9.4.1 的模組檔從實例複製到伺服器的 mods 資料夾

安裝 NeoForge 伺服器

確認版本後,先建立一個新的空資料夾當伺服器資料夾,例如 pixelmon-server。接著下載和遊戲相同版本的 NeoForge installer,網址裡的 21.1.252 要換成 Prism 版本頁顯示的 NeoForge 版本:

1https://maven.neoforged.net/releases/net/neoforged/neoforge/21.1.252/neoforge-21.1.252-installer.jar

把下載的 jar 放進伺服器資料夾,在這個資料夾開啟命令提示字元,再執行 NeoForge 官方文件寫的安裝指令:

1java -jar neoforge-21.1.252-installer.jar --installServer

installer 會下載 Minecraft 伺服器與需要的函式庫,最後會印出 The server installed successfully。資料夾裡會多出 libraries、run.bat 與 user_jvm_args.txt,而 installer 本身在安裝後就可以刪除。

設定 Java 與記憶體

run.bat 會用電腦預設的 java 啟動伺服器,而 NeoForge 與 Pixelmon 官方都要求 Minecraft 1.21.1 使用 Java 21。在伺服器資料夾開啟命令提示字元並輸入 java -version,第一行是 21 開頭時,就不用換 Java。

如果顯示的是其他版本,也不用另外安裝。Prism 安裝 Pixelmon 時已經下載了 Java 21,檔案在 Prism 資料夾底下的 java\java-runtime-delta\bin\java.exe,我們可以讓伺服器直接使用它,電腦預設的 Java 不用動。

用記事本開啟 run.bat,把倒數第二行開頭的 java 換成這個完整路徑,其他行不動。不論有沒有換 Java,都要在 win_args.txt 後面加上 nogui,指令才會在這個視窗輸入。改完後這一行如下,路徑要換成自己的 Prism 資料夾,前後的引號也要保留:

1"E:\minecraft\tools\PrismLauncher\java\java-runtime-delta\bin\java.exe" @user_jvm_args.txt @libraries/net/neoforged/neoforge/21.1.252/win_args.txt nogui %*

接著設定記憶體。Pixelmon 官方的伺服器安裝文件要求至少分配 4 GB。開啟 user_jvm_args.txt,把最後一行 # -Xmx4G 開頭的 # 刪掉,存檔後這一行就會生效:

1-Xmx4G

EULA 與 Pixelmon 模組檔

雙擊 run.bat,第一次啟動會建立 mods、config 與 eula.txt 後停止,視窗會顯示 You need to agree to the EULA in order to run the server,這時按任意鍵關閉視窗。閱讀 Minecraft EULA 並同意後,用記事本把 eula.txt 的 eula=false 改成 eula=true。

這次啟動還沒有產生世界,因此我們要趁現在放入 Pixelmon,世界第一次產生時就會包含 Pixelmon 的建築與村莊:

  1. 開啟 Prism 實例資料夾裡的 minecraft\mods。
  2. 複製 Pixelmon-1.21.1-9.4.1-universal.jar。遊戲還要繼續使用它,因此不要用剪下。
  3. 貼到伺服器資料夾的 mods,不用解壓縮。放好後的樣子如下圖。

檔案總管的 mods 資料夾,裡面只有 Pixelmon-1.21.1-9.4.1-universal.jar 一個檔案

Pixelmon 不需要其他相依模組,mods 裡只要有這一個 jar。

確認 Pixelmon 已載入

放好模組後,再雙擊一次 run.bat。Pixelmon 的啟動時間比原版長,等到最後一行出現 Done 就代表啟動完成。啟動過程會捲過大量 WARN 與少數 ERROR,例如 Couldn't load tag pixelmon:spawning/drowned,只要最後有 Done 就不用理會:

伺服器視窗的啟動紀錄,模組清單列出 Minecraft 1.21.1、NeoForge 21.1.252 與 Pixelmon 9.4.1,接著是 Loading Pixelmon version 9.4.1,最後一行是 Done (6.226s)

啟動完成後,在伺服器視窗依序輸入下面的指令,neoforge tps 的清單裡會多出 Pixelmon 的維度 pixelmon:ultra_space,pokespawn pikachu 則會回應 Server successfully spawned Pikachu:

1neoforge tps
2pokespawn pikachu

如果 pokespawn 回應 Unknown or incomplete command,代表這台伺服器沒有載入 Pixelmon,這時要回頭檢查 jar 是否放在 mods 資料夾。

連線與版本錯誤

伺服器顯示 Done 後,就可以用裝好 Pixelmon 的 Prism 實例連線。位址怎麼填與防火牆的提示寫在原版伺服器的連線步驟,做法和 Pixelmon 伺服器相同。不在同一個區域網路的朋友,要透過路由器的連接埠轉發才連得進來。

第一次進入世界時,遊戲會顯示選擇初始寶可夢的畫面,看到這個畫面就代表連線成功:

遊戲畫面顯示歡迎來到 Pixelmon 世界的訊息,下方列出三排可以選擇的初始寶可夢

選好寶可夢後,碰到野生的寶可夢就會進入對戰,和單人遊戲相同。下圖是我在這台伺服器上遇到伊布的畫面:

Pixelmon 的對戰畫面,上方是野生的伊布,右下是我方的皮卡丘,下方列出招式

玩家的畫面或伺服器視窗出現下面的訊息時,就照著處理:

看到的訊息或情況 原因 處理方式
遊戲顯示「失去連線」與「模組「Pixelmon」的頻道連線失敗」 玩家與伺服器的 Pixelmon 版本不同 兩邊換成相同的 Pixelmon 版本
遊戲顯示版本不相容,要求使用 1.21.1 玩家用了其他 Minecraft 版本的遊戲 改用 Pixelmon 的 Prism 實例連線
能進入世界,但沒有初始寶可夢畫面 伺服器沒有載入 Pixelmon 檢查伺服器的 mods 資料夾
伺服器視窗顯示 Mod pixelmon requires minecraft 1.21.1 NeoForge 對應到其他 Minecraft 版本 在新的空資料夾重新安裝正確的 NeoForge

之後用 Prism 更新 Pixelmon 時,伺服器與每位朋友也要換成同一版。NeoForge 的小版本則不一定要相同,我用 21.1.252 的遊戲連線到 21.1.265 的伺服器時可以正常進入。

server.properties 預設是 white-list=false,知道位址的人都能進入。只想讓朋友進來時,要改成 true 並用 whitelist add 玩家名稱 加入名單。其他 Pixelmon 的設定都在伺服器資料夾的 config/pixelmon,要修改時先輸入 stop 停止伺服器,各項設定的說明在官方的設定文件。

實測紀錄

我為了只在本機測試,把 server-ip 設成 127.0.0.1、online-mode 設成 false,和朋友連線時不要照這些值設定。伺服器約 40 秒啟動完成,一位玩家連線時,程序的記憶體約 1.7 GB,neoforge tps 顯示 TPS 維持上限 20。上面的錯誤訊息都來自實際連線,遊戲都是 9.4.1,Pixelmon 版本不同的情況則是連線到 9.4.2 的伺服器。

總結

Pixelmon 伺服器要先裝好和遊戲相同版本的模組載入器,再把遊戲裡的模組檔複製到伺服器。實測 9.4.1 的遊戲連線後會出現初始寶可夢的畫面,一位玩家連線時 TPS 維持 20。

接著可以做什麼

上一篇Minecraft 找要塞、古城與生態域的指令:查到座標並傳送過去Games下一篇Minecraft Carpet Mod 假人指令:離線時農場繼續運作,不用回床也能跳過夜晚Games
Ted Liou

Ted Liou

現役軟體工程師,Unity、AI 技術開發經驗分享與諮詢。