手把手教你在centos上搭建Minecraft(基巖版)服務(wù)器

一、概述:

  1. 事前準(zhǔn)備:一臺(tái)云服務(wù)器或搭載了centos操作系統(tǒng)的個(gè)人設(shè)備菲语,如虛擬機(jī)(本文假定你已經(jīng)了解并且購買了云服務(wù)器妄辩,并且對Linux操作命令有一定了解)

  2. 搭建方式:方式有兩種,我先講解一下使用官方的BDS如何搭建山上。再講解如何使用LiteLoaderBDS搭建(該方法支持所有Linux環(huán)境)眼耀。
    我個(gè)人是推薦使用LiteLoaderBDS來搭建的,因?yàn)榭蓴U(kuò)展性更高佩憾,提供高度自定義的api哮伟,可自由安裝插件和自行編寫插件,支持熱更新插件妄帘,以及更好的社區(qū)環(huán)境楞黄,具體可參考LiteLoaderBDS
    若你想直接參考LiteLoaderBDS搭建方式抡驼,則直接查閱第五步鬼廓。

ps: 最近好像搭服務(wù)器的人越來越多了,我本想著這篇文章可以留作筆記供日后再想開服時(shí)作為參考的婶恼,可在我寫完這篇文章之后桑阶,我發(fā)現(xiàn)在我的服務(wù)器上出現(xiàn)了一系列異常的情況,比如內(nèi)存泄漏勾邦,服務(wù)端假死等蚣录。為了不讓后來的朋友們踩這個(gè)坑,我在此聲明一下:目前該文章的搭建方法在centos服務(wù)器中可能會(huì)存在嚴(yán)重的內(nèi)存泄露問題眷篇,即內(nèi)存只增不減直至爆滿崩服萎河,無法判斷該問題是由Liteloader加載器造成還是BDS官方服務(wù)端造成。我推薦各位直接在云服務(wù)器中安裝windows server操作系統(tǒng)來搭建該服務(wù)器,這將使你的服務(wù)器運(yùn)行起來更加穩(wěn)定虐杯。運(yùn)行過程中請避免使用鼠標(biāo)點(diǎn)擊cmd終端窗口玛歌,該操作將大概率會(huì)使你的服務(wù)器進(jìn)入假死狀態(tài)。如果在搭建過程中遇到問題歡迎在評論區(qū)留言擎椰,我看到后會(huì)第一時(shí)間解答支子。

二、下載官方服務(wù)器包:

  1. 進(jìn)入官網(wǎng)下載达舒,進(jìn)去之后有個(gè)彈窗值朋,告訴你去下網(wǎng)易國服版,我們點(diǎn)擊那個(gè)很隱秘的按鈕把他關(guān)掉巩搏。
    image.png

    往下翻選擇ubuntu server昨登,勾選協(xié)議,鼠標(biāo)右鍵點(diǎn)擊download按鈕贯底,復(fù)制下載地址:
    image.png
  2. 接下來使用遠(yuǎn)程連接工具連接云服務(wù)器丰辣,并執(zhí)行命令 dnf install wget -y下載wget工具,等待安裝完成(dnf是從centos8開始就自帶的包管理工具禽捆,比yum更方便更好用笙什,會(huì)自動(dòng)下載安裝所屬依賴,若你的服務(wù)器為centos7胚想,則可手動(dòng)安裝dnf:yum install dnf -y得湘,再執(zhí)行上述命令,若你不想用dnf顿仇,也可直接使用yum來安裝)。
  3. 創(chuàng)建文件夾mkdir mcbe摆马,進(jìn)入文件夾cd mcbe
  4. 接下來在這個(gè)文件夾中執(zhí)行:wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.18.12.01.zip臼闻,這個(gè)地址是你剛才在官網(wǎng)所復(fù)制的地址。注意版本號(hào):1.18.12.01 對應(yīng)的是你游戲客戶端的版本號(hào)囤采,檢查自己客戶端的版本號(hào)述呐,你可以修改這個(gè)地址中對應(yīng)版本號(hào)與你客戶端版本號(hào)保持一致,這將下載對應(yīng)版本的服務(wù)器包蕉毯。
    等待下載完成后解壓包:unzip bedrock-server-1.18.12.01.zip乓搬,若沒有unzip工具,執(zhí)行dnf install unzip -y安裝即可代虾。

三进肯、使用docker創(chuàng)建ubuntu容器運(yùn)行環(huán)境:

