如何搭建“我的世界”伺服器

Thishosting.rocks發表於2018-03-25

我們將透過一個一步步的、新手友好的教程來向你展示如何搭建一個“我的世界(Minecraft)”伺服器。這將會是一個長期的多人遊戲伺服器,你可以與來自世界各地的朋友們一起玩,而不用在同一個區域網下。

如何搭建一個“我的世界”伺服器 - 快速指南

在你開始行動之前,要先了解一些事情:

為什麼你應該使用專門的“我的世界”伺服器提供商

既然你正在閱讀這篇文章,你肯定對搭建自己的“我的世界”伺服器感興趣。不應該使用專門的“我的世界”伺服器提供商的原因有很多,以下是其中一些:

  • 它們通常很慢。這是因為你是在和很多使用者一起共享資源。這有的時候會超負荷,他們中很多都會超售。
  • 你並不能完全控制“我的世界”服務端或真正的伺服器。你沒法按照你的意願進行自定義。
  • 你是受限制的。這種主機套餐或多或少都會有限制。

當然,使用現成的提供商也是有優點的。最好的就是你不用做下面這些操作。但是那還有什麼意思呢?!

為什麼不應該用你的個人電腦作為“我的世界”伺服器

我們注意到很多教程都展示的是如何在你自己的電腦上搭建伺服器。這樣做有一些弊端,比如:

  • 你的家庭網路不夠安全,無法抵擋 DDoS 攻擊。遊戲伺服器通常容易被 DDoS 攻擊,而你的家庭網路設定通常不夠安全,來抵擋它們。很可能連小型攻擊都無法阻擋。
  • 你得處理埠轉發。如果你試著在家庭網路中搭建“我的世界”伺服器的話,你肯定會偶然發現埠轉發的問題,並且處理時可能會有問題。
  • 你得保持你的電腦一直開著。你的電費將會突破天際,並且你會增加不必要的硬體負載。大部分伺服器硬體都是企業級的,提升了穩定性和永續性,專門設計用來處理負載。
  • 你的家庭網路速度不夠快。家庭網路並不是設計用來負載多人聯機遊戲的。即使你想搭建一個小型伺服器,你也需要一個更好的網路套餐。幸運的是,資料中心有多個高速的、企業級的網際網路連線,來保證他們達到(或儘量達到)100%線上。
  • 你的硬體很可能不夠好。再說一次,伺服器使用的都是企業級硬體,最新最快的處理器、固態硬碟,等等。你的個人電腦很可能不是的。
  • 你的個人電腦很可能是 Windows/MacOS。儘管這有所爭議,但我們相信 Linux 更適合搭建遊戲伺服器。不用擔心,搭建“我的世界”伺服器不需要完全瞭解 Linux(儘管推薦這樣)。我們會向你展示你需要了解的。

我們的建議是不要使用個人電腦,即使從技術角度來說你能做到。買一個雲伺服器並不是很貴。下面我們會向你展示如何在雲伺服器上搭建“我的世界”服務端。小心地遵守以下步驟,就很簡單。

搭建一個“我的世界”伺服器 - 需求

這是一些需求,你在教程開始之前需要擁有並瞭解它們:

  • 你需要一個 Linux 雲伺服器。我們推薦 Vultr。這家價格便宜,服務質量高,客戶支援很好,並且所有的伺服器硬體都很高階。檢查“我的世界”伺服器需求來選擇你需要哪種型別的伺服器(像記憶體和硬碟之類的資源)。我們推薦每月 20 美元的套餐。他們也支援按小時收費,所以如果你只是臨時需要伺服器和朋友們聯機的話,你的花費會更少。註冊時選擇 Ubuntu 16.04 發行版。在註冊時選擇離你的朋友們最近的地域。這樣的話你就需要保護並管理伺服器。如果你不想這樣的話,你可以選擇託管的伺服器,這樣的話伺服器提供商可能會給你搭建好一個“我的世界”伺服器。
  • 你需要一個 SSH 客戶端來連線到你的 Linux 雲伺服器。新手通常建議使用 PuTTy,但我們也推薦使用 MobaXTerm。也有很多 SSH 客戶端,所以挑一個你喜歡的吧。
  • 你需要設定你的伺服器(至少做好基本的安全設定)。谷歌一下你會發現很多教程。你也可以按照 Linode 的 安全指南,然後在你的 Vultr 伺服器上一步步操作。
  • 下面我們將會處理軟體依賴,比如 Java。

終於,到我們真正的教程了:

如何在 Ubuntu(Linux)上搭建一個“我的世界”伺服器

這篇教程是為 Vultr 上的 Ubuntu 16.04 撰寫並測試可行的。但是這對 Ubuntu 14.04, Ubuntu 18.04,以及其他基於 Ubuntu 的發行版、其他伺服器提供商也是可行的。

