有部分內容被csdn和諧,強烈建議移步我的個人博客以獲得更好的排版和閱讀體驗: xzajyjs.cn。
目錄
搭建環境
由於我們要搭建一個24小時不中斷的mc基岩版服務器,因此需要一個低延遲的服務器,優先推薦阿里雲和騰訊雲,我現在用的是阿里的輕量ECS,趁活動一個月也就幾塊錢。這里用vultr演示一下,過程幾乎是一模一樣的。
注意在安裝操作系統時務必使用 ubuntu ,版本推薦 20.04 。
利用ssh進行連接
開始部署
接着我們打開如下網站:點擊打開
搭建服務器有兩種方式,一種是架設在windows一種是架設在linux上,為了更好的穩定性和占用更少的資源,我們使用右邊的linux方案。點擊download下載服務端文件。
下載下來是這樣一個文件
bedrock-server-1.17.11.01.zip
通過 ftp 傳到 linux 上
對其進行解壓提示沒有安裝 unzip
apt install unzip
mkdir mcserver
mv bedrock-server-1.17.11.01.zip ./mcserver
cd mcserver
unzip bedrock-server-1.17.11.01.zip
rm bedrock-server-1.17.11.01.zip -f
現在我們的服務器已經做好了開服的准備,但是在此之前必須要對其配置文件進行必要的調整。(當然也可以在本地調整完畢后再上傳)
vi server.properties
server name --> 服務器名字
max-players --> 服務器最大人數
online-mode --> 強制正版驗證
server-port --> 服務器ipv4端口號,默認即可
view-distance --> 最大視距
texturepack-required --> 強制材質包
配置好這些就可以准備開服了。為了能讓我們斷開ssh連接后服務器仍能運行,我們需要使用screen這個工具
apt install screen
screen -S mcserver
LD_LIBRARY_PATH=. ./bedrock_server
此時服務器就已經開啟,可以嘗試連接了。
之后當我們斷開ssh重新連接進行管理時,可以通過screen -r mcserver 切換到我們的服務器管理后台。
日常維護
服務器的白名單機制
我們在日常的服務器運營過程中,為了防止一些熊孩子破壞,需要使用白名單機制過濾。白名單文件就在我們解壓出來的文件里面的 whitelist.json
對於白名單文件的設置,格式如下即可:
[
{
"name":"haha123",
"xuid":"xxxxxxx" //設置時可忽略
},
{
"name":"haha234"
}
...
]
保存重啟服務端即可。
定時備份
作為一個需要長期穩定運行的服務器,我們必須有一個定時備份的設定。其實這就是利用linux本身的備份機制,通過定時運行一個事先寫好的腳本,對指定文件進行整體備份。
首先新建一個備份腳本 autoDayBackup.sh
touch autoDayBackup.sh
chmod +x autoDayBackup.sh
vi autoDayBackup.sh
粘貼如下內容:
#!/bin/sh
# 備份會儲存到 /home/backup 目錄,文件夾格式為日期 如2021年3月2日的備份儲存在 /home/backup/20210302/File.tar.gz
mkdir -p /home/backup
find /home/backup -mtime +14 -name "*.tar.gz" -exec rm -rf {} \; # 清理14天以前的備份,修改 [+14] 可以修改備份儲存天數
sleep 2
find /home/backup -maxdepth 1 -type d -empty -exec rm -rf {} \; # 清理空文件夾
mkdir -p /home/backup/temp # 新建臨時目錄
echo 'mkdir done'
# 自動保存服務端
screen -xU mcserver -p 0 -X stuff "save-all\n"
sleep 1
# 復制保存后的服務器文件至臨時目錄
mkdir -p /home/backup/temp/mcserver
cp -r /root/mcserver/* /home/backup/temp/mcserver
sleep 1
echo 'copy done'
# 打包並壓縮
mkdir -p /home/backup/$(date +%Y%m%d)
tar -zcf /home/backup/$(date +%Y%m%d)/mcserver$(date +%Y%m%d).tar.gz /home/backup/temp/mcserver
sleep 1
echo 'zip done'
# 清理臨時文件並退出
rm -rf /home/backup/temp
echo 'all done'
exit 1
驗證這個腳本文件生效,直接運行該腳本
./autoDayBackup.sh
進入/home/backup
發現整個mcserver文件被成功打包成了 .tar.gz ,可以進行下一步操作了,定時運行這個腳本。
crontab -e
在最下面一行添加如下
00 3 * * * /root/autoDayBackup.sh
意思是每天的凌晨3點執行root目錄下的腳本文件
至此每日自動備份已經設置完畢。
詳細的contab使用方法點此
服務端升級
主要思路是在服務端發布網頁下載新的服務端,然后使用同樣的部署方法部署到服務器上,將舊的服務器的關鍵文件進行覆蓋,即可完成服務端的升級。
主要備份文件:
對新的服務端中的這些文件進行完全覆蓋即可。
服務器模組安裝
在本地安裝mod非常簡單,大多數的模組文件后綴是 .mcpack 和 .mcaddon ,無論是移動端還是桌面端雙擊即可調起安裝。
但是在服務器上安裝我們需要對這個模組文件進行解壓縮,解壓出來一般會有兩個文件夾(也可能只有一個),資源包和行為包,我們將整個資源包文件夾放入服務器的 resource_packs ,行為包文件夾放入服務器的 behavior_packs。
並且修改如下目錄的如下文件(如沒有則新建)
用記事本分別打開要安裝的資源包的兩個文件夾中的 manifest.json
關注下圖中第六、第七行的 uuid 和 version (是 head 下的)。
我們以修改 resource_packs 為例,behavior_packs 同理。將uuid填入 pack_id,version 填入version。
[
{
"pack_id" : "6f383eac-b7ae-48f1-a5aa-b702343a65d4",
"version" : [1,0,0]
},
{
...
}
]
最后可在 server.properties 中設置強制使用材質包。