因官方包只支持在ubuntu環(huán)境下運(yùn)行,在centos下運(yùn)行會(huì)缺少公共依賴庫棉磨,當(dāng)然也可通過特殊方法解決這個(gè)問題江掩,但是太過麻煩,所以我們干脆使用docker容器創(chuàng)建運(yùn)行環(huán)境,這樣不僅解決了運(yùn)行環(huán)境的問題环形,也方便管理策泣,并且還可以在多個(gè)容器下創(chuàng)建多個(gè)服務(wù)器。

  1. 安裝docker:dnf install docker-ce -y
  2. 啟動(dòng)docker服務(wù):systemctl start docker
  3. 設(shè)置開機(jī)自啟動(dòng)docker服務(wù):systemctl enable docker
  4. 拉取ubuntu鏡像:docker pull ubuntu
  5. 查看鏡像:
[root@mihu ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       latest    54c9d81cbb44   4 weeks ago   72.8MB
  1. 使用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)建一個(gè)容器萨咕。
  • -d意思是進(jìn)程守護(hù)模式默認(rèn)不會(huì)進(jìn)入容器,-it打開標(biāo)準(zhǔn)輸入偽終端火本,這三個(gè)參數(shù)缺一不可危队。
  • -p 6666:6666表示將容器內(nèi)的服務(wù)器端口(后面的6666),映射到宿主機(jī)的6666端口(前面的6666)发侵,注意:這兩個(gè)端口號(hào)最好保持一致交掏,若不一致,即使宿主機(jī)映射端口被開放也將觸發(fā)bug(游戲內(nèi)服務(wù)器列表顯示延遲紅點(diǎn)刃鳄,但其實(shí)可以進(jìn)入服務(wù)器的bug盅弛,也不知道是不是bug,但為了這個(gè)問題我處理了很久)叔锐,Minecraft基巖版服務(wù)器使用的是udp協(xié)議故加上/udp挪鹏。
  • -v /mcbe:/mcbe表示將宿主機(jī)中的mcbe文件夾(第二步創(chuàng)建的)映射(掛載)到容器中的mcbe文件夾中,方便我們直接在宿主機(jī)管理并配置服務(wù)器愉烙。若你需要?jiǎng)?chuàng)建多個(gè)服務(wù)器讨盒,則重復(fù)按照以上方法創(chuàng)建多個(gè)容器,然后將mcbe文件夾復(fù)制出多份步责,且名稱不重復(fù)即可返顺。多個(gè)容器映射不同的文件夾,即(mcbe1蔓肯,mcbe2)等遂鹊,具體請自行摸索,或查看相關(guān)文檔蔗包。
  1. 查看容器:
