简介
许多玩家都想创建并托管自己的 Minecraft 服务器来建立自己的社区,但这可能很繁琐,因为它涉及到一些技术性的任务。因此,我创建了这个全面的分步教程,你将学习如何在 Ubuntu 上安装 Minecraft:Java 和 Bedrock 版本。我们还将介绍如何托管 Minecraft 服务器、服务器要求以及跨平台兼容性。
本教程的目标是手把手教你如何在 Linux 服务器上安装 Minecraft 服务器。
安装和配置步骤
1. 安装 Minecraft on Ubuntu: Java edition
Minecraft Java 版是最先创建的版本,允许 Windows、Mac 和 Linux 之间的跨平台游戏。第一部分将展示如何在 Ubuntu 上安装 Minecraft 服务器:Java 版,包括配置。
第一步:安装 Java 运行时
我们需要安装 Java 运行时来运行 Minecraft 服务器。
使用以下命令安装 Java JRE:
sudoapt-getupdatesudoaptinstalldefault-jre-headless
使用以下命令检查是否已安装 Java jre:
java-version
你应该看到类似的内容:
openjdk version "17.0.9"2023-10-17OpenJDK Runtime Environment (build 17.0.9+9-Debian-1deb12u1)OpenJDK 64-Bit Server VM (build 17.0.9+9-Debian-1deb12u1, mixed mode, sharing)
第二步:创建一个专用的系统用户
由于 Minecraft 服务器将公开访问,因此你应该特别注意服务器的安全性。例如,服务器不应由 root 或任何具有特权的用户运行。
创建一个用户 minecraft
,我们将使用它来运行服务器。
要创建非特权用户,请使用以下命令:
sudouseradd-r-U-d/usr/local/games/minecraft_server/ -s/usr/sbin/nologin minecraft
然后创建存储服务器可执行文件的文件夹。
使用以下命令创建文件夹:
sudomkdir-p/usr/local/games/minecraft_server/Java
现在,允许用户 minecraft
访问新创建的文件夹:
sudochown-Rminecraft: /usr/local/games/minecraft_server/
第三步:下载 Minecraft 服务器 Java 版
我们现在可以切换到用户 minecraft
:
sudosu- minecraft -s/bin/bash
让我们在 Minecraft 服务器文件夹中工作:
cd/usr/local/games/minecraft_server/Java
要下载服务器,请使用以下命令:
wgethttps://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar
你可以在 https://www.minecraft.net/en-us/download/server 上找到最新的 Minecraft Java 服务器。
我们现在在文件夹中有一个名为 server.jar
的文件。
第四步:初始化设置
现在让我们运行服务器:
java-Xmx1024M-Xms1024M-jarserver.jar nogui
如果你遇到以下错误:ubuntu Error: LinkageError occurred while loading main class net.minecraft.bundler.Main Java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0); this version of the Java Runtime only recognizes class file versions up to 55.0,
你可以使用 apt-get 并通过指定 JRE 版本来安装更新的 JRE 版本,方法是执行 sudo apt install openjdk-21-jre-headless
,然后重新启动服务器。
服务器将以异常退出,这是预期的:
[23:29:01][ServerMain/ERROR]: Failed to load properties from file: server.propertiesjava.nio.file.NoSuchFileException: server.properties at sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)~[?:?]at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)~[?:?]at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)~[?:?]at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:218)~[?:?]at java.nio.file.Files.newByteChannel(Files.java:380)~[?:?]at java.nio.file.Files.newByteChannel(Files.java:432)~[?:?]at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422)~[?:?]at java.nio.file.Files.newInputStream(Files.java:160)~[?:?]at ame.b(SourceFile:62)~[server-1.20.4.jar:?]at amb.a(SourceFile:138)~[server-1.20.4.jar:?]at amc.<init>(SourceFile:12)~[server-1.20.4.jar:?]at net.minecraft.server.Main.main(SourceFile:112)~[server-1.20.4.jar:?]at net.minecraft.bundler.Main.lambda$run$0(Main.java:54)~[?:?]at java.lang.Thread.run(Thread.java:840)~[?:?][23:29:01][ServerMain/WARN]: Failed to load eula.txt[23:29:01][ServerMain/INFO]: You need to agree to the EULA inorder to run the server. Go to eula.txt formoreinfo.
此过程还在文件夹中创建了其他文件:
$ lseula.txt libraries logs server.jar server.properties versions
按照异常,我们将通过将 EULA.txt
中的 false
替换为 true
来接受 Minecraft 最终用户许可协议 (EULA):
sed-i's/\\bfalse\\b/TRUE/'eula.txt
现在使用 java -Xmx1024M -Xms1024M -jar server.jar nogui
再次运行服务器:
$ java-Xmx1024M-Xms1024M-jarserver.jar noguiStarting net.minecraft.server.Main[23:37:36][ServerMain/INFO]: Environment: Environment[sessionHost=[https://sessionserver.mojang.com](https://sessionserver.mojang.com/), servicesHost=https://api.minecraftservices.com, name=PROD][23:37:37][ServerMain/INFO]: No existing world data, creating new world[23:37:38][ServerMain/INFO]: Loaded 7recipes[23:37:38][ServerMain/INFO]: Loaded 1271advancements[23:37:38][Server thread/INFO]: Starting minecraft server version 1.20.4[23:37:38][Server thread/INFO]: Loading properties[23:37:38][Server thread/INFO]: Default game type: SURVIVAL[23:37:38][Server thread/INFO]: Generating keypair[23:37:38][Server thread/INFO]: Starting Minecraft server on *:25565[23:37:38][Server thread/INFO]: Using epoll channel type[23:37:38][Server thread/INFO]: Preparing level "world"[23:37:42][Server thread/INFO]: Preparing start region fordimension minecraft:overworld[23:37:43][Worker-Main-4/INFO]: Preparing spawn area: 0%[23:37:43][Worker-Main-2/INFO]: Preparing spawn area: 0%[23:37:43][Worker-Main-6/INFO]: Preparing spawn area: 0%[23:37:44][Worker-Main-7/INFO]: Preparing spawn area: 0%[23:37:44][Worker-Main-3/INFO]: Preparing spawn area: 1%[23:37:45][Worker-Main-5/INFO]: Preparing spawn area: 2%[23:37:45][Worker-Main-5/INFO]: Preparing spawn area: 3%[23:37:46][Worker-Main-6/INFO]: Preparing spawn area: 4%[23:37:46][Worker-Main-1/INFO]: Preparing spawn area: 5%[23:37:47][Worker-Main-4/INFO]: Preparing spawn area: 9%[23:37:47][Worker-Main-2/INFO]: Preparing spawn area: 10%[23:37:48][Worker-Main-6/INFO]: Preparing spawn area: 13%[23:37:48][Worker-Main-3/INFO]: Preparing spawn area: 15%[23:37:49][Worker-Main-5/INFO]: Preparing spawn area: 17%[23:37:49][Worker-Main-2/INFO]: Preparing spawn area: 20%[23:37:50][Worker-Main-2/INFO]: Preparing spawn area: 23%[23:37:50][Worker-Main-4/INFO]: Preparing spawn area: 25%[23:37:51][Worker-Main-7/INFO]: Preparing spawn area: 29%[23:37:51][Worker-Main-4/INFO]: Preparing spawn area: 32%[23:37:52][Worker-Main-4/INFO]: Preparing spawn area: 34%[23:37:52][Worker-Main-3/INFO]: Preparing spawn area: 37%[23:37:53][Worker-Main-5/INFO]: Preparing spawn area: 40%[23:37:53][Worker-Main-4/INFO]: Preparing spawn area: 43%[23:37:54][Worker-Main-7/INFO]: Preparing spawn area: 46%[23:37:54][Worker-Main-4/INFO]: Preparing spawn area: 48%[23:37:55][Worker-Main-5/INFO]: Preparing spawn area: 53%[23:37:55][Worker-Main-5/INFO]: Preparing spawn area: 55%[23:37:56][Worker-Main-7/INFO]: Preparing spawn area: 58%[23:37:56][Worker-Main-7/INFO]: Preparing spawn area: 60%[23:37:57][Worker-Main-6/INFO]: Preparing spawn area: 64%[23:37:57][Worker-Main-6/INFO]: Preparing spawn area: 68%[23:37:58][Worker-Main-2/INFO]: Preparing spawn area: 70%[23:37:58][Worker-Main-1/INFO]: Preparing spawn area: 74%[23:37:59][Worker-Main-5/INFO]: Preparing spawn area: 77%[23:37:59][Worker-Main-3/INFO]: Preparing spawn area: 81%[23:38:00][Worker-Main-1/INFO]: Preparing spawn area: 84%[23:38:00][Worker-Main-3/INFO]: Preparing spawn area: 87%[23:38:01][Worker-Main-3/INFO]: Preparing spawn area: 90%[23:38:01][Worker-Main-6/INFO]: Preparing spawn area: 94%[23:38:02][Worker-Main-6/INFO]: Preparing spawn area: 97%[23:38:02][Server thread/INFO]: Time elapsed: 19828ms[23:38:02][Server thread/INFO]: Done (23.425s)!For help, type"help"
我们现在有一个终端,可以在其中通过键入命令来管理 Minecraft 服务器。
键入 Ctrl+C
以停止服务器。
请注意,我们正在使用 -nogui
开关运行服务器,因为它在服务器环境中更可取。你可以删除此开关以使用服务器 GUI。
第五步:在 screen 中启动 Minecraft Java 服务器
现在,安装 screen
,它是一个终端多路复用器应用程序。它将允许我们在需要时分离和重新连接到我们的 Minecraft 服务器。这也将允许你退出终端,同时保持 Minecraft 服务器的运行。
运行以下命令以安装 screen
:
sudoaptinstallscreen-y
安装 screen
后,我们可以在分离的 screen 终端中启动服务器:
screen-Smc_Java_server -dmjava-Xmx1024M-Xms1024M-jarserver.jar nogui
请随意调整内存参数 Xmx 和 Xms 以适合你的喜好 - 连接到你的服务器的用户越多,你需要为 Minecraft 服务器分配的 RAM 就越多。
第六步:加入 Minecraft Java 服务器
你现在可以添加一个新的 Minecraft 服务器。启动游戏并转到 多人游戏
。然后使用其 IP 地址添加你的服务器:

菜单应指示服务器可访问(绿色信号栏):

单击加入,你现在就在自己的 Minecraft 世界中!

2. 安装 Minecraft on Ubuntu: Bedrock edition
虽然 Minecraft Bedrock 版仅在 Windows 10 和 11 以及游戏机上运行,但你可以在 Ubuntu 上安装其服务器应用程序。请按照以下步骤进行操作。
第一步:安装 Minecraft Bedrock 服务器
在 /tmp
文件夹中下载 Bedrock 服务器:
cd/tmpwgethttps://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.51.01.zip
你可以在 Minecraft 网站 上找到最新 Minecraft Bedrock 服务器的链接:

右键单击 下载
按钮,然后单击 复制链接
。
我们现在可以在 /usr/local/games/minecraft_server/bedrock
中提取文件:
apt-getinstallunzipsudounzip-d/usr/local/games/minecraft_server/bedrock bedrock-server-1.20.51.01.zip
现在让我们修复权限:
sudochown-Rminecraft: /usr/local/games/minecraft_server/
第二步:启动 Minecraft Bedrock 服务器
我们现在切换到我们的 Minecraft 用户:
sudosu- minecraft -s/bin/bash
我们需要进入 bedrock 文件夹:
cdbedrock
使用 nano
创建一个名为 launch_mc_bedrock_server.sh
的文件,并将以下内容粘贴到其中:
#!/bin/bashLD_LIBRARY_PATH=. ./bedrock_server
使该文件可执行:
chmod+x launch_mc_bedrock_server.sh
我们终于可以在 screen
中启动我们的 Bedrock 服务器,以保持服务器运行:
screen-Smc_bedrock_server ./launch_mc_bedrock_server.sh
你应该看到类似于下面的输出:
NO LOG FILE!- setting up server logging...[2024-01-24 10:09:28:218 INFO]Starting Server[2024-01-24 10:09:28:218 INFO]Version: 1.20.51.01[2024-01-24 10:09:28:218 INFO]Session ID: 5405dc57-73b9-4c43-b5c9-4cc6869feab4[2024-01-24 10:09:28:218 INFO]Build ID: 20414424[2024-01-24 10:09:28:218 INFO]Branch: r/20_u5[2024-01-24 10:09:28:218 INFO]Commit ID: 62ad6027dc354090f841dd996363408bb43fdfd4[2024-01-24 10:09:28:218 INFO]Configuration: Publish[2024-01-24 10:09:28:219 INFO]Level Name: Bedrock level[2024-01-24 10:09:28:220 INFO]No CDN config filefound fordedicated server[2024-01-24 10:09:28:220 INFO]Game mode: 0Survival[2024-01-24 10:09:28:220 INFO]Difficulty: 1EASY[2024-01-24 10:09:28:221 INFO]Content logging to console is enabled.[2024-01-24 10:09:28:543 INFO]Opening level 'worlds/Bedrock level/db'[2024-01-24 10:09:29:080 INFO]IPv4 supported, port: 19132: Used forgameplay and LAN discovery[2024-01-24 10:09:29:080 INFO]IPv6 supported, port: 19133: Used forgameplay[2024-01-24 10:09:29:086 INFO]Server started.[2024-01-24 10:09:29:086 INFO]======================TELEMETRY MESSAGE ======================[2024-01-24 10:09:29:086 INFO]Server Telemetry is currently not enabled.[2024-01-24 10:09:29:086 INFO]Enabling this telemetry helps us improve the game.[2024-01-24 10:09:29:086 INFO][2024-01-24 10:09:29:086 INFO]To enablethis feature, addthe line 'emit-server-telemetry=true'[2024-01-24 10:09:29:086 INFO]to the server.properties fileinthe handheld/src-server directory[2024-01-24 10:09:29:086 INFO]============================================================
第三步:加入 Minecraft Bedrock 服务器
现在我们的服务器正在运行,你可以启动游戏并通过单击 服务器
部分中的 添加服务器
按钮来加入 Minecraft 服务器。

这将在 Minecraft Bedrock 中生成一个新的世界!

结尾
在本教程中,我向你展示了如何在 Ubuntu 上安装 Minecraft:Java 和 Bedrock 版本。你已经学习了在 Ubuntu 上设置和运行你自己的 Minecraft 服务器的基础知识,以及跨平台兼容性、如何托管 Minecraft 服务器和一般 Minecraft 服务器要求。了解这些可以帮助你选择最适合你的服务器版本!
我的博客:https://blog.ivwv.site