在 Linux(Ubuntu / CentOS 7)上快速搭建我的世界 MineCraft 服务器,并实现远程联机,详细教程

news2025/3/31 10:00:03

Linux 部署 MineCraft 服务器 详细教程(丐版,无需云服务器)

  • 一、虚拟机 + Ubuntu 部署
  • 二、下载 Minecraft 服务端
  • 三、安装 JRE 21
  • 四、安装 MCS manager 面板
  • 五、搭建服务器
  • 六、本地测试连接
  • 七、下载樱花,实现内网穿透,邀请其他玩家一起玩
  • 八、MCSManager 面板介绍


前言:

  • 推荐使用云服务器部署,如:阿里云,腾讯云,华为云等(有资金预算的)
  • 无资金预算推荐使用两台电脑,一台负责部署服务端,另一台负责玩。如果你电脑内存大的话,一台电脑也可以,不然进入世界会非常的卡顿。

配置:

  • OS: VM Ware 虚拟机 + ubuntu-24.04.2-desktop-amd64.iso + Xshell
  • 启动器:PCL2
  • MC 版本:Java 版 1.21.1-Fabric 0.16.10
  • 服务器端 jar 包: server.jar
  • JRE:openjdk-21-jre
  • Pannel 面板(图形化界面): MCS manager
  • 推荐使用最新版的 Ubuntu (本文使用:ubuntu-24.04.2-desktop-amd64.iso)或者CentOS 8 及以上。
    CentOS 7在安装 MCS manager 时(一种图形化界面,更方便),会显示系统版本过低,无法使用。
    如果你习惯命令行界面,使用CentOS 7 完全可以。
  • 本文以 Ubuntu 操作系统为例

CentOS 7 请跳转以下页面

  • Linux CentOS 7 搭建我的世界服务器详细教程(丐版 使用虚拟机搭建)
  • Windows 本地实现我的世界服务器搭建,并与好友远程联机(内网穿透)
  • Windows 我的世界 Minecraft 服务器搭建,Fabric 模组搭建教程(内网穿透)

一、虚拟机 + Ubuntu 部署

  • Ubuntu 镜像下载
    https://cn.ubuntu.com/download/desktop
    
    详细安装教程见下文:
    VMware 中安装 Ubuntu 详细安装教程在这里插入图片描述

二、下载 Minecraft 服务端

  • 下载地址 (下载 server.jar 文件)
    https://mcversions.net/
    
    在这里插入图片描述
    在这里插入图片描述

三、安装 JRE 21

  1. 更新安装包列表并安装 jre21
    安装 jre 就行,更节省空间。jre 是 java 程序的运行环境,jdk 是做开发使用的工具包
    sudo apt update
    sudo apt install openjdk-21-jre -y
    

四、安装 MCS manager 面板

  1. 打开 github 官网,进入MCS manager,往下滑动,找到Linux
    https://github.com/MCSManager/MCSManager
    
  2. 输入以下指令安装面板
    sudo su -c "wget -qO- https://script.mcsmanager.com/setup.sh | bash"
    
  3. 启动面板
    systemctl start mcsm-{web,daemon}
    
    在这里插入图片描述
    在这里插入图片描述
  4. 在浏览器输入 虚拟机ip:23333
    使用 ifconfig 查看虚拟机IP,如果报错,可能是你没安装 net-tools,安装后再重试
    sudo apt install net-tools
    
    在这里插入图片描述
    在这里插入图片描述

五、搭建服务器

  • 此时虚拟机可以不用了,直接使用 MCS manager 面板
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

六、本地测试连接

打开pcl2 --> 进入游戏 --> 选择多人游戏 --> 选择添加服务器 --> 服务器名字随便起 --> 服务器地址就是你虚拟机地址

在这里插入图片描述
在这里插入图片描述

如果无法加入,请把防火墙关闭(如果可以加入,请忽略)

sudo ufw disable

查看防火墙状态(如果可以加入,请忽略)

sudo ufw status

显示 Status: inactive 即为防火墙关闭(如果可以加入,请忽略)

在这里插入图片描述
在这里插入图片描述

七、下载樱花,实现内网穿透,邀请其他玩家一起玩

  1. 进入官网,注册一个账号
    https://www.natfrp.com/?page=panel&module=download
    
    输入真实邮箱进行注册,验证码将发送给邮箱,未满18岁请退出注册。在这里插入图片描述
  2. 注册成功并登录,点击用户 --> 点击实名认证(实名需要支付宝扫1块钱)。 防止其他人搞一些“奇怪的东西”,不实名无法使用。
    点击服务 --> 点击隧道列表 --> 点击新建隧道
    在这里插入图片描述
  3. 创建隧道
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

八、MCSManager 面板介绍

  • 面板介绍
    在这里插入图片描述
  1. 服务端配置文件
    在这里插入图片描述

  2. 文件管理
    在这里插入图片描述

  3. 事件任务
    在这里插入图片描述

  4. 应用实例设置
    在这里插入图片描述


END 配置完成


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2323268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Transformer | 一文了解:缩放、批量、多头、掩码、交叉注意力机制(Attention)

源自: AINLPer(每日干货分享!!) 编辑: ShuYini 校稿: ShuYini 时间: 2025-3-27 更多:>>>>专注大模型/AIGC、学术前沿的知识分享! 引言 之前的文章:2万字长文!一文了解…

原型验证后客户推翻原有需求,如何止损

原型验证后客户推翻原有需求时止损的有效方法包括:迅速评估影响范围、立即开展沟通确认、调整项目计划和资源配置、更新变更管理流程、协商成本分担机制。其中,迅速评估影响范围是关键,项目团队必须立即明确此次变更的具体影响,包…