[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

  1. 進(jìn)入容器:docker exec -it 5a9e86570a47 /bin/bash
    image.png

四、修改配置并啟動(dòng)服務(wù)器:

  1. 更新包管理工具apt update
  2. 安裝vim編輯器 apt install vim -y
  3. 安裝tmux會(huì)話管理器 apt install tmux -y
  4. 進(jìn)入mcbe文件夾中 cd mcbe
  5. 編輯服務(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(這里的端口號(hào)需和容器開啟時(shí)設(shè)置的端口號(hào)一致秦躯,默認(rèn)為19132)

  • 開啟白名單:allow-list=true

  • 按下Esc并輸入:wq保存退出
    其他配置請查看mcbe文件夾下的bedrock_server_how_to.html英文文檔,或百度其他裆装。

  1. 執(zhí)行tmux命令創(chuàng)建新會(huì)話
  2. 在該會(huì)話下執(zhí)行LD_LIBRARY_PATH=. ./bedrock_server命令啟動(dòng)服務(wù)器宦赠。若看到該打印信息表示啟動(dòng)成功:
    image.png
  3. 按下<ctrl+b>接著按d退出該會(huì)話并保持后臺(tái)運(yùn)行陪毡,下次如果想進(jìn)入會(huì)話查看則直接執(zhí)行 tmux attach
  4. 退出容器:exit(退出后容器仍然保持后臺(tái)運(yùn)行)勾扭。下次進(jìn)入還是使用命令:docker exec -it 5a9e86570a47 /bin/bash

一些關(guān)于tmux的其他命令:

  • 新建會(huì)話并取名 tmux new -s <session-name>
  • 查看會(huì)話列表: tmux ls
  • 殺死會(huì)話進(jìn)程:tmux kill-session -t <session-name>
  • 切換會(huì)話: tmux switch -t <session-name>
  • 重命名會(huì)話: tmux rename-session -t <old-session-name> <new-session-name>

五毡琉、使用LiteLoaderBDS搭建方式:

搭建前提:已安裝docker
若未安裝請操作以下步驟:

  1. 安裝docker:dnf install docker-ce -y
  2. 啟動(dòng)docker服務(wù):systemctl start docker
  3. 設(shè)置開機(jī)自啟動(dòng)docker服務(wù):systemctl enable docker
  • 官方對LiteLoaderBDS的描述:

LiteLoaderBDS 是一個(gè)非官方的 Minecraft 服務(wù)端插件加載器,為基巖版官方服務(wù)端Bedrock Dedicated Server(以下簡稱BDS)提供插件開發(fā)支持 和 插件加載服務(wù)妙色,彌補(bǔ)了官方行為包開發(fā)接口長期以來存在的一些不足桅滋。

  1. 拉取LiteLoader鏡像,執(zhí)行: docker pull shrbox/liteloaderbds身辨。
    該鏡像占用2.6G的大小丐谋,下載下來有些費(fèi)勁,如果你跟我一樣下載速度很慢煌珊,則需要更換docker鏡像源号俐,如果你下載的速度夠快,則忽略以下步驟:
    • 執(zhí)行命令 vim /etc/docker/daemon.json編輯daemon.json文件定庵,默認(rèn)該文件是不存在的吏饿,不過我們?nèi)匀豢梢詧?zhí)行該命令,因?yàn)関im會(huì)自動(dòng)幫我們創(chuàng)建這個(gè)文件蔬浙。
    • 按下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命令官疲,就會(huì)發(fā)現(xiàn)下載速度蹭蹭往上漲了。
  2. 拉下來鏡像之后亮隙,創(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

注意:這個(gè)命令一個(gè)字母也不要錯(cuò)袁余。
-v 參數(shù)后面跟的是 liteloaderbds:/home/bds/bds,表示創(chuàng)建具名掛載卷liteloaderbds咱揍,映射到容器內(nèi)/home/bds/bds路徑下,該路徑為服務(wù)器程序包所處位置棚饵,掛載后方便我們在宿主機(jī)上直接操作服務(wù)器的配置文件煤裙。

  1. 創(chuàng)建完成后,我們對掛載卷做一個(gè)軟連接噪漾。進(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ù)器文件了豹障。

  2. 在當(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(這里的端口號(hào)需和容器開啟時(shí)設(shè)置的端口號(hào)一致昵仅,默認(rèn)為19132)
    • 按下Esc并輸入:wq保存退出
  3. 修改完以后啟動(dòng)容器:docker container start liteloader

  4. 其他的命令:

    • 強(qiáng)制停止服務(wù)器(不推薦):docker container stop liteloader
    • 進(jìn)入控制臺(tái)(服務(wù)器終端):docker attach liteloader
    • 退出控制臺(tái):按下 Ctrl + P + Q。如果按下 Ctrl + C累魔,服務(wù)器進(jìn)程將會(huì)終止摔笤。
  5. 插件的使用:在社區(qū)下載插件,并將插件直接放入服務(wù)器目錄下的plugins文件夾中即可垦写,然后執(zhí)行docker container restart liteloader重啟容器即可吕世,這里我推薦一個(gè)提供插件的社區(qū)minebbs,可自行查找下載梯投。

  6. 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
      手動(dòng)檢查 LiteLoaderBDS 自動(dòng)更新

六晚伙、最后工作:

進(jìn)入自己的云服務(wù)器后臺(tái)=>防火墻配置頁吮龄,開放6666端口(我這里是騰訊云,阿里云應(yīng)該叫‘安全組’)

image.png
注意:協(xié)議為:UDP
接下來進(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)載請注明出處喇嘱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茉贡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子者铜,更是在濱河造成了極大的恐慌腔丧,老刑警劉巖放椰,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異愉粤,居然都是意外死亡砾医,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門科汗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藻烤,“玉大人,你說我怎么就攤上這事头滔〔劳ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵坤检,是天一觀的道長兴猩。 經(jīng)常有香客問我,道長早歇,這世上最難降的妖魔是什么倾芝? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮箭跳,結(jié)果婚禮上晨另,老公的妹妹穿的比我還像新娘。我一直安慰自己谱姓,他們只是感情好借尿,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屉来,像睡著了一般路翻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茄靠,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天茂契,我揣著相機(jī)與錄音,去河邊找鬼慨绳。 笑死掉冶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脐雪。 我是一名探鬼主播厌小,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼喂江!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起旁振,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤获询,失蹤者是張志新(化名)和其女友劉穎涨岁,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吉嚣,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡梢薪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尝哆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秉撇。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖秋泄,靈堂內(nèi)的尸體忽然破棺而出琐馆,到底是詐尸還是另有隱情,我是刑警寧澤恒序,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布瘦麸,位于F島的核電站,受9級特大地震影響歧胁,放射性物質(zhì)發(fā)生泄漏滋饲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一喊巍、第九天 我趴在偏房一處隱蔽的房頂上張望屠缭。 院中可真熱鬧,春花似錦崭参、人聲如沸呵曹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逢并。三九已至,卻和暖如春郭卫,著一層夾襖步出監(jiān)牢的瞬間砍聊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工贰军, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玻蝌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓词疼,卻偏偏與公主長得像俯树,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子贰盗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容