linux雲服務搭建Minecraft伺服器

Shiraka發表於2021-03-14

1 準備工作

以下內容全部要在root使用者內完成

1.1 安裝檔案傳輸工具

為了方便傳檔案到伺服器上,這裡先裝一個遠端傳輸工具。

yum -y install lrzsz

1.2 安裝java

Minecraft服務端也需要jre才能執行,這裡有兩個安裝方法(選擇一種):

1.2.1 官網下載

去官網下載(https://www.oracle.com/java/technologies/javase-jre8-downloads.html)linux x64的gz包,得到jdk-8u271-linux-x64.tar.gz檔案(目前最新版本是8u271,以後可能會有更新的版本)。

rz	#將下載好的gz檔案上傳到伺服器

# 建立安裝目錄
mkdir /usr/local/java/

# 解壓當前目錄下的JDK壓縮檔案(版本不一樣檔名也會不一樣,善用tab自動補全)
tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/local/java/

# 方便後面配置環境,改一下檔名
mv /usr/usr/local/java/jdk1.8.0_271 /usr/usr/local/java/jdk1.8.0

# 設定環境變數(安裝 VIM 輸入 yum -y install vim)
vim /etc/profile
# 在末尾新增對應變數
滾動游標到末尾 按下 鍵盤上的 INS 鍵,切換至插入模式
輸入這幾串內容後 按ESC退出插入模式 
然後按下 Shift + ; 輸入 wq 並回車儲存

export JAVA_HOME=/usr/local/java/jdk1.8.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 應用修改後的環境變數
source /etc/profile

# 軟連結程式到環境變數中
ln -s /usr/local/java/jdk1.8.0/bin/java /usr/bin/java

# 測試是否安裝正常,顯示 java version "1.8.0_261" 則為正常
java -version

1.2.2 或yum安裝

sudo yum install java-1.8.0-openjdk

有詢問輸入y即可

1.3 安裝screen

安裝screen,後面開服時會用到。使用screen可以讓伺服器程式在後臺執行,而不會因為遠端連線的斷開而停止程式。

# RedHat/CentOS
yum install -y screen

# Ubuntu/Debian
apt install screen

1.4 配置防火牆

一定要在root使用者中操作。

這步很關鍵,開服之後連線不到伺服器,很可能就是因為防火牆沒配置好!

新增一個(25565預設)

firewall-cmd --zone=public --add-port=25565/tcp --permanent

然後 重啟防火牆

firewall-cmd --reload

檢視埠狀態

firewall-cmd --zone= public --query-port=25565/tcp

在網頁端的管理控制檯 安全 防火牆 右上新增規則

TCP 25565

1.5 建立使用者

不建議使用root系統進行後面的操作,接下來為Minecraft建立一個專門的使用者。

useradd -m Minecraft	# 新建一個名為Minecraft的使用者
passwd Minecraft		# 為使用者Minecraft設定密碼
su - Minecraft			# 切換至新建的Minecraft使用者。改成root,可以切換回root使用者

2.Minecraft服務端

給MC服務端建立一個資料夾

cd ~
mkdir MinecraftServer	#建立資料夾
cd MinecraftServer		#進入資料夾

2.1 獲取服務端

MC目前主流的服務端分很多種,簡單可以分為三類:

①原版純淨:官網直接下服務端,不能裝mod不能裝外掛

②forge服務端:Mod服,只能裝Mod,不能裝外掛

http://files.minecraftforge.net/)

③Craftbukkit、Spigot服務端:外掛服,只能裝外掛,不能裝Mod

④CatSetver服務端:國人開發的,MOD+外掛服,白火現在在用。

以上服務端,按需要選擇一個,到對應官網下載。(或直接下載別人配置好的懶人服務端,別人配置好的服務端,可視情況跳至2.3步驟。)

你可以在自己的電腦上下載好服務端,然後利用Xshell等遠端終端的lrzsz外掛,傳輸到伺服器上。

用cd MinecraftServer指令,進入剛才建立的MinecraftServer內。輸入指令:

rz

就會彈出上傳視窗,將下載好的服務端上傳。

下載好後執行下面這一句。這裡分別以Forge和CatServer舉例。不論你用那種服務端,你只需要把-jar後面的名字改成你服務端檔案的名字即可。善用Tab補全程式碼,避免輸錯。

#Forge服
java -jar forge-1.12.2-14.23.4.2705-installer.jar -nogui -installServer
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar

這一步其實是在安裝服務端,還要在下載一會服務端資源,網路比較慢。有意思的是,其中CatServer服端安裝服務端的指令,和後面正真執行服務端的指令是一樣的。(Forge則是不同的)

如果提示下載失敗了,或部分資源下載超時了,就再重執行一次上面的forge-*-installer.jar

#用ls指令檢視檔案
ls #會看到多了幾個檔案

你看到肯定沒我截圖那麼多,是正常的,不用擔心。因為我這裡有很多mod的配置資料夾之類的,你們的新伺服器還沒裝mod或外掛。

現在伺服器資源都正確下載了,執行以下程式碼:

#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar

2.2 同意協議

首次執行必定失敗,會提示你需要同意協議。這時我們輸入ls就能看到目錄下多了一個eula.txt。我們需要修改eula檔案同意協議,才能啟動。

vim eula.txt

將eula=false改成eula=true即可。

然後按esc,輸入:wq儲存退出。

2.3 配置檔案

為了方便以後開服,我們建立一個startServer.sh檔案。(別人配置好的服務端可能已經建立過了)

vim startServer.sh

然後i寫入

#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar

按esc,輸入:wq儲存退出。

其實就是把剛才我們執行伺服器的指令,寫進了shell中,以後省的敲指令了,直接執行這個shell即可。

這和windows的bat批處理性質相似,在windoes中開服,也是把開服的指令寫進一個bat中,每次執行bat就省的敲指令了。

# 給start.sh執行許可權
chmod 777 startServer.sh

# 執行start.sh即可開服
./startServer.sh	

# 控制檯不再跳新的資訊時,說明開服成功了
# 我們先結束伺服器,完成伺服器配置
stop

首次成功開服後,會產生一個server.properties檔案,是伺服器的配置檔案。

vim server.properties	#修改配置檔案

其中online-mode=true是檢測正版登入使用者,true是隻允許正版玩家進入可以使用,false則允許離線進入。

更多配置參考這個檔案。

https://minecraft-zh.gamepedia.com/index.php?title=Server.properties&variant=zh

2.4 正式開服

建立一個名為MinecraftServer的screen,可以讓伺服器在後臺執行,斷開遠端連線也不終止程式。

screen -S MinecraftServer

啟動伺服器

./start.sh

不要管我這裡綠色的提示,那是我裝的領地外掛的提示,新伺服器肯定沒有的。你只要看到有Type “/help” for help,就說明你的伺服器已經跑起來了。

然後按住Ctrl + A +D ,將screen加入後臺執行

當你需要回到這個sreen頁面時,使用如下指令。

screen -ls	# 檢視screen,記下MinecraftServer的編號
screen -r <MinecraftServer的編號>

現在進遊戲,輸入自己伺服器的ip就可以連上了。

補充

如果服務端正常開服,但是遊戲就是無法連線伺服器,一般都是防火牆的問題。回去1.4好好看看,再配置下防火牆。

Mod放在伺服器資料夾內的mods資料夾內,即MinecraftServer/mods下。前提是你的伺服器端必須支援mod,如Forge端、CatServer端。

外掛放在伺服器資料夾的plugins資料夾內,即MinecraftServer/plugins下。前提是你的服務端必須支援外掛,如Craftbukkit、Spigot、CatServer。

沒錯,CatServer永遠的神!

整體來說在Linux上開服不難,前提是有一定的Linux基礎。如果有不明白,或者實際操作遇到困難,歡迎在評論,會逐一解答。

因為linux有CentOS、unbuntu等,分支眾多,而MC的服務端也五花八門,各不相同。可能會有紕漏,歡迎指正!

如何在Linux下搭建Minecraft伺服器

參考:

MC雲伺服器搭建教程[非硬核]

如何在Linux下搭建Minecraft伺服器

Minecraft Wiki:server.properties

相關文章