一、概述:
事前準(zhǔn)備:一臺云服務(wù)器或搭載了centos操作系統(tǒng)的個人設(shè)備,如虛擬機(jī)(本文假定你已經(jīng)了解并且購買了云服務(wù)器,并且對Linux操作命令有一定了解)
搭建方式:方式有兩種,我先講解一下使用官方的BDS如何搭建。再講解如何使用LiteLoaderBDS搭建(該方法支持所有Linux環(huán)境)。
我個人是推薦使用LiteLoaderBDS來搭建的,因為可擴(kuò)展性更高,提供高度自定義的api,可自由安裝插件和自行編寫插件,支持熱更新插件,以及更好的社區(qū)環(huán)境,具體可參考LiteLoaderBDS。
若你想直接參考LiteLoaderBDS搭建方式,則直接查閱第五步。
ps: 最近好像搭服務(wù)器的人越來越多了,我本想著這篇文章可以留作筆記供日后再想開服時作為參考的,可在我寫完這篇文章之后,我發(fā)現(xiàn)在我的服務(wù)器上出現(xiàn)了一系列異常的情況,比如內(nèi)存泄漏,服務(wù)端假死等。為了不讓后來的朋友們踩這個坑,我在此聲明一下:目前該文章的搭建方法在centos服務(wù)器中可能會存在嚴(yán)重的內(nèi)存泄露問題,即內(nèi)存只增不減直至爆滿崩服,無法判斷該問題是由Liteloader加載器造成還是BDS官方服務(wù)端造成。我推薦各位直接在云服務(wù)器中安裝windows server操作系統(tǒng)來搭建該服務(wù)器,這將使你的服務(wù)器運行起來更加穩(wěn)定。運行過程中請避免使用鼠標(biāo)點擊cmd終端窗口,該操作將大概率會使你的服務(wù)器進(jìn)入假死狀態(tài)。如果在搭建過程中遇到問題歡迎在評論區(qū)留言,我看到后會第一時間解答。
二、下載官方服務(wù)器包:
- 進(jìn)入官網(wǎng)下載,進(jìn)去之后有個彈窗,告訴你去下網(wǎng)易國服版,我們點擊那個很隱秘的按鈕把他關(guān)掉。
image.png
往下翻選擇ubuntu server,勾選協(xié)議,鼠標(biāo)右鍵點擊download按鈕,復(fù)制下載地址:
image.png - 接下來使用遠(yuǎn)程連接工具連接云服務(wù)器,并執(zhí)行命令
dnf install wget -y下載wget工具,等待安裝完成(dnf是從centos8開始就自帶的包管理工具,比yum更方便更好用,會自動下載安裝所屬依賴,若你的服務(wù)器為centos7,則可手動安裝dnf:yum install dnf -y,再執(zhí)行上述命令,若你不想用dnf,也可直接使用yum來安裝)。 - 創(chuàng)建文件夾
mkdir mcbe,進(jìn)入文件夾cd mcbe - 接下來在這個文件夾中執(zhí)行:
wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.18.12.01.zip,這個地址是你剛才在官網(wǎng)所復(fù)制的地址。注意版本號:1.18.12.01對應(yīng)的是你游戲客戶端的版本號,檢查自己客戶端的版本號,你可以修改這個地址中對應(yīng)版本號與你客戶端版本號保持一致,這將下載對應(yīng)版本的服務(wù)器包。
等待下載完成后解壓包:unzip bedrock-server-1.18.12.01.zip,若沒有unzip工具,執(zhí)行dnf install unzip -y安裝即可。
三、使用docker創(chuàng)建ubuntu容器運行環(huán)境:
因官方包只支持在ubuntu環(huán)境下運行,在centos下運行會缺少公共依賴庫,當(dāng)然也可通過特殊方法解決這個問題,但是太過麻煩,所以我們干脆使用docker容器創(chuàng)建運行環(huán)境,這樣不僅解決了運行環(huán)境的問題,也方便管理,并且還可以在多個容器下創(chuàng)建多個服務(wù)器。
- 安裝docker:
dnf install docker-ce -y - 啟動docker服務(wù):
systemctl start docker - 設(shè)置開機(jī)自啟動docker服務(wù):
systemctl enable docker - 拉取ubuntu鏡像:
docker pull ubuntu - 查看鏡像:
[root@mihu ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 54c9d81cbb44 4 weeks ago 72.8MB
- 使用ubuntu鏡像創(chuàng)建容器:
docker run -dit -p 6666:6666/udp -v /mcbe:/mcbe --restart=always ubuntu:latest /bin/bash
直接復(fù)制該命令并執(zhí)行即可。
docker run指創(chuàng)建一個容器。-d意思是進(jìn)程守護(hù)模式默認(rèn)不會進(jìn)入容器,-it打開標(biāo)準(zhǔn)輸入偽終端,這三個參數(shù)缺一不可。-p 6666:6666表示將容器內(nèi)的服務(wù)器端口(后面的6666),映射到宿主機(jī)的6666端口(前面的6666),注意:這兩個端口號最好保持一致,若不一致,即使宿主機(jī)映射端口被開放也將觸發(fā)bug(游戲內(nèi)服務(wù)器列表顯示延遲紅點,但其實可以進(jìn)入服務(wù)器的bug,也不知道是不是bug,但為了這個問題我處理了很久),Minecraft基巖版服務(wù)器使用的是udp協(xié)議故加上/udp。-v /mcbe:/mcbe表示將宿主機(jī)中的mcbe文件夾(第二步創(chuàng)建的)映射(掛載)到容器中的mcbe文件夾中,方便我們直接在宿主機(jī)管理并配置服務(wù)器。若你需要創(chuàng)建多個服務(wù)器,則重復(fù)按照以上方法創(chuàng)建多個容器,然后將mcbe文件夾復(fù)制出多份,且名稱不重復(fù)即可。多個容器映射不同的文件夾,即(mcbe1,mcbe2)等,具體請自行摸索,或查看相關(guān)文檔。
- 查看容器:
[root@mihu ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5a9e86570a47 ubuntu:latest "/bin/bash" 23 seconds ago Up 21 seconds 0.0.0.0:6666->19132/udp, :::6666->19132/udp jovial_taussig
復(fù)制打印出來的容器id,我的是 5a9e86570a47
- 進(jìn)入容器:
docker exec -it 5a9e86570a47 /bin/bash
image.png
四、修改配置并啟動服務(wù)器:
- 更新包管理工具
apt update - 安裝vim編輯器
apt install vim -y - 安裝tmux會話管理器
apt install tmux -y - 進(jìn)入mcbe文件夾中
cd mcbe - 編輯服務(wù)器配置文件
vim server.properties:按下i進(jìn)入編輯模式,
image.png
若你希望玩困難模式,則將:
difficulty=easy修改為difficulty=hard將掛機(jī)踢出修改為
player-idle-timeout=0(無論掛機(jī)多久,不踢出,單位為分鐘)最大線程修改為:
max-threads=0(0為盡可能保持最大線程)修改服務(wù)器端口:
server-port=6666(這里的端口號需和容器開啟時設(shè)置的端口號一致,默認(rèn)為19132)開啟白名單:
allow-list=true按下
Esc并輸入:wq保存退出
其他配置請查看mcbe文件夾下的bedrock_server_how_to.html英文文檔,或百度其他。
- 執(zhí)行
tmux命令創(chuàng)建新會話 - 在該會話下執(zhí)行
LD_LIBRARY_PATH=. ./bedrock_server命令啟動服務(wù)器。若看到該打印信息表示啟動成功:
image.png - 按下
<ctrl+b>接著按d退出該會話并保持后臺運行,下次如果想進(jìn)入會話查看則直接執(zhí)行tmux attach。 - 退出容器:
exit(退出后容器仍然保持后臺運行)。下次進(jìn)入還是使用命令:docker exec -it 5a9e86570a47 /bin/bash
一些關(guān)于tmux的其他命令:
- 新建會話并取名
tmux new -s <session-name>- 查看會話列表:
tmux ls- 殺死會話進(jìn)程:
tmux kill-session -t <session-name>- 切換會話:
tmux switch -t <session-name>- 重命名會話:
tmux rename-session -t <old-session-name> <new-session-name>
五、使用LiteLoaderBDS搭建方式:
搭建前提:已安裝docker
若未安裝請操作以下步驟:
- 安裝docker:
dnf install docker-ce -y- 啟動docker服務(wù):
systemctl start docker- 設(shè)置開機(jī)自啟動docker服務(wù):
systemctl enable docker
- 官方對LiteLoaderBDS的描述:
LiteLoaderBDS是一個非官方的 Minecraft 服務(wù)端插件加載器,為基巖版官方服務(wù)端Bedrock Dedicated Server(以下簡稱BDS)提供插件開發(fā)支持 和 插件加載服務(wù),彌補(bǔ)了官方行為包開發(fā)接口長期以來存在的一些不足。
- 拉取LiteLoader鏡像,執(zhí)行:
docker pull shrbox/liteloaderbds。
該鏡像占用2.6G的大小,下載下來有些費勁,如果你跟我一樣下載速度很慢,則需要更換docker鏡像源,如果你下載的速度夠快,則忽略以下步驟:- 執(zhí)行命令
vim /etc/docker/daemon.json編輯daemon.json文件,默認(rèn)該文件是不存在的,不過我們?nèi)匀豢梢詧?zhí)行該命令,因為vim會自動幫我們創(chuàng)建這個文件。 - 按下
i進(jìn)入編輯模式,然后寫入以下配置信息:{ "registry-mirrors": ["https://registry.docker-cn.com"] }https://registry.docker-cn.com為中國官方鏡像源。
接下來按Esc退出編輯模式,然后按下并輸入:wq然后回車,退出保存。 - 重啟docker服務(wù)
systemctl restart docker,接著再執(zhí)行docker pull shrbox/liteloaderbds命令,就會發(fā)現(xiàn)下載速度蹭蹭往上漲了。
- 執(zhí)行命令
- 拉下來鏡像之后,創(chuàng)建容器:
docker create --name liteloader -p 6666:6666/udp -v liteloaderbds:/home/bds/bds -i -t shrbox/liteloaderbds
[root@mihu _data]# docker create --name liteloader -p 6666:6666/udp -v liteloaderbds:/home/bds/bds -i -t shrbox/liteloaderbds
a02453350504ec839c1c4c5775abc4cf07778ecb4c4e243493394425cc79c72d
注意:這個命令一個字母也不要錯。
-v 參數(shù)后面跟的是 liteloaderbds:/home/bds/bds,表示創(chuàng)建具名掛載卷liteloaderbds,映射到容器內(nèi)/home/bds/bds路徑下,該路徑為服務(wù)器程序包所處位置,掛載后方便我們在宿主機(jī)上直接操作服務(wù)器的配置文件。
-
創(chuàng)建完成后,我們對掛載卷做一個軟連接。進(jìn)入到屬主目錄,或其他你存放東西的目錄。
cd ~,然后執(zhí)行命令:ln -s /var/lib/docker/volumes/liteloaderbds/_data/ ./liteloader,這樣以后就可以直接在屬主目錄下對服務(wù)器文件進(jìn)行操作,我們打印列表查看一下:
image.png
發(fā)現(xiàn)軟連接創(chuàng)建成功,cd _data進(jìn)入查看一下:
image.png
列表中就是該容器創(chuàng)建的服務(wù)器文件了。 -
在當(dāng)前目錄下編輯服務(wù)器配置文件
vim server.properties:按下i進(jìn)入編輯模式:
image.png- 若你希望玩困難模式,則將:
difficulty=easy修改為difficulty=hard - 將掛機(jī)踢出修改為
player-idle-timeout=0(無論掛機(jī)多久,不踢出,單位為分鐘) - 最大線程修改為:
max-threads=0(盡可能保持最大線程) - 修改服務(wù)器端口:
server-port=6666(這里的端口號需和容器開啟時設(shè)置的端口號一致,默認(rèn)為19132) - 按下
Esc并輸入:wq保存退出
- 若你希望玩困難模式,則將:
修改完以后啟動容器:
docker container start liteloader-
其他的命令:
- 強(qiáng)制停止服務(wù)器(不推薦):
docker container stop liteloader - 進(jìn)入控制臺(服務(wù)器終端):
docker attach liteloader - 退出控制臺:按下
Ctrl + P + Q。如果按下Ctrl + C,服務(wù)器進(jìn)程將會終止。
- 強(qiáng)制停止服務(wù)器(不推薦):
插件的使用:在社區(qū)下載插件,并將插件直接放入服務(wù)器目錄下的
plugins文件夾中即可,然后執(zhí)行docker container restart liteloader重啟容器即可,這里我推薦一個提供插件的社區(qū)minebbs,可自行查找下載。-
liteloader的一些終端命令:
ll list
列出 當(dāng)前加載的所有插件列表ll load ./plugins/xxxx.js
熱加載 位于指定路徑的插件。路徑是相對于 BDS 根目錄的相對路徑。ll unload xxxx.lua
熱卸載 在插件列表中名為 xxxx.lua 的插件ll reload xxxx.dll
重新加載 在插件列表中名為 xxxx.dll 的插件ll reload
重新加載 插件列表中的所有插件ll version
輸出當(dāng)前安裝的 LL 版本ll upgrade
手動檢查 LiteLoaderBDS 自動更新
六、最后工作:
進(jìn)入自己的云服務(wù)器后臺=>防火墻配置頁,開放6666端口(我這里是騰訊云,阿里云應(yīng)該叫‘安全組’)

接下來進(jìn)入游戲,服務(wù)器=>添加服務(wù)器,服務(wù)器名稱隨便填,服務(wù)器地址:輸入云服務(wù)器的公網(wǎng)ip,端口:6666,保存后若能成功進(jìn)入游戲,則表示服務(wù)器搭建成功。
七、終端指令:
設(shè)置管理員:
op "玩家ID"
開啟死亡不掉落:
gamerule keepInventory true
顯示坐標(biāo):
gamerule showcoordinates true
加入白名單:
allowlist add 玩家名稱
從白名單移除:
allowlist remove 玩家名稱
每次刪除或加入之后需重載白名單:
allowlist reload
八、總結(jié):
在centos上搭建Minecraft基巖版服務(wù)器稍微麻煩了一些,Windows搭建的話直接把包下載下來執(zhí)行可執(zhí)行文件就ok了,其他相關(guān)信息、搭建方式、插件下載以及服務(wù)器的配置教程請前往社區(qū)查找:minebbs。
有任何技術(shù)方面的問題或者想加入我的服務(wù)器一起玩耍的,都可以添加我的微信:bishu0913。
轉(zhuǎn)載請注明出處。






