超詳細!如何搭建國際版我的世界服務器

關鍵詞: 我的世界 Minecraft 服務器 1.16 國際版

前言

我是一個老MC划水員,為了和好朋友遠程聯機玩MC,我嘗試過很多辦法。網易代理MC以後,年少無知的我以為MC迎來了春天,結果網易版不僅特性頻出,而且遠程聯機和租賃服十分卡頓,最終把我演走了。不久前,我通過學習與摸索,成功地在雲端建了一個國際版1.16.1MC純凈版服務器,並用HMCL客戶端開始了愉快的划水。

寫這篇文章,是為了記錄一下自己的建服歷程,並且希望能幫助到一些需要的朋友。如果您沒有建服經驗,在做好支出預算的情況下,可以按照本文【除了租用服務器以外的】內容搭建一個MC服務器。如果您有一定計算機基礎,本文將是一份詳細的參考資料,您也可以直接觀看「熟練者段落」速成服務器搭建。

如果這篇文章對您有幫助,還請點一個免費的贊,謝謝~

致謝

我在建服的時候主要學習了雲棲社區的sws797所著的文章阿里雲ECS搭建我的世界服務器,對於它對我的幫助我表示由衷的感謝。同時,為了避免抄襲嫌疑,我將鏈接置於此處以便與本文對比。

非常感謝HMCL客戶端的開發者及其團隊、支持者,以及MCBBS中文論壇,讓我玩上了順滑的MC 1.16.1。

觀前提醒

  • 本文為原創,發佈於 cnblogs與知乎,作者保留一切著作權,【轉載請在開頭註明作者、來源與鏈接】,侵權必究。
  • 租服務器是要花錢的,月費可能上百,請量入為出,衡量好建服成本。如果您不需要24小時保持服務器開啟,成本可能會大幅降低。
  • 本文為線上建服教程,線下購買或組裝服務器在長時間
  • 本文基於作者的實際建服經歷,服務器為Linux系統,本地電腦為Windows 10 家庭版,遊戲版本為1.16.1,沒有裝載mod,服務器不會24小時開機。如遇與本文例子不同的情況,使得解決方案失效,那麼還請讀者自行摸索。
  • 適度娛樂有益健康,沉迷遊戲隱患巨大,建議您平衡好學習與娛樂、生活與娛樂的關係。
  • 作者(SMagic)所建服務器為私人性質服務器,暫不對外開放。

為熟練者提供的概述

  • 租用一台裝有 Linux 系統的服務器,配置公網IP,開放25565端口

  • 在本地電腦上安裝WinSCP,以便於向服務器上傳文件。在服務器上安裝java,將MC服務端程序拷貝在/opt目錄下運行

  • 第一次運行服務端程序會失敗,用WinSCP修改eula.txt文件來簽署用戶協議,之後可以正常運行

  • 在本地電腦上安裝HMCL,下載1.16.1版本,啟動遊戲,點擊「多人遊戲」,點擊「添加服務器」,輸入服務器公網IP

準備工作

出於不明原因,官網鏈接下載可能會很慢

租用、配置服務器

免責聲明:本段內容提供詳細購買步驟,意在方便讀者理解選購過程,無意推廣任何特定廠商,也不構成任何選購建議。閱讀本段與購買服務器時請您仔細閱讀、獨立思考、自主決定,任何由於購買服務器時誤操作造成的財產損失依法由購買者自行負責。本文所述「購買服務器」意為租用可以遠程訪問的服務器,而不是購買實體的服務器。如您不認同這條聲明,請不要閱讀本段內容。

服務器可以在阿里雲、騰訊雲、華為雲等網站中租賃,鑒於該步驟操作大同小異,本文僅以阿里云為例(因為我租的是阿里雲的2333)。

首先,註冊帳號,打開服務器購買頁面,如圖。

【配置信息僅供參考,不構成購買建議】

配置頁面中的「1v2g」表示單核CPU、2G內存。人數比較少的純凈服 1v2g 夠用,2v4g 的配置可以帶得動一些mod。鏡像隨便選一個Linux系統(我用的是默認的 Aliyun Linux),存儲選擇默認的高效雲盤40G。「地域及可用區」選擇離自己最近的,減少延遲。

關於付費模式的選擇,如果您打算保持服務器24小時開機,建議選擇包年包月。如果您想要隨用隨開,建議選擇按量付費。

點擊下一步,進入「網絡與安全組」頁面。關於帶寬計費模式,隨用隨開型服主建議選擇按使用流量付費,24小時開機型服主請自行斟酌。本頁面其他內容可以保持默認。

點擊下一步,進入系統配置頁面,選擇登錄憑證為自定義密碼(密鑰對我不會用QAQ,高手可以自便),設置root用戶的登錄密碼,然後根據自己的需求完成其他的各項設置。確認訂單內容為自己的真實意思表達,並確認金額無誤後,提交訂單並支付。

前往控制台(這裡以阿里雲ECS控制台為例),點擊「網絡與安全」、「安全組」,在列表中通過創建時間找到服務器對應的安全組,點擊名稱,在「入方向」中添加25565端口的TCP規則。

在服務器上安裝java

  • 首先確認服務器有沒有預裝java

通過服務器管理頁面給出的方法,遠程連接服務器,在SSH命令窗口輸入

