简介
许多玩家都想创建并托管自己的 Minecraft 服务器来建立自己的社区,但这可能很繁琐,因为它涉及到一些技术性的任务。因此,我创建了这个全面的分步教程,你将学习如何在 Ubuntu 上安装 Minecraft:Java 和 Bedrock 版本。我们还将介绍如何托管 Minecraft 服务器、服务器要求以及跨平台兼容性。
本教程的目标是手把手教你如何在 Linux 服务器上安装 Minecraft 服务器。
准备工作
服务器准备
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 到此为止,我们的云服务器就远程连接上了。
安装和配置步骤
Minecraft_on_Ubuntu_Java_edition_46">1. 安装 Minecraft on Ubuntu: Java edition
Minecraft Java 版是最先创建的版本,允许 Windows、Mac 和 Linux 之间的跨平台游戏。第一部分将展示如何在 Ubuntu 上安装 Minecraft 服务器:Java 版,包括配置。
第一步:安装 Java 运行时
我们需要安装 Java 运行时来运行 Minecraft 服务器。
使用以下命令安装 Java JRE:
sudo apt-get update
sudo apt install default-jre-headless
使用以下命令检查是否已安装 Java jre:
java -version
你应该看到类似的内容:
openjdk version "17.0.9" 2023-10-17
OpenJDK 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
,我们将使用它来运行服务器。
要创建非特权用户,请使用以下命令:
sudo useradd -r -U -d /usr/local/games/minecraft_server/ -s /usr/sbin/nologin minecraft
然后创建存储服务器可执行文件的文件夹。
使用以下命令创建文件夹:
sudo mkdir -p /usr/local/games/minecraft_server/Java
现在,允许用户 minecraft
访问新创建的文件夹:
sudo chown -R minecraft: /usr/local/games/minecraft_server/
Minecraft__Java__101">第三步:下载 Minecraft 服务器 Java 版
我们现在可以切换到用户 minecraft
:
sudo su - minecraft -s /bin/bash
cd /usr/local/games/minecraft_server/Java
要下载服务器,请使用以下命令:
wget https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar
你可以在 https://www.minecraft.net/en-us/download/server 上找到最新的 Minecraft Java 服务器。
我们现在在文件夹中有一个名为 server.jar
的文件。
第四步:初始化设置
现在让我们运行服务器:
java -Xmx1024M -Xms1024M -jar server.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.properties
java.nio.file.NoSuchFileException: server.propertiesat 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 in order to run the server. Go to eula.txt for more info.
此过程还在文件夹中创建了其他文件:
$ ls
eula.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 -jar server.jar nogui
Starting 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 7 recipes
[23:37:38] [ServerMain/INFO]: Loaded 1271 advancements
[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 for dimension 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: 19828 ms
[23:38:02] [Server thread/INFO]: Done (23.425s)! For help, type "help"
我们现在有一个终端,可以在其中通过键入命令来管理 Minecraft 服务器。
键入 Ctrl+C
以停止服务器。
请注意,我们正在使用 -nogui
开关运行服务器,因为它在服务器环境中更可取。你可以删除此开关以使用服务器 GUI。
Minecraft_Java__242">第五步:在 screen 中启动 Minecraft Java 服务器
现在,安装 screen
,它是一个终端多路复用器应用程序。它将允许我们在需要时分离和重新连接到我们的 Minecraft 服务器。这也将允许你退出终端,同时保持 Minecraft 服务器的运行。
运行以下命令以安装 screen
:
sudo apt install screen -y
安装 screen
后,我们可以在分离的 screen 终端中启动服务器:
screen -S mc_Java_server -dm java -Xmx1024M -Xms1024M -jar server.jar nogui
请随意调整内存参数 Xmx 和 Xms 以适合你的喜好 - 连接到你的服务器的用户越多,你需要为 Minecraft 服务器分配的 RAM 就越多。
Minecraft_Java__261">第六步:加入 Minecraft Java 服务器
你现在可以添加一个新的 Minecraft 服务器。启动游戏并转到 多人游戏
。然后使用其 IP 地址添加你的服务器:
菜单应指示服务器可访问(绿色信号栏):
单击加入,你现在就在自己的 Minecraft 世界中!
Minecraft_on_Ubuntu_Bedrock_edition_278">2. 安装 Minecraft on Ubuntu: Bedrock edition
虽然 Minecraft Bedrock 版仅在 Windows 10 和 11 以及游戏机上运行,但你可以在 Ubuntu 上安装其服务器应用程序。请按照以下步骤进行操作。
Minecraft_Bedrock__282">第一步:安装 Minecraft Bedrock 服务器
在 /tmp
文件夹中下载 Bedrock 服务器:
cd /tmp
wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.51.01.zip
右键单击 下载
按钮,然后单击 复制链接
。
我们现在可以在 /usr/local/games/minecraft_server/bedrock
中提取文件:
apt-get install unzip
sudo unzip -d /usr/local/games/minecraft_server/bedrock bedrock-server-1.20.51.01.zip
现在让我们修复权限:
sudo chown -R minecraft: /usr/local/games/minecraft_server/
Minecraft_Bedrock__312">第二步:启动 Minecraft Bedrock 服务器
我们现在切换到我们的 Minecraft 用户:
sudo su - minecraft -s /bin/bash
我们需要进入 bedrock 文件夹:
cd bedrock
使用 nano
创建一个名为 launch_mc_bedrock_server.sh
的文件,并将以下内容粘贴到其中:
#!/bin/bash
LD_LIBRARY_PATH=. ./bedrock_server
使该文件可执行:
chmod +x launch_mc_bedrock_server.sh
我们终于可以在 screen
中启动我们的 Bedrock 服务器,以保持服务器运行:
screen -S mc_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 file found for dedicated server
[2024-01-24 10:09:28:220 INFO] Game mode: 0 Survival
[2024-01-24 10:09:28:220 INFO] Difficulty: 1 EASY
[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 for gameplay and LAN discovery
[2024-01-24 10:09:29:080 INFO] IPv6 supported, port: 19133: Used for gameplay
[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 enable this feature, add the line 'emit-server-telemetry=true'
[2024-01-24 10:09:29:086 INFO] to the server.properties file in the handheld/src-server directory
[2024-01-24 10:09:29:086 INFO] ============================================================
Minecraft_Bedrock__374">第三步:加入 Minecraft Bedrock 服务器
现在我们的服务器正在运行,你可以启动游戏并通过单击 服务器
部分中的 添加服务器
按钮来加入 Minecraft 服务器。
这将在 Minecraft Bedrock 中生成一个新的世界!
结尾
在本教程中,我向你展示了如何在 Ubuntu 上安装 Minecraft:Java 和 Bedrock 版本。你已经学习了在 Ubuntu 上设置和运行你自己的 Minecraft 服务器的基础知识,以及跨平台兼容性、如何托管 Minecraft 服务器和一般 Minecraft 服务器要求。了解这些可以帮助你选择最适合你的服务器版本!
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site