自学内容网 自学内容网

本地ubuntu主机搭建我的世界服务器并免费开启公网映射 结合MESM面板 chmlfrp 保姆级教学

本地ubuntu主机搭建我的世界forge服务器并免费开启公网映射 结合MESM面板 chmlfrp

这是一篇很完成的从ssh命令->配置java环境->安装MCS->部署服务器->开启公网映射的我的世界保姆级开服教程,可以慢慢食用ଘ(੭ˊ꒳ˋ)੭ 。

为什么选择forge服务器进行开服?

Minecraft我的世界服务端核心介绍 - MC开服教程1 - 哔哩哔哩 (bilibili.com)

第1步:安装SSH服务器

首先,你需要在Ubuntu系统上安装SSH服务器软件包。打开终端(可以使用快捷键Ctrl + Alt + T)并输入以下命令来安装openssh-server:

sudo apt update
sudo apt install openssh-server

安装完成后,SSH服务会自动启动。你可以使用以下命令来检查SSH服务的状态:

sudo systemctl status ssh

修改配置文件,允许用root访问:

sudo nano /etc/ssh/sshd_config

如果没有下面字段请在文件直接添加,前面不要加井号:

PermitRootLogin yes 

没有nano就安装nano:

apt install nano

保存文件并退出编辑器后,重启SSH服务使更改生效:

sudo systemctl restart ssh

在windows电脑可以在终端用ssh进行连接,或者说用vsc的ssh插件进行连接(推荐),或者其他的ssh方式。

ssh root@ip地址

问题

vsc远程连接造成的rg进程占满服务器资源。

在这里插入图片描述

解决方案为:打开设置,搜索 search.followSymlinks,将远程工作区对应设置置为 False 即可。

在这里插入图片描述

在这里插入图片描述

第2步:配置java环境

第一种方法(推荐)

第一种方法通过系统包进行配置(推荐,测试环境为ubuntu24.04)

安装java8和Java17

通过ubuntu的java管理工具,这两个环境可以随时切换:

sudo apt install openjdk-8-jdk
sudo apt install openjdk-17-jdk

安装好之后:

root@sumengxian-OptiPlex-3050:~# java --version
openjdk 17.0.12 2024-07-16
OpenJDK Runtime Environment (build 17.0.12+7-Ubuntu-1ubuntu224.04)
OpenJDK 64-Bit Server VM (build 17.0.12+7-Ubuntu-1ubuntu224.04, mixed mode, sharing)

通过命令切换java环境:

root@sumengxian-OptiPlex-3050:~# sudo update-alternatives --config java2 个候选项可用于替换 java (提供 /usr/bin/java)。

  选择       路径                                          优先级  状态
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      自动模式
  1            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      手动模式
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:

可以看到,这里不仅可以选择环境,还返回了java的位置,之后可以更加方便指定java版本来启动游戏。

第二种方法

通过从官网下载java包来进行环境配置,下面以java17为例子:

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(不过这种基础指令一般都会随系统一同安装)

解压后,配置环境变量:

nano /etc/profile# 编辑 profile 文件

在文件的最后新增如下几行:

 # 注意!下面指令中,你的文件夹名不一定是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
  1. 然后输入以下命令,重载该文件:

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

    java -version
    

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

    openjdk 17.0.12 2024-07-16
    OpenJDK Runtime Environment (build 17.0.12+7-Ubuntu-1ubuntu224.04)
    OpenJDK 64-Bit Server VM (build 17.0.12+7-Ubuntu-1ubuntu224.04, mixed mode, sharing)
    

第3步安装MCSManager 面板

官网地址:MCSManager | 开源免费,分布式,一键部署,支持 Minecraft 和 Steam游戏服务器的控制面板

输入MCSManager 面板的安装命令:

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

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

在这里插入图片描述

可以看到连接端口是23333,在http://ip地址:23333 可以访问到登录页面。

设置开机启动:

systemctl enable mcsm-{daemon,web}.service

启动面板:

systemctl start mcsm-{daemon,web}.service

停止面板:

systemctl stop mcsm-{daemon,web}.service

重启面板:

systemctl restart mcsm-{daemon,web}.service

在这里插入图片描述

在这里插入图片描述

第4步 部署我的世界服务器

1.下载 Forge

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

在这里插入图片描述

下载自己对应想要的服务器核心

2.上传服务器核心并运行

在这里插入图片描述

将以下代码复制进去,并上传服务器核心:

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

在这里插入图片描述

上传完成之后进入到控制台,应用实例设置->高级设置,复制工作路径:

在这里插入图片描述

在终端输入命令进入到对应的文件夹:

cd /opt/mcsmanager/daemon/data/InstanceData/35d13bef7aa940bba204fea21e9ea3c3

再执行刚刚复制的命令:

java -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -jar forge-1.20.1-47.3.0-installer.jar --installServer

执行完成之后,如果是低版本的服务器核心的话,启动命令应该是:

java -server -Xms1024M -Xmx4096M -jar forge-server.jar nogui

xms为最小内存,xmx是允许使用的最大内存

