為了方便玩家建立伺服器,Mojang推出了Minecraft基岩版官方伺服器軟體「Bedrock Dedicated Server」,簡稱BDS,可以輕鬆在個人電腦或者伺服器開設多人遊戲。
BDS由官方維護,會即時對應Minecraft基岩版的最新版本。Mojang官方經營的Minecraft Realms亦採用了BDS的技術。
跟其他伺服器軟體比起來,BDS屬於原味生存(vanilla)的伺服器,玩家可以把現有的世界放到伺服器,可以裝模組(Add-On),但只有基本的玩家管理功能,專為小型伺服器設計。如果你需要插件(plugin)之類的大型伺服器管理功能,請改用其他 基岩版伺服器軟體。
Mojang官方發表的BDS軟體可以直接在Linux或Window執行,也有外國組織將BDS打包成Docker映像檔。本文示範如何使用Docker容器技術架設BDS伺服器,方便我們統一部署到各種機器上。
1. 環境#
- 系統:Ubuntu 22.04 LTS
- CPU: 4核心x86架構CPU
- RAM:4GB (官方建議值)
- 硬碟空間:10GB
2. 撰寫Docker-compose#
我使用itzg組織維護的映像檔,該映像檔基於Mojang官方發表的最新BDS版本所建置。
注意:Mojang官方發表的BDS二進位檔僅支援x86_64架構,itzg打包的Docker映像檔雖然支援x86與ARM架構,讓樹莓派也能執行BDS,但是ARM的映像檔內部是用Box64轉譯的,可能會不穩定。
請先安裝 Docker
新增存放世界資料的目錄,這裡就是伺服器的根目錄了。
cd ~
mkdir minecraft_bds_server
cd minecraft_bds_server
- 新增
docker-compose.yml
vim docker-compose.yml
- 填入以下內容。
version: '3.4'
services:
bds:
image: itzg/minecraft-bedrock-server
environment:
EULA: "TRUE" # 自動同意EULA
GAMEMODE: survival # 預設新世界的模式
DIFFICULTY: normal # 預設新世界難易度
ports:
- "19132:19132/udp"
volumes:
- /home/user/minecraft_bds_server:/data # 將容器內的遊戲世界/data資料,儲存到目前的目錄
stdin_open: true
tty: true
- 啟動服務
sudo docker compose up -d
- 開放防火牆19132 UDP通訊埠
sudo ufw allow 19132/udp
sudo ufw reload
- 用
ip addr
查看Linux電腦的區域IP:
# 範例輸出,IP為192.168.0.5
wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.0.5/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0
於同一區域網路下的電腦,開啟Minecraft基岩版,點選多人遊戲 → 新增伺服器,輸入
<Linux電腦區域IP>:19132
嘗試連線。在伺服器沒有任何世界檔案的情況下,會自動建立一個新世界。輸入
sudo docker ps -a
指令可看到目前伺服器運作中。
ivon@localhost:~/下載/bedrock_server> sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
043fd84e9ec8 itzg/minecraft-bedrock-server "/usr/local/bin/entr…" 3 minutes ago Up 52 seconds (healthy) 0.0.0.0:19132->19132/udp, :::19132->19132/udp bedrock_server_my_bedrock_server_1
- 使用logs指令查看伺服器輸出的訊息,例如玩家加入會顯示ID,加入失敗也會顯示原因。
sudo docker container logs -f "容器ID"
- 如果要停止伺服器:
cd ~/minecraft_bds_server
sudo docker compose down
- 更新Minecraft伺服器版本的指令:
cd ~/minecraft_bds_server
sudo docker compose pull
3. 調整Minecraft BDS伺服器設定#
調整BDS伺服器設定之前請先停止伺服器。
BDS伺服器內含
server.properties
,定義了伺服器的行為、OP帳號、ban人的規則。你可以用純文字編輯器調整:
cd cd ~/minecraft_bds_server
vim server.properties
- 如果你要使用自己的世界並裝模組,參考 Add-On裝法作法,先在Minecraft基岩版的單人界面啟用Add-On,再將遊戲世界的目錄放到BDS伺服器的目錄。
4. 開放外部連線的作法#
如果您的伺服器沒有固定的公共IP,又想讓區域網路外部連線進來,那麼就在所有電腦(含Minecraft BDS伺服器的電腦本身)安裝 內網穿透軟體,進行連線。