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

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

介绍

Minecraft是一个流行的沙盒视频游戏. 最初于2009年发布,它允许玩家在一个区块3D生成的世界中建立,探索,制作和生存。 截至2022年初,它是所有时间最畅销的视频游戏。 在本教程中,您将创建自己的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版本. < $ > (美元)

前提条件

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

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

随着服务器的初始化,第一步是安装 [Java] (https://docs.oracle.com/javase/7/docs/technotes/guides/language/);您需要它来运行Minecraft. 默认情况下,Ubuntu 18.04没有为运行Minecraft的最新出品提供Java的最新足够版本. 所幸的是,有第三方维护者继续为更古老的Ubuntu放出建立更新的Java软件包,您可以通过在您自己的软件包来源列表中添加他们的_PPA_,或个人软件包档案来安装. 使用以下命令可以做到这一点:

1sudo add-apt-repository ppa:openjdk-r/ppa

接下来,更新您的包源以反映此添加:

1sudo apt update

最后,安装 Java 的 [OpenJDK 版本 17],特别是无头 JRE(https://packages.debian.org/stretch/openjdk-17-jre-headless)。 这是 Java 的最小版本,取消了对 GUI 应用程序的支持,这使得它非常适合在服务器上运行 Java 应用程序:

1sudo apt install openjdk-17-jre-headless

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

1sudo apt install screen

现在你已经安装了软件包 我们需要让防火墙 允许流量进入我们的Minecraft服务器 在您执行的 [初始服务器设置] (https://andsky.com/tech/tutorials/initial-server-setup-with-ubuntu-18-04 ) 中, 您只允许 ssh 流量 。 现在,你需要允许通过 " 25565 " 港口进入,这是Minecraft公司用来连接的默认港口。 有些情况下, ufw会使用命名的交通规则, 例如ssh, 默认使用端口 22, 但在较不常见的情况下, 通过运行以下命令来添加必要的防火墙规则:

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/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar

如果你需要管理版本的Minecraft,或者如果你想升级你的Minecraft服务器,它可能有助于重命名下载的server.jarminecraft_server_1.18.1.jar,匹配突出的版本号码到你刚刚下载的任何版本:

1mv server.jar minecraft_server_1.18.1.jar

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

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

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

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

1screen

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

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

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

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

  • QQms1024M' - 此配置服务器, 以 1024MB 或 1GB RAM 运行开始运行 。 如果您想要您的服务器从更多的RAM开始, 您可以提高这个限制 。 M代表兆字节,G代表千兆字节,都是支持选项. 例如:QQms2G ' 将以2千兆字节的RAM启动服务器.
  • XXmx1024M` - 这配置了最多可使用RAM 1024M的服务器。 如果您想要您的服务器以更大的尺寸运行,允许更多玩家,或者感到您的服务器运行缓慢,可以提高这个限制. Java程序是独一无二的,因为它们总是要求您指定可以使用的最大内存量.
  • `贾尔'- 此旗帜指定要运行的服务器罐文件 。
  • " 无贵人 " - 这告诉服务器不要启动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。然后,保存并关闭文件。在nano,这意味着按Ctrl+X来退出,然后当被要求保存Y,然后输入。

现在你已经接受了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

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

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

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

现在您可以成功启动您的服务器。

就像上次一样,让我们用1024M的RAM开始您的服务器。这次,您还应该允许Minecraft在需要时使用高达4G的RAM。

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

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

1[secondary_label Output]
2[environment second]
3[21:08:14] [Server thread/INFO]: Starting minecraft server version 1.18.1
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服务器. 现在你将学习如何使用屏幕来保持你的Minecraft服务器在你离开终端后运行。

步骤4:保持服务器运行

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

1[secondary_label Output]
2​​ubuntu@minecraft-1804:~$ screen
3[detached from 3626.pts-0.minecraft-1804]
4$

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

1screen -list

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

1[secondary_label Output]
2There is a screen on:
3        3626.pts-0.minecraft-1804	(11/16/21 22:56:33)	(Detached)
41 Socket in /run/screen/S-root.

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

1screen -r 3626

当您准备再次退出终端时,请确保通过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 18.04 上运行,你和你的所有朋友都可以玩!在粗糙的 3D 世界中探索,制作和生存有趣。

Published At
Categories with 技术
comments powered by Disqus