六、小白学JAVA-类和对象

1、什么是类和对象 人类---类:走路、说话、学习 人---对象:具体到某个人,就是对象,走路、说话、学习,每个人都是独特的人。 public class Person {String name;public void walk() {System.out.println("我会走…

STM32硬件IIC与OLED使用

OLED屏幕介绍 OLED即有机发光管(Organic Light-Emitting Diode,OLED)。OLED显示技术具有自发光、广视角、几乎无穷高的对比度、较低功耗、极高反应速度、可用于绕曲性面板、使用温度范围广、构造及制程简单等有点,被认为是下一代的平面显示屏新兴应用技术 OLED显示…

基于Spring Boot的电动车智能充电服务平台的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

十、JavaScript对象

一、对象 创建对象的方法有三种:字面量、new、构造函数。 1.利用字面量创建对象 花括号{}里面包含了表达这个具体事物(对象)的属性和方法 // 1.利用对象字面量创建对象{}// var obj {}; // 创建了一个空的对象var obj {uname: black,ag…

FFmpeg开发学习:音视频封装

1.基本流程 1.输入参数 输出文件路径 char *output 视频编码参数 AVCodecParameters *video_par 音频编码参数 AVCodecParameters *audio_par 数据包 AVPacket *packets[] 2.封装流程 (1)创建输出的上下文AVFormatContext指针 AVFormatContext *out_fm…

hackmyvm-reversteg

arp-scan -l nmap -sS -v 192.168.222.45 在源码中可以看到 根据下面的提示可以猜测117db0148dc179a2c2245c5a30e63ab0是一个图像文件 将图片下载到本地 隐写术 在两张图片上使用strings,发现有一些可打印的字符串 strings 117db0148dc179a2c2245c5a30e63ab0.jpg base64解码…

UE4学习笔记 FPS游戏制作17 让机器人持枪 销毁机器人时也销毁机器人的枪 让机器人射击

添加武器插槽 打开机器人的Idle动画,方便查看武器位置 在动画面板里打开骨骼树,找到右手的武器节点,右键添加一个插槽,重命名为RightWeapon,右键插槽,添加一个预览资产,选择Rifle,根…

设计模式(创建型)-建造者模式

定义 建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。该模式允许通过多个简单的步骤逐步构建出一个复杂的对象,用户只需指定复杂对象…

Git 之配置ssh

1、打开 Git Bash 终端 2、设置用户名 git config --global user.name tom3、生成公钥 ssh-keygen -t rsa4、查看公钥 cat ~/.ssh/id_rsa.pub5、将查看到的公钥添加到不同Git平台 6、验证ssh远程连接git仓库 ssh -T gitgitee.com ssh -T gitcodeup.aliyun.com

黑马点评项目

遇到问题: 登录流程 session->JWT->SpringSession->tokenRedis (不需要改进为SpringSession,token更广泛,移动端或者前后端分离都可以用) SpringSession配置为redis模式后,redis相当于分布式se…

【AVRCP】AVRCP核心术语解析

目录 一、协议核心术语:架构的基石 1.1 音视频控制协议簇(AVRCP 生态链) 1.2 数据传输协议(L2CAP 核心术语) 二、设备架构术语:角色与交互 2.1 设备角色模型(CT/TG 二元架构) …

【弹性计算】异构计算云服务和 AI 加速器(四):FPGA 虚拟化技术

异构计算云服务和 AI 加速器(四):FPGA 虚拟化技术 🚀 FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种可重构的半导体芯片,允许用户根据需要动态配置硬件逻辑&#xff…

编译原理——自底向上语法优先分析

文章目录 自底向上优先分析概述一、自底向上优先分析概述二、简单优先分析法(一)优先关系定义(二)简单优先文法的定义(三)简单优先分析法的操作步骤 三、算法优先分析法(一)直观算符…

nuxt3网站文章分享微信 ,QQ功能

1.安装 npm install qrcode --save-dev 2.组件使用 <div class"share"><div style"line-height: 69px; color: #fff;width: 100px;"><p style"text-align: center;">分享:</p></div><div click"shareToMi…

STM32F103_LL库+寄存器学习笔记07 - 串口接收缓冲区非空中断

导言 上一章节《STM32F103_LL库寄存器学习笔记06 - 梳理串口与串行发送“Hello,World"》梳理完USART的基本设置与发送字符串“Hello,World"&#xff0c;接着梳理接收缓冲区非空中断。 实用的串口接收程序都会使用中断方式&#xff0c;不会使用轮询方式。最主要的原因…

生物中心论

Robert Lanza的“生物中心论”&#xff08;Biocentrism&#xff09;是一种以生命和意识为核心的宇宙观&#xff0c;试图颠覆传统科学对时间、空间和物质的理解。 一、核心观点 意识创造宇宙 生物中心论认为&#xff0c;宇宙的存在依赖于观察者的意识。传统科学将宇宙视为独立实…

Spring AOP:面向切面编程的探索之旅

目录 1. AOP 2. Spring AOP 快速入门 2.1 引入 Spring AOP 依赖 2.2 Spring AOP 简单使用 3. Spring AOP 核心概念 3.1 切点 3.1.1 Pointcut 定义切点 3.1.2 切点表达式 3.1.2.1 execution 表达式 3.1.2.2 annotation 表达式 3.2 连接点 3.3 通知(Advice) 3.3.1 通…

使用QT画带有透明效果的图

分辨率&#xff1a;24X24 最大圆 代码: #include <QApplication> #include <QImage> #include <QPainter>int main(int argc, char *argv[]) {QImage image(QSize(24,24),QImage::Format_ARGB32);image.fill(QColor(0,0,0,0));QPainter paint(&image);…