作者选择了(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=false
为eula=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 。
接下来,您需要添加一个服务器连接到,所以单击添加服务器
按钮。
在出现的编辑服务器信息
屏幕上,给您的服务器一个名称,然后输入您的服务器的IP地址,这是您通过SSH连接的相同的IP地址。
一旦您输入了服务器名称和IP地址,您将被带回多人屏幕,您的服务器现在将列出。
从现在开始,您的服务器将始终出现在这个列表中. 选择它,然后点击 Join Server 。
你在你的服务器上,准备玩!
结论
你现在有一个 Minecraft 服务器在 Ubuntu 20.04 上运行,你和你的所有朋友都可以玩!在粗糙的 3D 世界中探索,制作和生存有趣。