Minecraft 1.20.1 Forge服务器保姆级搭建教程 (使用mcsm面板 | 两种启动方式)

MC Forge 服务器部署

使用 Linux 云服务器部署 Minecraft 1.20.1 Forge 服务器

目录

  • MC Forge 服务器部署
    • 看这篇教程之前,你需要准备好
    • 这篇教程的目标
    • 前期准备
      • 1. 环境需求:腾讯云、CentOS 7.9(对于其他云服务商和 Linux 系统,操作大同小异)
      • 2. 安装 Java 17(不要使用 Java 8 !!!)
      • 3. 安装 MCSManager 面板
    • 开始部署
      • 1. 下载 Forge
      • 2. 回到 MCSManager 面板,准备初始化 mc 实例
        • 选择启动方式
      • 3. 第一次初始化(服务端安装,设置启动项)
      • 4. 第二次初始化(同意 Eula 协议)
      • 5. 加入房间
    • 调整服务器设置以及添加 mod
    • 至此,mc 服务器就搭建完成啦!

看这篇教程之前,你需要准备好

  1. 一台 Linux 服务器:用来做 mc 服务器
  2. 一个用来连接服务器的终端工具(如 Xshell):用来输入命令
  3. Docker(可选,如果你不知道这是什么就不用管了~)
  4. 宝塔面板或 Xftp(可选,能可视化管理文件,推荐 xftp,跟 Xshell 搭配比较方便)

这篇教程的目标

  1. 详细讲解如何使用 MCSManager 面板搭建你自己的 mc 服务器。

    官方百科的解释:

    MCSManager 面板(简称:MCSM 面板)是一款支持 Minecraft 和其他少数游戏的控制面板,它可以帮助你集中管理多个物理服务器,动态在任何主机上创建游戏服务端,并且提供安全可靠的多用户权限系统,可以很轻松的帮助你管理多个服务器。


    我的解释:

    这个面板让搭建服务器变得简单方便了。

  2. 详细讲解 mc 服务器的两种启动方式(原始启动Docker 启动)、域名绑定mod 安装服务期配置文件设置

    本教程各版本通用,不论是 Forge 还是原版,又或者是 Spigot, Paper 等插件服务端,都可以参考,操作大同小异。



前期准备

1. 环境需求:腾讯云、CentOS 7.9(对于其他云服务商和 Linux 系统,操作大同小异)


2. 安装 Java 17(不要使用 Java 8 !!!)

注意:如果你选择使用 Docker 虚拟化容器启动,则可以跳过安装 Java 这一步

  1. 在终端 (shell) 中连接你的服务器,然后依次输入以下指令:

    cd /usr/local	#跳转到 /usr/local 目录
    mkdir java		#创建名为 java 的目录
      
    # 下载 java17 压缩包
    wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
    # 解压
    tar -xzvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java/
    

    注:如果输入某条指令时显示 command not found,则说明未安装该指令所需的程序,需要自行安装。

    如输入 wget 指令时报如上错误,则说明没有安装 wget(不过这种基础指令一般都会随系统一同安装)

  2. 解压后,配置环境变量:

    vim /etc/profile	# 编辑 profile 文件
    
  3. 会进入到一个新的界面,这是一个文本编辑器,使用键盘上的箭头移动光标,移至文件的最后一行,按下 Insert 键,进入编辑模式,在文件的最后新增如下几行:

     # 注意!下面指令中,你的文件夹名不一定是jdk-17.0.9,把它替换为你解压出来的文件夹的实际名称
     export JAVA_HOME=/usr/local/java/jdk-17.0.9		
     export CLASSPATH=.:$JAVA_HOME/lib/
     export PATH=.:$JAVA_HOME/bin:$PATH
    

    Esc退出编辑模式,然后输入:wq,回车,完成保存并退出。

  4. 然后输入以下命令,重载该文件:

    source /etc/profile
    
  5. 最后检查 Java 是否安装成功:

    java -version
    

    如果出现类似响应,则说明安装成功:

    请添加图片描述


