介紹
Minecraft是一款熱門的沙盒類型視頻遊戲。最初於2009年發布,允許玩家在一個由方塊生成的3D世界中建造、探索、製作和生存。截至2022年初,它是有史以來銷量最高的視頻遊戲。在本教程中,您將創建自己的Minecraft服務器,以便您和朋友一起遊玩。具體而言,您將安裝運行Minecraft所需的軟件包,配置服務器運行,然後部署遊戲。
或者,您可以探索DigitalOcean的一鍵式Minecraft:Java版服務器作為另一種安裝途徑。
本教程使用Minecraft的Java版本。如果您是通過Microsoft應用商店購買Minecraft的,將無法連接到此服務器。大多數在遊戲機上購買的Minecraft版本,如PlayStation 4、Xbox One或Nintendo Switch,也是Microsoft版本的Minecraft。這些遊戲機也無法連接到本教程中構建的服務器。您可以在這裡獲取Minecraft的Java版本。
先决条件
为了遵循本指南,您需要:
-
安装了最新Ubuntu版本的新服务器,一个具有
sudo
特权的非root用户,并启用了SSH。您可以按照本指南初始化您的服务器并完成这些步骤。 Minecraft可能需要大量资源,因此在选择服务器大小时请记住这一点。如果您正在使用DigitalOcean并且需要更多资源,您可以随时调整Droplet的大小以添加更多的CPU和RAM。 -
在本地Mac、Windows或Linux机器上安装了Minecraft Java版的副本。
构建您自己的Minecraft服务器的步骤
步驟 1 — 安裝必要的軟件包並配置防火牆
啟動您的伺服器後,第一步是安裝Java;您需要它來執行Minecraft。預設情況下,Ubuntu 22.04並未提供足夠新的Java版本,以便執行Minecraft的最新版本。幸運的是,有第三方維護者繼續為舊版Ubuntu發布更新的Java套件,您可以通過將它們的PPA,或個人套件存檔,添加到您自己的套件來源列表中來安裝它們。您可以使用以下命令來執行此操作:
接下來,更新您的套件來源以反映此添加:
當提示確認時,按Y
。如果提示重新啟動任何服務,請按ENTER
接受默認值並繼續。
最後,安裝Java的OpenJDK版本17,具體而言是無頭的JRE。這是一個最小化的Java版本,不支持GUI應用程式。這使其非常適合在伺服器上運行Java應用程序:
您還需要使用一種名為screen
的軟件來創建可分離的伺服器會話。 screen
允許您創建一個終端會話並從中分離,使啟動的進程保持運行。這很重要,因為如果您啟動伺服器然後關閉終端,這將終止會話並停止您的伺服器。現在安裝screen
:
現在您已安裝好套件,我們需要啟用防火牆以允許流量進入我們的 Minecraft 伺服器。在您執行的初始伺服器設置中,您只允許了 ssh 流量。現在您需要允許通過端口25565
進入的流量,這是 Minecraft 使用的默認端口,用於允許連接。在某些情況下,ufw 將使用命名的流量規則,例如對於 ssh,它總是使用默認端口 22,但在像這樣的不太常見的情況下,我們將手動指定端口號。運行以下命令添加必要的防火牆規則:
現在您已經安裝了 Java,並且您的防火牆已經正確配置,您將從 Minecraft 網站下載 Minecraft 伺服器應用程式。
步驟 2 — 下載 Minecraft 的最新版本
現在您需要下載當前版本的 Minecraft 伺服器。您可以通過訪問Minecraft 的網站並複製標題為下載 minecraft_server。X.X.X.jar的鏈接,其中X是伺服器的最新版本。
您現在可以使用wget
和複製的鏈接將伺服器應用程式下載到您的伺服器上:
服務器應用程序將被下載為 server.jar
。 如果您曾經需要管理 Minecraft 的版本,或者想要升級您的 Minecraft 服務器,將下載的 server.jar
重新命名為 minecraft_server_1.18.2.jar
可能會很有幫助,將突出顯示的版本號與您剛下載的版本匹配:
如果您想下載 Minecraft 的舊版本,您可以在 mcversions.net 上找到它們的存檔。 但本教程將專注於目前的最新版本。 現在您已經下載了您的文件,讓我們開始配置您的 Minecraft 服務器。
步驟 3 — 配置並運行 Minecraft 服務器
現在您已經下載了 Minecraft jar,您可以開始運行它。
首先,運行 screen
命令來啟動一個 screen 會話:
一旦您已經閱讀了出現的橫幅,請按空格鍵。 screen
將向您呈現一個像平常一樣的終端會話。 這個會話現在是可分離的,這意味著您將能夠在這裡開始一個命令並讓它保持運行。
您現在可以執行初始配置。 下一個命令拋出錯誤時請不要驚慌。 Minecraft 設計了這種安裝方式,以便用戶必須首先同意公司的授權協議。 您將在下一步執行此操作:
在檢查此命令的輸出之前,讓我們仔細看看所有這些命令行參數,這些參數調整了您的伺服器:
-
Xms1024M
– 這會配置伺服器以 1024MB 或 1GB 的 RAM 運行。如果您想讓伺服器以更多的 RAM 開始運行,可以提高此限制。支持 M 表示 MB 和 G 表示 GB。例如:Xms2G
將以 2GB RAM 開始運行伺服器。 -
Xmx1024M
– 這會配置伺服器使用最多 1024M 的 RAM。如果您希望伺服器以更大的尺寸運行、允許更多玩家,或者覺得伺服器運行緩慢,可以提高此限制。Java 程序的獨特之處在於,它們總是要求您指定它們可以使用的最大內存量。 -
jar
– 此標誌指定要運行的伺服器 jar 檔案。 -
nogui
– 這告訴伺服器不要啟動 GUI,因為這是一個伺服器,你沒有圖形使用者介面。
第一次執行此命令時,通常會啟動您的伺服器,您將收到以下輸出:
Output[22:05:31] [environment second]
[22:05:31] [main/ERROR]: Failed to load properties from file: server.properties
[22:05:31] [main/WARN]: Failed to load eula.txt
[22:05:31] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
產生這些錯誤是因為伺服器找不到執行所需的兩個必要文件:EULA(最終用戶許可協議),位於 eula.txt
中,以及配置文件 server.properties
。由於伺服器找不到這些文件,它會在您當前的工作目錄中創建它們。Minecraft 故意這樣做是為了確保您已閱讀並同意了其 EULA。
在 nano
或您喜歡的文本編輯器中打開 eula.txt
:
在這個文件中,您將看到一個指向 Minecraft EULA 的鏈接。複製 URL:
#通過將下面的設置更改為 TRUE,表示您同意我們的 EULA (https://account.mojang.com/documents/minecraft_eula)。
#Tue Mar 24 22:05:31 UTC 2020
eula=false
在瀏覽器中打開 URL 並閱讀協議。然後返回到您的文本編輯器並找到 eula.txt
中的最後一行。在這裡,將 eula=false
更改為 eula=true
。然後保存並關閉文件。在 nano
中,這意味著按下“Ctrl+X”退出,然後在提示時保存,“Y”,然後按 Enter。
現在您已接受 EULA,您可以根據您的要求配置伺服器。
在您當前的工作目錄中,您還會找到新建的 server.properties
檔案。此檔案包含了 Minecraft 伺服器的所有配置選項。您可以在 官方 Minecraft Wiki 上找到所有伺服器屬性的詳細列表。在啟動伺服器之前,您應該修改此檔案以符合您的喜好設置。本教程將涵蓋一些基本設置:
您的檔案將顯示如下:
#Minecraft 伺服器屬性
#Thu Apr 30 23:42:29 UTC 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false
讓我們更仔細地看一下此列表中一些最重要的屬性:
-
difficulty
(預設值easy
)- 這會設置遊戲的難度,例如造成多少傷害以及元素如何影響您的玩家。選項包括peaceful
、easy
、normal
和hard
。 -
gamemode
(預設值survival
)- 這會設置遊戲模式。選項包括survival
、creative
、adventure
和spectator
。 -
等級名稱
(默認世界
)- 這設置了顯示在客戶端中的伺服器名稱。特殊字符如撇號可能需要在前面加上反斜線。這被稱為轉義字符,當特殊字符在上下文中無法正確解析時,這是一種常見做法。 -
motd
(默認一個 Minecraft 伺服器
)- 顯示在 Minecraft 客戶端伺服器清單中的訊息。 -
pvp
(默認true
)- 啟用玩家對玩家的戰鬥。如果設置為true
,玩家將能夠參與戰鬥並互相造成傷害。
一旦您设置了所需的选项,请保存并关闭文件。
现在您可以成功启动您的服务器。
与上次一样,让我们使用1024M的RAM启动您的服务器。这次,如果需要,您还应该授权Minecraft使用高达4G的RAM。请记住,您可以根据服务器限制或用户需求调整此数字:
给初始化一些时间。很快,您的新Minecraft服务器将开始生成类似于这样的输出:
Output[21:08:14] [Server thread/INFO]: Starting minecraft server version 1.18.2
[21:08:14] [Server thread/INFO]: Loading properties
[21:08:14] [Server thread/INFO]: Default game type: SURVIVAL
[21:08:14] [Server thread/INFO]: Generating keypair
[21:08:15] [Server thread/INFO]: Starting minecraft server on *:25565
一旦服务器启动并运行,您将看到以下输出:
Output[21:15:37] [Server thread/INFO]: Done (30.762s)! For help, type "help"
您的服务器现在正在运行,并且您已被呈现服务器管理员控制面板。尝试输入help
:
将出现以下输出:
Output[21:15:37] [Server thread/INFO]: /advancement (grant|revoke)
[21:15:37] [Server thread/INFO]: /ban <targets> [<reason>]
[21:15:37] [Server thread/INFO]: /ban-ip <target> [<reason>]
[21:15:37] [Server thread/INFO]: /banlist [ips|players]
...
通过此终端,您可以运行管理员命令并控制您的Minecraft服务器。现在您将学习如何使用screen
在您退出终端后保持Minecraft服务器运行。然后,您可以连接到您的Minecraft客户端并开始新游戏。
步骤4 —— 如何保持Minecraft服务器运行
现在您已经启动了您的服务器,您希望在断开SSH会话后它仍然保持运行。由于您之前使用了screen
,您可以通过按Ctrl + A + D
来分离此会话。您应该看到您回到了原始shell:
Outputubuntu@minecraft-2204:~$ screen
[detached from 3626.pts-0.minecraft-2204]
$
運行此命令以查看所有屏幕會話:
您將獲得包含會話ID的輸出,您需要使用該ID來恢復該會話:
OutputThere is a screen on:
3626.pts-0.minecraft-2204 (03/02/22 22:56:33) (Detached)
1 Socket in /run/screen/S-root.
要恢復會話,請將-r
標誌傳遞給screen
命令,然後輸入會話ID:
當您準備好再次從終端登出時,請務必使用Ctrl + A + D
從會話中分離,然後再登出。
第5步 — 從Minecraft客戶端連接到您的服務器
現在您的服務器已經運行,讓我們通過Minecraft客戶端連接到它。然後您就可以玩了!
啟動您的Minecraft Java版並在菜單中選擇多人遊戲。
接下來,您需要添加一個要連接的服務器,所以點擊添加服務器按鈕。
在顯示的編輯服務器信息屏幕中,給您的服務器命名並輸入服務器的IP地址。這是您通過SSH連接時使用的相同IP地址。
一旦您輸入了服務器名稱和IP地址,您將返回到多人遊戲屏幕,在那裡您的服務器現在將被列出。
從現在開始,您的服務器將始終出現在此列表中。選擇它並點擊加入服務器。
你已经在服务器上准备好玩了!
结论
你现在在 Ubuntu 22.04 上运行一个 Minecraft 服务器,可以和你所有的朋友一起玩!尽情探索、制作和在这个原始的 3D 世界中生存吧。记住:小心破坏者。
作者选择了Tech Education Fund作为写作捐赠计划的一部分捐赠的受益者。
Source:
https://www.digitalocean.com/community/tutorials/how-to-create-a-minecraft-server-on-ubuntu-22-04