我們使用預設的 Vanilla 服務端。你也可以使用像 CraftBukkit 或 Spigot 這樣的服務端,來支援更多的自定義和外掛。雖然如果你使用過多外掛的話會影響服務端。這各有優缺點。不管怎麼說,下面的教程使用預設的 Vanilla 服務端,來使事情變得簡單和更新手友好。如果有興趣的話我們可能會發表一篇 CraftBukkit 的教程。

1. 登入到你的伺服器

我們將使用 root 賬戶。如果你使用受限的賬戶的話,大部分命令都需要 sudo。做你沒有許可權的事情時會出現警告。

你可以透過 SSH 客戶端來登入你的伺服器。使用你的 IP 和埠(大部分都是 22)。

在你登入之後,確保你的伺服器安全

2. 更新 Ubuntu

在你做任何事之前都要先更新你的 Ubuntu。你可以透過以下命令更新:

apt-get update && apt-get upgrade

在提示時敲擊“Enter鍵” 和/或 y

3. 安裝必要的工具

在這篇教程中你需要一些工具和軟體來編輯文字、長久保持服務端執行等。使用下面的命令安裝:

apt-get install nano wget screen bash default-jdk ufw

其中一些可能已經安裝好了。

4. 下載“我的世界”服務端

首先,建立一個目錄來儲存你的“我的世界”服務端和其他檔案:

mkdir /opt/minecraft

然後進入新目錄:

cd /opt/minecraft

現在你可以下載“我的世界“服務端檔案了。去往下載頁面獲取下載連結。使用 wget 下載檔案:

wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar

5. 安裝“我的世界”服務端

下載好了服務端的 .jar 檔案之後,你就需要先執行一下,它會生成一些檔案,包括一個 eula.txt 許可檔案。第一次執行的時候,它會返回一個錯誤並退出。這是正常的。使用下面的命令執行它:

java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui

-Xms2048M 是你的服務端能使用的最小的記憶體,-Xmx3472M 是最大的記憶體。調整基於你伺服器的硬體資源。如果你在 Vultr 伺服器上有 4GB 記憶體,並且不用伺服器來幹其他事情的話可以就這樣留著不動。

在這條命令結束並返回一個錯誤之後,將會生成一個新的 eula.txt 檔案。你需要同意那個檔案裡的協議。你可以透過下面這條命令將 eula=true 新增到檔案中:

sed -i.orig 's/eula=false/eula=true/g' eula.txt

你現在可以透過和上面一樣的命令來開啟服務端並進入“我的世界”服務端控制檯了:

java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui

確保你在 /opt/minecraft 目錄,或者其他你安裝你的 MC 服務端的目錄下。

如果你只是測試或暫時需要的話,到這裡就可以停了。如果你在登入伺服器時有問題的話,你就需要配置你的防火牆

第一次成功啟動服務端時會花費一點時間來生成。

我們將向你展示如何建立一個指令碼來啟動。

6. 使用指令碼啟動“我的世界”服務端,讓服務端長期執行並在啟動時開啟

方便起見,我們將建立一個自動啟動服務端的 bash 指令碼。

首先,使用 nano 建立一個 bash 指令碼:

nano /opt/minecraft/startminecraft.sh

這將會開啟一個新的(空白)檔案。貼上以下內容:

#!/bin/bash
cd /opt/minecraft/ && java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.2.jar nogui

如果你不熟悉 nano 的話 - 你可以使用 CTRL + X,再敲擊 Y,然後回車。這個指令碼將進入你先前建立的“我的世界”服務端並執行 Java 命令來開啟服務端。你需要執行下面的命令來使指令碼可執行:

chmod +x startminecraft.sh

然後,你就可以透過下面的命令隨時執行服務端了:

/opt/minecraft/startminecraft.sh

但是,如果/當你登出 SSH 會話的話,服務端就會關閉。要想讓服務端不登入也持續執行的話,你可以使用 screen 會話。screen 會話會一直執行,直到實際的伺服器被關閉或重啟。

使用下面的命令開啟一個 screen 會話:

screen -S minecraft

一旦你進入了 screen 會話(看起來就像是你新建了一個 SSH 會話),你就可以使用先前建立的 bash 指令碼來啟動服務端:

/opt/minecraft/startminecraft.sh

要退出 screen 會話的話,你應該按 CTRL+A-D。即使你離開 screen 會話(斷開的),服務端也會繼續執行。你現在可以安全的登出 Ubuntu 伺服器了,你建立的“我的世界”服務端將會繼續執行。

但是,如果 Ubuntu 伺服器重啟或關閉了的話,screen 會話將不再起作用。所以為了讓我們之前做的這些在啟動時自動執行,做下面這些:

開啟 /etc/rc.local 檔案:

nano /etc/rc.local

exit 0 語句前新增如下內容:

screen -dm -S minecraft /opt/minecraft/startminecraft.sh
exit 0

儲存並關閉檔案。