而在高版本中,执行安装完成之后会自动生成run.sh和run.bat,所以启动命令应该为:

bash run.sh

在这里插入图片描述

如果要服务器允许的内存占用大小,可以修改我的世界服务端根目录下的user_jvm_args.txt文件:

# Xmx and Xms set the maximum and minimum RAM usage, respectively.
# They can take any number, followed by an M or a G.
# M means Megabyte, G means Gigabyte.
# For example, to set the maximum to 3GB: -Xmx3G
# To set the minimum to 2.5GB: -Xms2500M

# A good default for a modded server is 4GB.
# Uncomment the next line to set it.
-Xms1024M# 最小占用内存,这里我设为1024M
-Xmx7168M# 最大占用内存,这里我设为7168M

run.sh 启动命令应该类似于这样,我加了nogui:

#!/usr/bin/env sh
# Forge requires a configured set of both JVM and program arguments.
# Add custom JVM arguments to the user_jvm_args.txt
# Add custom program arguments {such as nogui} to this file in the next line before the "$@" or
#  pass them to this script directly
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.20.1-47.3.0/unix_args.txt nogui "$@"

此时就可以点击开始启动我的世界服务器了:
在这里插入图片描述

启动之后发现停止了,是因为我们要修改一个文件,服务端配置->eula.txt->编辑设置为是 之后点保存:

在这里插入图片描述

此时再启动服务器就启动成功了,访问端口号默认是25565,可以自行修改。

3.设置定期任务

为了防止服务器崩溃,我们可以设定一些定期计划来重启服务器和清除一些实体,下面是参考:

在这里插入图片描述

4.mod安装

可以在这个我的世界网站中寻找资源:模组检索 - MC百科|最大的Minecraft中文MOD百科 (mcmod.cn)

其中有些mod没有提供下载,可以到对应的mod官网进行下载:
在这里插入图片描述

第5步 配置公网映射,使得服务器能够从外网访问

1.配置隧道

ChmlFrp | Panel v2 - 免费,高速,稳定,不限流量的端口映射工具。

ChmlFrp是一款不限流量,免费高速目稳定的端口映射工具,为您提供免费的内网穿透功能。可以用于MC联机,远程桌面,远程共享,游戏联机等任何需要用到公网IP的地方。

这个端口映射的方法优点是直接可以通过公网ip来访问服务器,缺点是免费的端口比较少,最多可以开五个我的世界服务器(其实也蛮多了)。至于为什么不选择zeroiter方案,是因为我学校的校园网无法设置路由器为全锥形nat,导致隧道无法打通。

首先在官网中创建自己的账号,在隧道列表中选择自己合适的节点进行配置:

在这里插入图片描述

比如说这样配置就可以从公网61687端口访问到我们的服务器:

在这里插入图片描述

在这里插入图片描述

2.安装frp

找到自己的对应的安装包进行下载:

wget https://www.chmlfrp.cn/dw/ChmlFrp-0.51.2_240715_linux_amd64.tar.gz

在这里插入图片描述

下载之后进行解压:

tar -xzvf ChmlFrp-0.51.2_240715_linux_amd64.tar.gz

解压之后打开里面的frpc.ini进行配置,在网页->配置文件中生成的文本复制替换掉原来的文本:

在这里插入图片描述

在这里插入图片描述

保存frpc.ini之后,为了让端口映射,每次开机都会自动启动,所以我们要配置一下开机自启动

创建文件,并编辑文件:

nano /lib/systemd/system/frpc.service

填入以下内容:

[Unit]
#服务描述
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#执行命令 这里对应是你自己的文件地址,不要搞错
ExecStart=/home/frpc/frpc -c /home/frpc/frpc.ini

[Install]
WantedBy=multi-user.target

编辑完,保存了之后,开启frpc:

sudo systemctl start frpc

设置开机自启动:

sudo systemctl enable frpc

当修改配置文件的时候,需要重启服务:

sudo systemctl restart frpc

查看服务是否启动成功:

root@sumengxian-OptiPlex-3050:/# sudo systemctl status frpc
● frpc.service - frpc service
     Loaded: loaded (/usr/lib/systemd/system/frpc.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-10-11 16:35:48 CST; 8h ago
   Main PID: 5958 (frpc)
      Tasks: 7 (limit: 9306)
     Memory: 18.2M (peak: 20.5M)
        CPU: 6.714s
     CGroup: /system.slice/frpc.service
             └─5958 /home/frpc/frpc -c /home/frpc/frpc.ini

此时就可以在刚刚配置好的公网ip和端口来访问自己的我的世界服务器了。

参考文章:

Linux下开机自动启动FRP - 爱吃猪的罐头鱼 - 博客园 (cnblogs.com)

Minecraft 1.20.1 Forge服务器保姆级搭建教程 (使用mcsm面板 | 两种启动方式)_mcsmanager panel怎么加mod-CSDN博客

Ubuntu中安装和配置SSH的完全指南_ubuntu ssh配置-CSDN博客


原文地址:https://blog.csdn.net/qq_74177889/article/details/142866581

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!