如何在 Ubuntu 20.04 上创建 Minecraft 服务器

作者选择了(https://www.brightfunds.org/funds/tech-education)作为 写给捐款计划的一部分的捐款。

介绍

[Minecraft] (https://www.minecraft.net)是一款流行的沙盒电子游戏. 最初发布于2009年,它允许玩家在3D生成的块世界中进行构建,探索,手工艺并生存. 截至2019年末,是全年第二畅销的电子游戏. 在此教程中, 您会创建自己的 Minecraft 服务器, 这样您和您的朋友们就可以一起玩 。 具体来说,您将安装运行Minecraft的必要软件包,配置运行的服务器,然后部署游戏.

或者,您可以探索 DigitalOcean's One-Click Minecraft: Java Edition Server 作为另一个安装路径。

<美元 > [注] 本教程使用[Java版Minecraft (https://www.minecraft.net/en-us/store/minecraft-java-edition/). 如果您通过微软App Store购买了您版本的Minecraft, 您将无法** ** 连接到此服务器 。 大多数在游戏控制台上购买的Minecraft版本,如PlayStation 4,Xbox One,或任天堂Switch等也是Minecraft的微软版本. 这些控制台也** 无法** 连接到此教程中构建的服务器. 您可以获取Minecraft [这里] (https://www.minecraft.net/en-us/get-minecraft)的Java版本. < $ > (美元)

前提条件

为了遵循这个指南,你需要:

  • [一个新安装了Ubuntu 20.04 (https://www.digitalocean.com/products/linux-distribution/ubuntu/)的服务器,一个拥有"sudo"权限的非root用户,并启用了SSH. [您可以遵循本指南初始化您的服务器并完成这些步骤] (https://andsky.com/tech/tutorials/initial-server-setup-with-ubuntu-20-04). Minecraft 可以是资源密集型的,所以在选择您的服务器大小时记住这一点. 如果您正在使用 DigitalOcean 并且需要更多的资源, 您总是可以调整您的 Droplet 大小, 以添加更多的 CPU 和 RAM 。
  • 安装在本地Mac,Windows或Linux机上的Minecraft Java Edition副本. .

第1步:安装必要的软件包并配置防火墙

随着您的服务器初始化,您的第一步是安装 Java;您将需要它来运行Minecraft。

更新为 [APT 包管理器] 的包索引(https://andsky.com/tech/tutorials/package-management-basics-apt-yum-dnf-pkg):

1sudo apt update

接下来,安装 OpenJDK 版本 16 的 Java,特别是无头 JRE。 这是 Java 的最小版本,取消了对 GUI 应用程序的支持,这使得它非常适合在服务器上运行 Java 应用程序:

1sudo apt install openjdk-16-jre-headless

您还需要使用名为屏幕的软件来创建可拆卸的服务器会话。屏幕允许您创建终端会话并从中脱离,让该过程开始运行,这是重要的,因为如果您要启动您的服务器,然后关闭您的终端,这将杀死该会话并停止您的服务器。

1sudo apt install screen

现在你已经安装了软件包,我们需要启用防火墙来允许流量进入我们的Minecraft服务器。 在 初始服务器设置你执行你只允许从SSH的流量。现在你需要允许流量通过端口25565,这是Minecraft使用的默认端口来允许连接。通过运行以下命令添加必要的防火墙规则:

1sudo ufw allow 25565

现在你已经安装了Java并正确配置了防火墙,你将从Minecraft网站下载Minecraft服务器。

第2步:下载最新版本的Minecraft

现在你需要下载当前版本的Minecraft服务器。你可以通过导航到Minecraft的网站(https://www.minecraft.net/en-us/download/server/)并复制的链接说 下载minecraft_server.X.X.jar ,其中** X** 是服务器的最新版本。

您现在可以使用wget和复制的链接来下载服务器:

1wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

如果您打算升级您的 Minecraft 服务器,或者想要运行不同版本的 Minecraft,请将下载的server.jar重命名为minecraft_server_1.15.2.jar,将突出的版本号匹配到您刚刚下载的任何版本:

1mv server.jar minecraft_server_1.15.2.jar

如果你想下载一个较旧的版本的Minecraft,你可以找到它们的档案在 mcversions.net. 但这个教程将集中在当前的最新版本。

第3步:配置和运行Minecraft服务器

现在你已经下载了Minecraft罐,你已经准备好运行它。

首先,通过运行屏幕命令开始屏幕会话:

1screen

一旦您阅读了出现的标签,请按下SPACE栏。屏幕将为您提供正常的终端会话,此会话现在可以拆卸,这意味着您将能够在这里启动命令并让它运行。

您现在可以进行初始配置。当下一个命令出现错误时,不要担心 Minecraft 已经设计了其安装方式,因此用户必须首先同意该公司的许可协议。

1[environment second]
2java -Xms1024M -Xmx1024M -jar minecraft_server_1.15.2.jar nogui

在审查此命令的输出之前,让我们仔细看看这些命令行参数,这些参数正在调节您的服务器:

  • QQms1024M' - 此配置服务器, 以 1024MB 或 1GB RAM 运行开始运行 。 如果您想要您的服务器从更多的RAM开始, 您可以提高这个限制 。 M代表兆字节,G代表千兆字节,都是支持选项. 例如:QQms2G ' 将以2千兆字节的RAM启动服务器.
  • XXmx1024M` - 这配置了最多可使用RAM 1024M的服务器。 如果您想要您的服务器以更大的尺寸运行,允许更多玩家,或者感到您的服务器运行缓慢,可以提高这个限制.
  • `贾尔'- 此旗帜指定要运行的服务器罐文件 。
  • " 无贵人 " - 这告诉服务器不要启动GUI,因为这是一个服务器,而您没有图形用户界面. .

第一次运行此命令时,该命令通常会启动您的服务器,而不会产生以下错误:

1[22:05:31] [environment second]
2[secondary_label Output]
3[22:05:31] [main/ERROR]: Failed to load properties from file: server.properties
4[22:05:31] [main/WARN]: Failed to load eula.txt
5[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.txt中的EULA(终端用户许可协议)和配置文件server.properties。

首先,在nano或您最喜欢的文本编辑器中打开eula.txt:

1[environment second]
2nano eula.txt

在此文件中,您将看到 Minecraft EULA 的链接. 复制 URL:

1[label ~/eula.txt]
2#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
3#Tue Mar 24 22:05:31 UTC 2020
4eula=false

打开您的网页浏览器中的URL并阅读协议,然后返回文本编辑器并在eula.txt中找到最后一行。在这里,更改eula=falseeula=true

现在你已经接受了EULA,是时候将服务器配置为你的规格了。

在您的当前工作目录中,您还将找到新创建的 server.properties 文件。 此文件包含您的 Minecraft 服务器的所有配置选项。 您可以在 官方 Minecraft 维基找到所有服务器属性的详细列表。 在启动服务器之前,您将更改此文件的偏好设置。 本教程将涵盖以下基本属性:

1[environment second]
2nano server.properties

你的檔案會看起來像這樣:

 1[label ~/server.properties]
 2#Minecraft server properties
 3#Thu Apr 30 23:42:29 UTC 2020
 4spawn-protection=16
 5max-tick-time=60000
 6query.port=25565
 7generator-settings=
 8force-gamemode=false
 9allow-nether=true
10enforce-whitelist=false
11gamemode=survival
12broadcast-console-to-ops=true
13enable-query=false
14player-idle-timeout=0
15difficulty=easy
16spawn-monsters=true
17broadcast-rcon-to-ops=true
18op-permission-level=4
19pvp=true
20snooper-enabled=true
21level-type=default
22hardcore=false
23enable-command-block=false
24max-players=20
25network-compression-threshold=256
26resource-pack-sha1=
27max-world-size=29999984
28function-permission-level=2
29rcon.port=25575
30server-port=25565
31server-ip=
32spawn-npcs=true
33allow-flight=false
34level-name=world
35view-distance=10
36resource-pack=
37spawn-animals=true
38white-list=false
39rcon.password=
40generate-structures=true
41online-mode=true
42max-build-height=256
43level-seed=
44prevent-proxy-connections=false
45use-native-transport=true
46motd=A Minecraft Server
47enable-rcon=false

让我们仔细看看这个列表中的一些最重要的财产:

  • 困难'(默认容易') - 这规定了游戏的难度,例如处理多少损害以及这些要素如何影响玩家。 选择是和平'、轻松'、正常'和硬'。
  • " 游戏模式 " (默认 " 生存 " ) -- -- 设定游戏模式。 选择是生存'、创造'、冒险'和观察者'。
  • ) - 此设置客户端将出现的服务器名称 。 需要用回击来逃脱诸如Aposrope等字符.
  • motd'(默认为Minecraft Server') - Minecraft 客户端服务器列表中显示的信息。
  • pvp' (默认real') - 启用玩家对战 玩家战斗. 如果设定为`真',玩家将能够参与战斗并相互伤害。 .

一旦设置了您想要的选项,保存并关闭文件。

现在,您已将 EULA 更改为真实,并配置了您的设置,您可以成功启动服务器。

就像上次一样,让我们用1024M的RAM启动您的服务器,现在我们还可以让Minecraft在需要时使用高达4G的RAM。

1[environment second]
2java -Xms1024M -Xmx4G -jar minecraft_server_1.15.2.jar nogui

很快,你的新 Minecraft 服务器将开始产生类似于此的输出:

1[secondary_label Output]
2[environment second]
3[21:08:14] [Server thread/INFO]: Starting minecraft server version 1.15.2
4[21:08:14] [Server thread/INFO]: Loading properties
5[21:08:14] [Server thread/INFO]: Default game type: SURVIVAL
6[21:08:14] [Server thread/INFO]: Generating keypair
7[21:08:15] [Server thread/INFO]: Starting minecraft server on *:25565

一旦服务器启动并运行,您将看到以下输出:

1[secondary_label Output]
2[environment second]
3[21:15:37] [Server thread/INFO]: Done (30.762s)! For help, type "help"

您的服务器现在正在运行,您已被放入服务器管理员控制面板。

1[environment third]
2help

这样的输出会出现:

1[secondary_label Output]
2[environment third]
3[21:15:37] [Server thread/INFO]: /advancement (grant|revoke)
4[21:15:37] [Server thread/INFO]: /ban <targets> [<reason>]
5[21:15:37] [Server thread/INFO]: /ban-ip <target> [<reason>]
6[21:15:37] [Server thread/INFO]: /banlist [ips|players]
7...

从这个终端,你可以执行管理员命令并控制你的Minecraft服务器. 现在让我们使用屏幕来保持你的新服务器运行,即使在你退出后。

步骤4:保持服务器运行

现在你有你的服务器,你想要它仍然运行,即使在你脱离你的SSH会话. 因为你以前使用了屏幕,你可以脱离这个会话,按Ctrl + A + D

运行此命令以查看您的所有屏幕会话:

1screen -list

您将收到与您的会话ID的输出,您将需要重启该会话:

1[secondary_label Output]
2There is a screen on:
3        26653.pts-0.minecraft   (03/25/20 21:18:31)     (Detached)
41 Socket in /run/screen/S-root.

要恢复会话,请将-r标志传入屏幕命令,然后输入您的会话ID:

1screen -r 26653

当您准备退出服务器时,请确保通过Ctrl + A + D脱离会话,然后退出。

步骤5 — 从Minecraft客户端连接到您的服务器

现在你的服务器正在运行,让我们通过Minecraft客户端连接到它。

启动您的 Minecraft Java Edition 副本,并在菜单中选择 Multiplayer

Select Multiplayer in the menu

接下来,您需要添加一个服务器连接到,所以单击添加服务器按钮。

Click the Add Server button

在出现的编辑服务器信息屏幕上,给您的服务器一个名称,然后输入您的服务器的IP地址,这是您通过SSH连接的相同的IP地址。

Name your server and type in the IP address

一旦您输入了服务器名称和IP地址,您将被带回多人屏幕,您的服务器现在将列出。

Select your server and click Join Server

从现在开始,您的服务器将始终出现在这个列表中. 选择它,然后点击 Join Server

Enjoy the game!

你在你的服务器上,准备玩!

结论

你现在有一个 Minecraft 服务器在 Ubuntu 20.04 上运行,你和你的所有朋友都可以玩!在粗糙的 3D 世界中探索,制作和生存有趣。

Published At
Categories with 技术
comments powered by Disqus