要訪問“我的世界”服務端控制檯,只需執行下面的命令來重新連線 screen 會話:

screen -r minecraft

現在就是這樣。祝賀你,玩的開心!你現在可以連線到你的“我的世界”服務端或配置/修改它了。

配置你的 Ubuntu 伺服器

你首先肯定要設定並確保你的 Ubuntu 伺服器安全,如果你還沒有這麼做的話。按照我們之前提及的指南並谷歌一下來獲取更多資訊。你需要在伺服器上配置的有這些:

開啟並配置防火牆

首先,如果防火牆還沒有開啟的話,你應該先開啟先前安裝的 UFW:

ufw enable

你應該開放預設的“我的世界”服務端埠:

ufw allow 25565/tcp

你應該根據你的使用情況開放或拒絕其他規則。如果你不用伺服器負載網站的話,就應該拒絕 80 和 443 埠。谷歌一下 Ubuntu 的 UFW/防火牆指南,你會得到建議的。設定防火牆的時候小心一些,如果你遮蔽了 SSH 埠的話你會把自己鎖在伺服器外面。

由於這是預設埠,這個埠經常被掃描以及攻擊。你可以透過遮蔽白名單之外的訪問許可權來阻擋攻擊。

首先,你需要在你的 server.properties 檔案中開啟白名單模式。要開啟的話,開啟檔案:

nano /opt/minecraft/server.properties

並將 white-list 行改為 true

white-list=true

儲存並關閉檔案。

然後重啟你的伺服器(重啟你的伺服器或重新執行啟動指令碼):

/opt/minecraft/startminecraft.sh

訪問“我的世界”服務端控制檯:

screen -r minecraft

如果你想要某人進入你的服務端,你需要透過以下命令把他們新增到白名單:

whitelist add PlayerUsername

執行以下命令來將他們移出白名單:

whitelist remove PlayerUsername

使用 CTRL+A-D 來退出 screen(伺服器控制檯)。值得注意的是,這會拒絕除白名單以外的所有人連線到服務端。

如何搭建“我的世界”伺服器 - 常見問題

我們將解答一些有關“我的世界”伺服器和我們的指南的常見問題。

我該如何重啟“我的世界”伺服器?

如果你按照我們的教程來的話,包括開啟了服務端隨系統啟動,你可以直接重啟你的 Ubuntu 伺服器。如果沒有設定歲系統啟動的話,你可以透過重新執行啟動指令碼來重啟“我的世界”服務端:

/opt/minecraft/startminecraft.sh

我該如何配置我的“我的世界”服務端?

你可以使用 server.properties 檔案來配置你的服務端。檢視“我的世界”維基來獲取更多資訊,你也可以什麼都不動,它會工作的很好。

如果你想改變遊戲模式、難度等諸如此類的東西,你可以使用服務端控制檯。透過下面的命令訪問服務端控制檯:

screen -r minecraft

並執行命令。像下面這些命令:

difficulty hard
gamemode survival @a

你可能需要重新啟動服務端,這取決於你使用了什麼命令。你可以使用很多命令,檢視維基來獲取更多。

我該如何升級我的“我的世界”服務端?

如果有新版本釋出的話,你需要這樣做:

進入“我的世界”目錄:

cd /opt/minecraft

下載最新的版本,比如使用 wget 下載 1.12.3 版本:

wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.3/minecraft_server.1.12.3.jar

接下來,執行並構建新服務端:

java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.3.jar nogui

最後,更新你的啟動指令碼:

nano /opt/minecraft/startminecraft.sh

更新版本號數字:

#!/bin/bash
cd /opt/minecraft/ && java -Xms2048M -Xmx3472M -jar minecraft_server.1.12.3.jar nogui

現在你可以重啟服務端了,一切都應該沒有問題。

為什麼你們的教程這麼長,而其他的只有 2 行那麼長?!

我們想讓這個教程對新手來說更友好,並且儘可能詳細。我們還向你展示瞭如何讓服務端長期執行並跟隨系統啟動,我們向你展示瞭如何配置你的服務端以及所有的東西。我是說,你當然可以用幾行來啟動“我的世界”伺服器,但那樣的話絕對很爛,從不僅一方面說。

我不知道 Linux 或者這裡說的什麼東西,我該如何搭建一個“我的世界”伺服器呢?

只要通篇閱讀我們的文章,複製貼上幾個命令就行了。如果你真的不知道該如何做的話,我們可以幫你,或者直接找一個託管的伺服器提供商,讓他們幫你做這些。

我該如何在服務端上安裝 mod 和外掛?

我們的文章意圖作一篇入門指南,你應該檢視“我的世界維基”,或者谷歌一下來獲取更多資訊。網上有很多教程。


via: https://thishosting.rocks/how-to-make-a-minecraft-server/

作者:ThisHosting.Rocks 譯者:heart4lor 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

如何搭建“我的世界”伺服器

相關文章