Minetest主程式本身就有開伺服器(server)的功能,並有伺服器指令和權限設計,還可以裝 模組設定領地、白名單、防破壞系統。
如果只是單純連線遊玩,使用「區域連線」是最簡單的。其中一方當房主開伺服器,其他人加入。房主下線,則伺服器跟著下線。
另外則是使用電腦架設伺服器,只要主機不下線,則任何玩家都可以隨時加入伺服器。
以下內容以預設的Minetest Game為準。
1. Minetest伺服器先備知識#
加入Minetest世界的玩家預設沒有任何權限,包含跑步、飛行、穿牆。
Minetest伺服器預設人數上限為15人,可調整。
伺服器如果有安裝模組,則連線進來的玩家也可以使用,但要花一點時間下載檔案。
玩家加入Minetest伺服器前,需要填寫一組帳號密碼,用於儲存玩家資料,名字不可重複。
因為Minetesta目前(5.5.0)還不支援不靠模組換皮膚,所有玩家預設都是Sam的外觀。若要使用自己的皮膚,推薦作法:向伺服器管理員寄出自己的皮膚檔案,再於伺服端的 SkinsDB模組中加入額外的皮膚檔,讓加入的玩家可以更換皮膚。
Minetest資料目錄的
minetest.conf
有更詳細的伺服器設定參數。
2. Minetest區域連線#
多部裝置,不論是手機還電腦,連線到同一網路(WIFI),即可使用區域連線。由「房主」主持(host)伺服器,其他玩家只要知道房主的裝置IP,就能連線進來。
房主點選要開伺服器的世界,勾選左邊的「主機伺服器」。於左下方填寫一組帳號密碼,之後點選「主持遊戲」進入世界。
使用
/grantme all
指令取得所有權限。告訴其他人房主的區域網路IP以及連接埠,Minetest預設的連接埠是UDP 30000,確認防火牆有開啟。接著要查找區域IP,Linux輸入
ip addr
;Windows則是使用Powershell輸入ipconfig
查看。要連線進去的玩家,在Minetest的「加入遊戲」畫面,於右邊的選單輸入房主的IP位址和連接埠,接著自訂一組帳號密碼,點選「連線」。
初次進入會要求再輸入一次密碼。
預設情況下,連線進來的玩家無法自行打指令取得所有特權,要靠房主使用
/grant <玩家名> all
授予所有或部份權限。房主一旦下線,所有人都會被踢出去。
3. Minetest開伺服器#
想要開一個隨時都能在線上的伺服器,可以架在自己的電腦或樹莓派上,但機器必須一直開著。此外,要讓不是外部網路(非同一個WIFI)的玩家連線進來,還需要設定通訊埠轉發(port forwarding)。
比較常見的作法是購買雲端主機來架設,特別是想經營大型伺服器的玩家。
以下以架在自己電腦為例子。
Linux電腦若是透過套件管理員安裝Minetest,則可直接於終端機使用
minetestserver
指令。Windows的話,只要找到minetest.exe所在位置,改用Powershell執行minetest.exe --server
,等同minetestserver
指令。使用以下指令,開啟使用現有的
world1
世界,執行Minetest Game子遊戲的伺服器。
minetestserver --gameid minetest --worldname world1
參考本文 2. Minetest區域連線的步驟,跟開服電腦連線到同一網路的玩家都可以登入了。
如果要預先指定伺服器管理員,先將伺服器按CTRL+Z中止執行。再編輯
minetest.conf
,加入以下內容。
name = "管理員玩家名"
- 重新執行伺服器,使用管理員名字登入伺服器的就會自動成為伺服器管理員。
4. 將Minetest伺服器公佈給大眾遊玩#
公佈給大眾遊玩是指讓你的伺服器出現在 Minetest公共伺服器列表。
一般來說,需要將伺服器架在雲端主機,加上設定獨立域名才適合公佈伺服器,否則就要設定通訊埠轉發。
- 編輯
minetest.conf
,加入以下內容
server_announce = true
server_name = 伺服器名字
server_description = 伺服器名字說明
server_url = 伺服器位址
- 執行Minetest伺服器。
5. Minetest伺服器指令#
常見的伺服器指令包含/ban、/kick等踢人指令。
參見: Minetest指令列表
6. Minetest伺服器權限控管#
特權規範了玩家的行為,可以一次授予全部,或是只給部份。有些權限也可撤回,例如撤回shout
的權限,則該玩家不能聊天。
參見: Minetest的玩家特權 (Privileges) 機制介紹