当前位置: 首页 > article >正文

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

简介

许多玩家都想创建并托管自己的 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

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

安装和配置步骤

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 版

我们现在可以切换到用户 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.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 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。

第五步:在 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 服务器

你现在可以添加一个新的 Minecraft 服务器。启动游戏并转到 多人游戏。然后使用其 IP 地址添加你的服务器:

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

2. 安装 Minecraft on Ubuntu: Bedrock edition

虽然 Minecraft Bedrock 版仅在 Windows 10 和 11 以及游戏机上运行,但你可以在 Ubuntu 上安装其服务器应用程序。请按照以下步骤进行操作。

第一步:安装 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 服务器

我们现在切换到我们的 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 服务器

现在我们的服务器正在运行,你可以启动游戏并通过单击 服务器 部分中的 添加服务器 按钮来加入 Minecraft 服务器。

在这里插入图片描述

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

在这里插入图片描述

结尾

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

雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site


http://www.kler.cn/a/450969.html

相关文章:

  • 华为浏览器(HuaweiBrowser),简约高效上网更轻松
  • 学习threejs,THREE.PlaneGeometry 二维平面几何体
  • 【uni-app】2025最新uni-app一键登录保姆级教程(包含前后端获取手机号方法)(超强避坑指南)
  • 写给Pythoner的前端进阶指南(五):事件驱动模型
  • 贪心算法求解跳跃游戏
  • 数据流图和流程图的区别
  • 前端在WebSocket中加入Token
  • React基础知识(总结回顾一)
  • WebSSH:基于Go实现的高效Web SSH客户端指南
  • ReentrantLock底层原理、源码解析
  • 共享无人系统,从出行到生活全面覆盖
  • python环境中阻止相关库的自动更新
  • 迁移学习 详解及应用示例
  • 36 Opencv SURF 关键点检测
  • Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
  • 【记录——解除网课自动暂停】的“魔法“
  • IntelliJ IDEA中设置激活的profile
  • Centos下的OpenSSH服务器和客户端
  • 【算法篇】——数据结构中常见八大排序算法的过程原理详解
  • 深入解析 Apache APISIX
  • 14-zookeeper环境搭建
  • 解决前端笔记本电脑屏幕显示缩放比例125%、150%对页面大小的影响问题--数据可视化大屏
  • C语言项目 天天酷跑(上篇)
  • day53 第十一章:图论part04
  • Ruby Raider使用教程
  • 基于小程序宿舍报修系统的设计与实现ssm+论文源码调试讲解