3. 安装 MCSManager 面板

  1. 在 shell 中输入如下命令,一键安装:

    wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup_cn.sh | bash
    

    耐心等待,安装完成后如下图:

    请添加图片描述

  2. 在防火墙中开放 23333, 24444, 25565 端口,23333/24444 是面板端口,25565 是mc默认端口:

    在这里插入图片描述

  3. 访问面板( http://你的IP:23333 ),进入如下页面:

    请添加图片描述

  4. 创建用户后,能正常显示如下页面,则安装成功。

    在这里插入图片描述

如果有不懂的地方,可以试着查阅官方文档:https://docs.mcsmanager.com/#/zh-cn/README



开始部署

1. 下载 Forge

进入官网:https://files.minecraftforge.net/net/minecraftforge/forge/

在这里插入图片描述

左侧栏找到 1.20.1。如果你没有特定需求,就下载右侧 Recommended 的版本,点击Installer下载。

如果你进入了一个广告页,点击右上角的 skip,就可以继续下载了。

在这里插入图片描述


2. 回到 MCSManager 面板,准备初始化 mc 实例

  1. 在左侧栏中找到 “快速开始” → “创建一个 Minecraft 服务器” → 选择创建方式为 “普通流程创建服务器” → “Java 版 Minecraft 游戏服务端” → “上传单个服务端软件”

    然后进入了如下页面:

    在这里插入图片描述

    当然你也可以选择 “一键开服”,但这不是本次教程的目的(一键开服里也没有 1.20.1 的 Forge 版本)


  2. 填写上图中的相关信息

    实例名称:随便填

    启动命令模板(复制粘贴如下内容):

    java -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -jar ${ProgramName} --installServer
    

    服务器文件目录:最好不要选默认目录,不方便自行管理,这里我填 /home/saikaisa/Minecraft1.20.1,如果你是小白,也可以不填,默认,不影响接下来的操作

    上传服务端软件:把刚才下载好的 forge 服务端上传进去


  3. 上传后进入如下页面

    在这里插入图片描述

    选择启动方式

    往下翻,有两种进程启动方式:默认启动虚拟化容器(Docker),两种选其中一种即可!!!

    1. 默认启动(需要之前安装了 Java 17)

      进程启动方式使用 “默认” 即可。

      其他选项不用管,直接保存配置。


    2. 虚拟化容器启动(无需事先安装 Java)

      注意!你需要先安装 Docker 才能使用这种启动方式!安装方法自行百度

      在环境镜像一栏选择 “新建镜像” → “创建 OpenJDK 17 环境镜像” → 点击创建,等待创建完毕

      详见下图:

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


      创建完成后,继续回到实例配置详情,参照下图中三个红框的设置,其他不需要动:

      如果找不回之前的页面,可以试着不断返回上一级(或者按鼠标侧键返回),实在回不去那就重新初始化一次吧~

      在这里插入图片描述

      其中最大内存根据你服务器的实际内存大小决定,我是2核4G的服务器,所以填了个3072M (即3G)

      保存配置。


3. 第一次初始化(服务端安装,设置启动项)

  1. 进入控制台,开启实例,等待服务端安装完成(可能需要几分钟到十几分钟左右)

    在这里插入图片描述


  2. 安装完成后,实例自动退出。在左边的 “实例功能组” 板块中找到 “高级实例设置”,将启动命令改为

    bash run.sh
    

    在这里插入图片描述


  3. 然后,拉到最底下,保存配置,再点击 “文件管理”,进入文件管理页面,这里面就是 mc 本体的所有文件


  4. 接下来要编辑两个文件

    a. “run.sh”(如果长得类似就不用改了,我只是添加了一个nogui指令)

    java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.20.1-47.2.0/unix_args.txt nogui "$@"
    

    在这里插入图片描述

    命令里的1.20.1-47.2.0不一定与你的相同,这个只要保持跟你原来的一样就行,不用改成我的


    b. “user_jvm_args.txt” (如果找不到该文件,可以在右上角搜索框中搜索)

    在文件中添加如下代码:

    # 编辑你的 mc 进程所使用的内存量,自行修改
    -Xms1024M	# 最小占用内存,这里我设为1024M
    -Xmx2500M	# 最大占用内存,这里我设为2500M
    

    编辑后如图(确保除了这两项的其他项都是被注释(前面有 # 号)的状态!):

    在这里插入图片描述

    保存退出。

4. 第二次初始化(同意 Eula 协议)

  1. 回到控制台,再次开启实例

    在这里插入图片描述

    出现这一行后,实例会自动退出,这行意思是需要同意 Eula 协议。


  2. 我们回到文件管理,可以发现多了一个 ”eula.txt“ 文件,编辑内容,将eula=false改为eula=true

    在这里插入图片描述

    保存退出。


  3. 回到控制台,第三次启动实例,此时应该成功创建世界,完美运行了。

    在这里插入图片描述

    如果启动过程中出现很多黄字,忽略即可,不影响运行。


5. 加入房间

  1. 使用 IP 地址加入

    ​ 执行完以上的操作后,你和你的小伙伴就已经可以通过输入你的IP地址加入游戏啦

    在这里插入图片描述

    在这里插入图片描述

    如果连不上,试试输入 IP地址:端口号,如 124.223.140.119:25565


  2. 使用域名加入

    a. 打开域名控制台,添加一条 SRV 记录,按下图格式填写。

    在这里插入图片描述

    其中,有以下几点需要注意的地方:

    • saikaisa.top 是我的域名,所以这个部分的内容需要替换成你自己的域名

    • 主机名 saikaisa.top 还可以改成 xxx.saikaisa.top ,其中xxx是你的二级域名

      例如,我填了 mc.saikaisa.top ,则游戏中输入 mc.saikaisa.top 即可加入我的世界;

    • 添加解析记录页面可能会与图中不同,以下还有一种添加格式:

      记录类型主机记录记录值
      SRV_minecraft._tcp5 0 25565 mc.saikaisa.top

    b. 现在,输入域名也可以加入游戏啦

    在这里插入图片描述



调整服务器设置以及添加 mod

  1. 更改服务器配置文件

    进入 mcsm 面板的控制台,在 “实例功能组” 板块中找到 “Forge 配置文件” 按钮,点击进入,浏览 [通用] server.properties 文件。

    以下选项可能需要调整:

    • 如果你或者你的小伙伴不是使用微软正版账号登录的,你需要将 enforce-secure-profileonline-mode 设置成 “否”,才能进入世界

    • server-port 为服务器端口号,默认为 25565,你可以改成别的(但是域名和防火墙也要跟着改)


  2. 添加 mod

    打开文件管理,进入 mod 文件夹,将你需要安装的 mod 全部上传进去。

    mod 上传时需要注意是不是 仅客户端 可安装;还需要注意 mod 是否兼容当前 Minecraft 版本和 Forge 版本。

    以上兼容性问题都可以在 MC中文百科 或者 CurseForge 查到。

至此,mc 服务器就搭建完成啦!



关键词:Minecraft Java mc 我的世界 开服 Forge 服务器 绑定域名 mod 联机 服主

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[vscode]使用cmake时将命令行参数传递给调试目标

一、简介 本文介绍了在vscode中使用cmake工具时,如何传递参数给编译目标的方法。 前提:使用vscodecmake编译C/C程序。 二、方法 在.vscode/目录下新建settings.json文件,并将待传底的参数写在 cmake.debugConfig里。 下面介绍了一个示例&a…

重磅!2014-2023七大顶刊中国学者排行榜出炉,施一公、颜宁位列前二

在科学领域,Cell、Nature和Science被公认为最顶尖的期刊,简称CNS。而在医学方面,新英格兰医学杂志(NEJM)、柳叶刀(Lancet)、美国医学会杂志(JAMA)以及英国医学期刊(BMJ)被誉为“四大医学顶刊”。这七大期刊上发表的论文,往往被看作…

平台工程:构建企业数字化转型的基石

有人说,平台工程(Platform Engineering),不过是新瓶装旧酒(DevOps)。 而Gartner 将平台工程列为 2024 顶级战略技术趋势之一。我国信通院也开始陆续制定与平台工程相关的技术标准。 随着数字化浪潮的席卷…

2024年软考计划开始了,你准备好了吗?

目录标题 2024年度计算机技术与软件专业技术资格(水平)考试工作计划计算机软考中级科目哪个含金量最高?报考流程和说明 2024年度计算机技术与软件专业技术资格(水平)考试工作计划 一、2024年度计算机软件资格考试(初级…

数学建模-多目标规划算法(美赛建模)

单目标优化的情况下,只有一个目标,任何两解都可以依据单一目标比较其好坏,可以得出没有争议的最优解。 多目标化与传统的单目标优化相对。多目标优化的概念是在某个情景中在需要达到多个目标时,由于容易存在目标间的内在冲突&…

MO干货 | shuffle执行计划解析(下篇)

作者:倪涛 MO产品布道师 目录 Part 1.如何处理不均匀数据? Part 2.Hybrid shuffle Part 3.Shuffle resue Part 4.Join reorder Part 5.总结 在《MO干货|shuffle执行计划解析(上篇)》中,我们分享了shu…

选课模块-01添加免费/收费选课

添加选课 界面原型 第一步:用户通过搜索课程、课程推荐等信息进入课程详情页面,点击马上学习进行学习 第二步:课程免费时可以直接加入我的课程表并且免费课程可以直接在线学习,免费课程默认一年有效期,到期需要申请续…

148个Chatgpt关键词汇总-有爱AI实战教程(二)

演示站点: https://ai.uaai.cn 技能模块 官方论坛: www.jingyuai.com 京娱AI 导读:在使用 ChatGPT 时,当你给的指令越精确,它的回答会越到位,举例来说,假如你要请它帮忙写文案,如…

C语言经典算法学习-4

文章目录 21.最大访客数22.中序式转后序式(前序式)23.后序式的运算24.洗扑克牌(乱数排列)25.Craps赌博游戏 21.最大访客数 说明:现将举行一个餐会,让访客事先填写到达时间与离开时间,为了掌握座…

2024年Vue3 面试题小总结

Vue3 面试题小总结 1. OptionsAPI 与 CompositionAPI 的区别? OptionsAPI: 选项式API,通过定义data、computed、watch、method等属性与方法,共同处理页面逻辑;缺点: 当组件变得复杂的时候,导致…

视频分割软件,到底哪一款才适合你?

在当今充满创意的数字时代,视频编辑已成为许多人表达想法、分享故事的重要手段。而在视频编辑的过程中,分割视频是一项关键而常见的任务,它能够让我们更精细地处理内容,使得最终的作品更为生动和引人入胜。然而,要想高…

揭秘财务数据分析的五力分析,轻松实现从会计财务到管理财务的华丽转身

在这个信息爆炸的时代,财务数据分析已经成为了企业和个人成功的关键。今天,就让我们一起揭开财务数据分析的神秘面纱,让你轻松掌握财务秘籍,成为财务高手! 一、财务数据分析,为何如此重要? 财…

访客到了官网就跳走,概率是官网颜值和体验出了问题。

很多小伙伴反馈官网ip不错,但是pv太少了,停留时间更少,这大概率是网站颜值和体验出问题了。 如果访客到了官网后就跳走,有可能是因为官网的颜值和用户体验出了问题。这种情况可能会导致访客对网站的第一印象不佳,从而选…

【spring】使用阿里Spring Initailiz创建项目

网络原因使用Spring Initailiz会出现超时。 那我们就换成阿里的 先看看spring官网的 网址:https://start.spring.io 使用一下阿里的 网址:https://start.aliyun.com/ 填写信息 都是java开发者,具体信息部介绍了。 选择组件 lombok spri…

OKHttpRetrofit

完成一个get请求 1.导入依赖 implementation("com.squareup.okhttp3:okhttp:3.14.")2.开启viewBinding android.buildFeatures.viewBinding true 3.加网络权限 和 http明文请求允许配置文件 <?xml version"1.0" encoding"utf-8"?> &l…

Kotlin:内联类(inline class)

点击查询内联类中文文档 点击查询内联类英文文档 简介 提醒&#xff1a;内联类仅在 Kotlin 1.3 之后版本可用 有时候&#xff0c;业务逻辑需要围绕某种类型创建包装器。然而&#xff0c;由于额外的堆内存分配问题&#xff0c;它会引入运行时的性能开销。此外&#xff0c;如果…

【嵌入式——QT】标准对话框

【嵌入式——QT】标准对话框 文件对话框颜色对话框字体对话框输入对话框消息框代码示例 文件对话框 QFileDialog 常用静态函数 getOpenFileName&#xff1a;选择打开一个文件&#xff1b;getOpenFileNames&#xff1a;选择打开多个文件&#xff1b;getSaveFileName&#xff1…

如何使用ArcGIS Pro生成带计曲线等高线

等高线作为常见的地图要素经常会被使用到&#xff0c;一般情况下生成的等高线是不带计曲线的&#xff0c;在某些情况下我们需要带计曲线的等高线&#xff0c;这里为大家介绍一下ArcGIS Pro生成带计曲线等高线的方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数…

13、设计模式之模板模式(Template)

一、什么是模板模式 模板模式是一种基于继承实现的设计模式&#xff0c;它是行为型的模式。 主要思想是将定义的算法抽象成一组步骤&#xff0c;在抽象类种定义算法的骨架&#xff0c;把具体的操作留给子类来实现。 通俗地说&#xff0c;模板模式就是将某一行为制定一个框架&…

vue3 实现一个tab切换组件

一. 效果图 二. 代码 文件 WqTab.vue: <template><div ref"wqTabs" class"wq-tab"><template v-for"tab in tabs" :key"tab"><div class"tab-item" :class"{ ac: tabActive tab.key }" c…
最新文章