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服務器
參考: