如何在 Ubuntu 上安装 Minecraft 服务器 [Java 和 Bedrock]

devtools/2024/12/27 22:55:11/

简介

许多玩家都想创建并托管自己的 Minecraft 服务器来建立自己的社区,但这可能很繁琐,因为它涉及到一些技术性的任务。因此,我创建了这个全面的分步教程,你将学习如何在 Ubuntu 上安装 Minecraft:Java 和 Bedrock 版本。我们还将介绍如何托管 Minecraft 服务器服务器要求以及跨平台兼容性。

本教程的目标是手把手教你如何在 Linux 服务器上安装 Minecraft 服务器

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

https://img-blog.csdnimg.cn/img_convert/4c16271f125adea69da6ed9e7b2a4226.png

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

https://img-blog.csdnimg.cn/img_convert/414570cd3da48d4cc4bf51489992000b.png

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器Win+R 打开运行窗口,输入 powershell 后点击确定。

https://img-blog.csdnimg.cn/img_convert/c8afbeb764459a37a8451dd2ed8eeff1.png

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器

https://img-blog.csdnimg.cn/img_convert/ea5814f1d1068ca9fa2bb94631cfbdf1.png

  • 到此为止,我们的云服务器就远程连接上了。

安装和配置步骤

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

让我们在 Minecraft 服务器文件夹中工作:

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

你可以在 Minecraft 网站 上找到最新 Minecraft Bedrock 服务器的链接:

在这里插入图片描述

右键单击 下载 按钮,然后单击 复制链接

我们现在可以在 /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


http://www.ppmy.cn/devtools/145946.html

相关文章

Mac提示:安装anycast后台服务进程失败

mac笔记本在使用Anyscast时提示:安装anycast后台服务进程失败 打开Terminal终端 复制并粘贴以下命令到终端窗口按回车&#xff0c;输入电脑密码后按回车 cd /Library/Anycast sudo ./anycast-service install && sudo ./anycast-service 后按下回车并输入密码之后重…

Redis可视化工具 RDM mac安装使用

第一步&#xff1a;https://pan.baidu.com/s/10vpdhw7YfDD7G4yZCGtqQg?at1673701651004将dmg下载 第二部&#xff1a;点击下载的dmg文件进行安装、mac可能会提示&#xff1a; 无法验证此App不包含恶意软件 解决方法&#xff1a; 打开系统偏好设置>安全性与隐私>通用&am…

丹摩征文活动 | AI创新之路,DAMODEL助你一臂之力GPU

目录 前言—— DAMODEL&#xff08;丹摩智算&#xff09; 算力服务 直观的感受算力提供商的强大​ 平台功能介绍​ 镜像选择 云磁盘创建 总结 前言—— 只需轻点鼠标,开发者便可拥有属于自己的AI计算王国 - 从丰富的GPU实例选择,到高性能的云磁盘,再到预配置的深度学习…

Vue.js框架:在线教育系统的安全性与稳定性

2.1系统开发使用的关键技术 本系统在开发中选择B/S框架进行设计&#xff0c;语言采用Java&#xff0c;数据库采用Mysql&#xff0c;并在设计中加入VUE.js技术&#xff0c;本系统的运行环境为Idea。 2.2 VUE.js技术介绍 VUE.js是一个用来开发前台界面的JavaScript框架&#xff0…

Pytorch | 利用PC-I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用PC-I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集PC-I-FGSM介绍算法原理 PC-I-FGSM代码实现PC-I-FGSM算法实现攻击效果 代码汇总pcifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexNet对CIFAR…

IOT、MES、WMS、MOM 和 EPMS 系统综合技术与业务文档

IOT、MES、WMS、MOM 和 EPMS 系统综合技术与业务文档 一、引言 在现代制造业和工业管理领域&#xff0c;IOT&#xff08;物联网&#xff09;、MES&#xff08;制造执行系统&#xff09;、WMS&#xff08;仓库管理系统&#xff09;、MOM&#xff08;制造运营管理系统&#xff…

因子问题(真EASY)

描述 任给两个正整数N、M&#xff0c;求一个最小的正整数a&#xff0c;使得a和(M-a)都是N的因子。 输入描述 包括两个整数N、M。N不超过1,000,000。 输出描述 输出一个整数a&#xff0c;表示结果。如果某个案例中满足条件的正整数不存在&#xff0c;则在对应行输出-1 用例…

使用 C# 测量程序运行消耗的的时间

对于大多数任务&#xff0c;您可以使用Stopwatch或DateTime类来测量经过的时间。 要使用Stopwatch类&#xff0c;请创建一个Stopwatch对象。使用其Start和Stop方法启动和停止它。如果在停止对象后使用Start&#xff0c;时间将从停止的地方开始。这使得该类在您想要添加多个间隔…