java -version

如果出現java版本信息說明java已經安裝,否則應先安裝java。

  • 通過yum安裝服務端java

在SSH命令窗口輸入以下命令,即可安裝

yum -y install java-1.8.0-openjdk
  • 通過上傳安裝包安裝服務端java

如果使用上述方法無法安裝java,請按照以下步驟操作。

前往//www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,下載64位的、後綴為.tar.gz的Linux版JDK,如圖。(圖片中版本僅供參考)

使用WinSCP登錄到服務器,將其上傳至/usr/local目錄下。登錄SSH命令窗口,輸入以下命令,其中xxx.tar.gz需替換為實際的文件名。

tar -zxvf /usr/local/xxx.tar.gz

解壓完成後,在WinSCP中將/usr/local目錄下的jdk1.8.0_261文件夾(名稱可能不同)改為java,這樣做是為了方便配置環境變量,因此也可以不改。

用WinSCP打開/etc目錄下的profile文件,右鍵點擊編輯,在最後添加如下幾行信息,保存

export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre

通過網頁控制台或者命令重啟服務器,在SSH命令窗口輸入

java -version

來確認java是否正確安裝

在服務器上安裝、配置MC服務端

本步驟中上傳文件、修改eula.txt文件等操作可以使用其他工具來等效完成,本文介紹相對簡單的WinSCP。

在本地電腦上安裝WinSCP並打開,第一次使用時,點擊「新建站點」,文件協議保持默認的SFTP,站點名稱處填寫服務器的公網IP地址,密碼填寫本文上一段中所設置的登錄密碼。

登錄WinSCP,在opt目錄中隨便新建一個目錄(比如MC1.16),將MC服務端程序server.jar上傳至該目錄下。

在SSH命令窗口輸入以下命令來運行程序,其中「MC1.16」為自定義的目錄名稱,請根據實際命名修改。

cd opt/MC1.16
java -Xmx1024M -Xms1024M -jar server.jar nogui

第一次運行肯定會失敗,並且會生成eula.txt文件,這是因為尚未簽署用戶協議。用WinSCP找到該文件,右鍵點擊,選擇「編輯」。將其中的eula=false更改為eula=true,點擊保存。

用WinSCP打開遊戲規則配置文件server.properties,將online-mode後的true改為false來關閉正版帳號驗證,否則無法進入遊戲。之後可以根據個人需求對遊戲規則進行修改。

製作自動啟動遊戲的腳本

用WinSCP在根目錄下新建start_mc16.sh文件(文件名可以自行設置,但不建議使用中文),右鍵點擊編輯,將以下代碼複製到文件中並保存。代碼中的「MC1.16」為自定義的目錄名稱,請根據實際命名修改。這個腳本文件的作用是,自動打開服務端遊戲程序,記錄遊戲日誌,並保持後台運行。

#!/bin/bash
cd /opt/MC1.16
nohup java -Xmx1024M -Xms1024M -jar server.jar nogui >/root/MC1.16.log &
tail -f /root/MC1.16.log

要運行遊戲,只需在SSH命令窗口輸入

bash /start_mc16.sh

在本地電腦上安裝HMCL,連接遊戲服務器

將下載好的HMCL客戶端放置在一個單獨的文件夾里,雙擊運行。點擊”版本列表”、「安裝新遊戲版本」。加載過程可能較慢,需要多刷新幾次,等待列表加載完成後,選擇1.16.1穩定版。

下載完成後,點擊左上角返回,然後點擊「啟動遊戲」,遊戲啟動後,點擊「多人遊戲」、「添加服務器」,輸入服務器公網IP,即可連接服務端遊戲。

在服務器中手動設置初始OP

在你第一次連接MC服務端的時候,你會發現沒有人是OP,此時你需要手動修改文件來添加第一個OP。OP即多人遊戲管理員,您可以搜索「我的世界 OP」了解更多信息。

在你進入過服務端遊戲之後,用WinSCP登錄服務器,在/opt/MC1.16目錄下打開user.json文件,找到你想設置OP的玩家,將他的name字段和uuid字段複製到某處。接着打開ops.json文件,參考以下示例的格式設置該用戶為OP。

level為OP等級,我暫時不知道它有什麼用,姑且設置為4即可(我懷疑這個4是個magic number)。bypassesPlayerLimittrue時表示可以在服務器滿員的情況下進入服務器,為false則不行。

[
  {
    "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "SMagic",
    "level": 4,
    "bypassesPlayerLimit": true
  },
  {
    "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "Is666",
    "level": 4,
    "bypassesPlayerLimit": false
  }
]

在其他端口上開放遊戲(非必需)

服務端遊戲默認使用25565端口,如果您想在其他端口上開放遊戲,需要在服務器控制台網頁(例如阿里雲控制台)設置端口,在服務器/opt/MC1.16目錄下(「MC1.16為自定義目錄名稱」)修改server.properties文件中的端口,在本地遊戲客戶端「多人遊戲」、「添加服務器」頁面中在公網IP後添加英文冒號與端口號。相關操作方法前文已經出現,這裡不再贅述。如果您對這些內容感到疑惑,請放心,這些操作不是必需的,忽略這些內容對遊戲的運行沒有影響。

Tags: