快轉到主要內容

Minetest多人連線與架設伺服器

遊戲攻略 Minetest資訊 Minetest Server
🗓️ 民國111年 壬寅年
✍ 切換正體/簡體字
目錄

Minetest主程式本身就有開伺服器(server)的功能,並有伺服器指令和權限設計,還可以裝 模組設定領地、白名單、防破壞系統。

如果只是單純連線遊玩,使用「區域連線」是最簡單的。其中一方當房主開伺服器,其他人加入。房主下線,則伺服器跟著下線。

另外則是使用電腦架設伺服器,只要主機不下線,則任何玩家都可以隨時加入伺服器。

以下內容以預設的Minetest Game為準。

1. Minetest伺服器先備知識
#

  1. 加入Minetest世界的玩家預設沒有任何權限,包含跑步、飛行、穿牆。

  2. Minetest伺服器預設人數上限為15人,可調整。

  3. 伺服器如果有安裝模組,則連線進來的玩家也可以使用,但要花一點時間下載檔案。

  4. 玩家加入Minetest伺服器前,需要填寫一組帳號密碼,用於儲存玩家資料,名字不可重複。

  5. 因為Minetesta目前(5.5.0)還不支援不靠模組換皮膚,所有玩家預設都是Sam的外觀。若要使用自己的皮膚,推薦作法:向伺服器管理員寄出自己的皮膚檔案,再於伺服端的 SkinsDB模組中加入額外的皮膚檔,讓加入的玩家可以更換皮膚。

  6. Minetest資料目錄minetest.conf有更詳細的伺服器設定參數。

2. Minetest區域連線
#

多部裝置,不論是手機還電腦,連線到同一網路(WIFI),即可使用區域連線。由「房主」主持(host)伺服器,其他玩家只要知道房主的裝置IP,就能連線進來。

  1. 房主點選要開伺服器的世界,勾選左邊的「主機伺服器」。於左下方填寫一組帳號密碼,之後點選「主持遊戲」進入世界。

  2. 使用/grantme all指令取得所有權限。

  3. 告訴其他人房主的區域網路IP以及連接埠,Minetest預設的連接埠是UDP 30000,確認防火牆有開啟。接著要查找區域IP,Linux輸入ip addr;Windows則是使用Powershell輸入ipconfig查看。

  4. 要連線進去的玩家,在Minetest的「加入遊戲」畫面,於右邊的選單輸入房主的IP位址和連接埠,接著自訂一組帳號密碼,點選「連線」。

  5. 初次進入會要求再輸入一次密碼。

  6. 預設情況下,連線進來的玩家無法自行打指令取得所有特權,要靠房主使用/grant <玩家名> all授予所有或部份權限。

  7. 房主一旦下線,所有人都會被踢出去。

3. Minetest開伺服器
#

想要開一個隨時都能在線上的伺服器,可以架在自己的電腦或樹莓派上,但機器必須一直開著。此外,要讓不是外部網路(非同一個WIFI)的玩家連線進來,還需要設定通訊埠轉發(port forwarding)。

比較常見的作法是購買雲端主機來架設,特別是想經營大型伺服器的玩家。

以下以架在自己電腦為例子。

  1. Linux電腦若是透過套件管理員安裝Minetest,則可直接於終端機使用minetestserver指令。Windows的話,只要找到minetest.exe所在位置,改用Powershell執行minetest.exe --server,等同minetestserver指令。

  2. 使用以下指令,開啟使用現有的world1世界,執行Minetest Game子遊戲的伺服器。

minetestserver --gameid minetest --worldname world1
  1. 參考本文 2. Minetest區域連線的步驟,跟開服電腦連線到同一網路的玩家都可以登入了。

  2. 要讓外部網路的玩家連線進來,設定 通訊埠轉發或者 內網穿透軟體即可。Minetest預設的連接埠是30000。

  3. 如果要預先指定伺服器管理員,先將伺服器按CTRL+Z中止執行。再編輯minetest.conf,加入以下內容。

name = "管理員玩家名"
  1. 重新執行伺服器,使用管理員名字登入伺服器的就會自動成為伺服器管理員。

4. 將Minetest伺服器公佈給大眾遊玩
#

公佈給大眾遊玩是指讓你的伺服器出現在 Minetest公共伺服器列表。

一般來說,需要將伺服器架在雲端主機,加上設定獨立域名才適合公佈伺服器,否則就要設定通訊埠轉發。

  1. 編輯minetest.conf,加入以下內容
server_announce = true
server_name = 伺服器名字
server_description = 伺服器名字說明
server_url = 伺服器位址
  1. 執行Minetest伺服器。

5. Minetest伺服器指令
#

常見的伺服器指令包含/ban、/kick等踢人指令。

參見: Minetest指令列表

6. Minetest伺服器權限控管
#

特權規範了玩家的行為,可以一次授予全部,或是只給部份。有些權限也可撤回,例如撤回shout的權限,則該玩家不能聊天。

參見: Minetest的玩家特權 (Privileges) 機制介紹

參考資料
#

相關文章

Minetest的地圖產生器種類介紹 (Map Generator)
遊戲攻略 Minetest資訊 Minetest Game
Minetest:新手攻略教學
遊戲攻略 Minetest資訊 Minetest Minetest Game
Minetest背景音樂播放模組Music Player Daemon使用教學
遊戲攻略 Minetest資訊 Minetest Mod

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。