作者选择了(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版本. < $ > (美元)
前提条件
为了遵循这个指南,你需要:
- [一个服务器,新安装了Ubuntu 18.04] (https://www.digitalocean.com/products/linux-distribution/ubuntu/),一个拥有"sudo"权限的非root用户,并启用了SSH. [您可以遵循本指南初始化您的服务器并完成这些步骤] (https://andsky.com/tech/tutorials/initial-server-setup-with-ubuntu-18-04). Minecraft 可以是资源密集型的,所以在选择您的服务器大小时记住这一点. 如果您正在使用 DigitalOcean 并且需要更多的资源, 您总是可以调整您的 Droplet 大小, 以添加更多的 CPU 和 RAM 。
- 安装在本地Mac,Windows或Linux机上的Minecraft Java Edition副本. .
第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.jar
为minecraft_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=false
到eula=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]
2ubuntu@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 。
接下来,您需要添加一个服务器连接到,所以单击添加服务器
按钮。
在出现的编辑服务器信息
屏幕上,给您的服务器一个名称,然后输入您的服务器的IP地址,这是您通过SSH连接的相同的IP地址。
一旦您输入了服务器名称和IP地址,您将被带回多人屏幕,您的服务器现在将列出。
从现在开始,您的服务器将始终出现在这个列表中. 选择它,然后点击 Join Server 。
你在你的服务器上,准备玩!
结论
你现在有一个 Minecraft 服务器在 Ubuntu 18.04 上运行,你和你的所有朋友都可以玩!在粗糙的 3D 世界中探索,制作和生存有趣。