Ubuntu24 系统图形界面 Minecraft1.21 服务端配置文档

  1. 系统初始化
    1.1 更新系统
    在开始之前,确保系统是最新的:

sudo apt update
sudo apt upgrade -y
1.2 安装必要工具
安装一些常用的工具,如 curl、wget、unzip 等:
sudo apt install -y curl wget unzip


  1. 安装Node.js
    MCSM 需要 Node.js 环境。截至 2025年3月2日,Node.js 的最新稳定版本是 23.6.0,长期支持(LTS)版本是 22.x。以下是安装步骤:
    2.1 使用ubuntu官方包安装
    sudo apt install nodejs
    sudo apt install npm
    2.2 验证安装
    运行以下命令,确保 Node.js 和 npm 已正确安装:
    node -v
    npm -v

  1. 下载并配置 Minecraft 服务端
    3.1 下载服务端文件
    在 你的Windows电脑上下载以下文件:
    • Minecraft 服务端(server.jar)
    • Fabric 服务端(可选)
    • MEFRP Linux 版(内网穿透工具)
    3.2 将文件传输到 Ubuntu
    通过 U 盘或网络将文件传输到 Ubuntu 的根目录(例如 /home/ct/)。
    3.3 解压 MEFRP
    解压 MEFRP 文件:
    unzip mefrp-linux.zip -d ~/mefrp
    3.4 初次调试 Minecraft 服务端
    这里使用的是1.21,故也需安装Java21
    sudo apt install openjdk-21-jdk
    安装完成后使用Java -version验证
    cd到sserver.jar的位置运行 Minecraft 服务端,确保它能正常工作:
    java -Xmx4G -jar server.jar
    首次运行会失败以及生成一些配置文件和目录。这是正常的
    cd到根目录或server.jar同意 EULA 协议:
    nano ~/eula.txt
    将 eula=false 改为 eula=true,保存并退出。
    重新运行,成功运行后可以先关掉,输入:
    stop

  1. 配置 MEFRP 内网穿透
    4.1 运行 MEFRP
    进入 MEFRP 目录并运行:
    cd ~/mefrp
    chmod +x ./mefrpc
    按照mefrpc官网,你账号下的隧道快捷启动参数来启动,如:
    sudo ./mefrpc -t 0cc8b3057b5bc7435de12973cd990c60 -p 62638
    4.2 测试公网连接
    在其他电脑上使用公网 IP 和端口连接 Minecraft 服务端,确保能正常进入游戏。

  1. 设置开机自启
    5.1 创建 Systemd 服务文件
  2. 创建 mcserver.service 文件:
    sudo nano /etc/systemd/system/mcserver.service
  3. 输入以下内容:
    [Unit]
    Description=Minecraft Server
    After=network.target

[Service]
User=ct
WorkingDirectory=/home/ct/
ExecStart=/usr/bin/java -Xmx4G -jar /home/ct/server.jar
Restart=always

[Install]
WantedBy=multi-user.target
#注意:将 User=ct 和路径 /home/ct/ 替换为实际的用户名和路径。
3. 保存并退出。
4. 重新加载 Systemd 配置:
sudo systemctl daemon-reload
5. 启用并启动服务:
sudo systemctl enable mcserver.service
sudo systemctl start mcserver.service
6. 检查服务状态:
sudo systemctl status mcserver.service
5.2 设置 MEFRP 开机自启

  1. 创建 mefrp.service 文件:
    sudo nano /etc/systemd/system/mefrp.service
  2. 输入以下内容:
    [Unit]
    Description=MEFRP Service
    After=network.target

[Service]
User=ct
WorkingDirectory=/home/ct/MCserver/mefrpc
ExecStart=/home/ct/MCserver/mefrpc/mefrpc -t 0cc8b3057b5bc7435de12973cd990c60 -p 62638
Restart=always

[Install]
WantedBy=multi-user.target
#注意:将 User=ct 和路径/home/ct/MCserver/mefrpc替换为实际的用户名和路径。
3. 保存并退出。
4. 重新加载 Systemd 配置:
sudo systemctl daemon-reload
5. 启用并启动服务:
sudo systemctl enable mefrp.service
sudo systemctl start mefrp.service
6. 检查服务状态:
sudo systemctl status mefrp.service


  1. 安装MCSM
    6.1 下载MCSM
    下载 MCSM:
    sudo su -c "wget -qO- https://script.mcsmanager.com/setup_cn.sh | bash"
    启动方式

先启动面板守护进程。

这是用于进程控制,终端管理的服务进程。

systemctl start mcsm-daemon.service

再启动面板 Web 服务。

这是用来实现支持网页访问和用户管理的服务。

systemctl start mcsm-web.service

重启面板命令

systemctl restart mcsm-daemon.service
systemctl restart mcsm-web.service

停止面板命令

systemctl stop mcsm-web.service
systemctl stop mcsm-daemon.service


以下为配置简单控制(能在桌面通过图形化的方式就完成常用的基本控制)
7. 配置MC服务端
7.1 创建服务文件
systemd 服务文件用于定义如何启动和管理 Minecraft 服务端

  1. 打开终端,创建并编辑服务文件:
    sudo nano /etc/systemd/system/mcserver.service
  2. 在文件中输入以下内容
    [Unit]
    Description=Minecraft Server
    After=network.target

[Service]
ExecStart=/usr/bin/java -Xmx4G -jar /home/ct/MCserver/server.jar nogui
WorkingDirectory=/home/ct/MCserver
Restart=always
User=ct
Group=ct

[Install]
WantedBy=multi-user.target
o ExecStart:启动 Minecraft 服务端的命令。
o WorkingDirectory:Minecraft 服务端的工作目录。
o User 和 Group:运行服务的用户和组(替换为你的用户名)。
o Restart=always:确保服务崩溃后自动重启

重新加载配置:
sudo systemctl daemon-reload
启动服务:
sudo systemctl start mcserver.service
检查服务状态:
sudo systemctl status mcserver.service
如果显示 active (running),说明服务已成功启动
将 mcserver.service 设置为开机自启
启用开机自启:
sudo systemctl enable mcserver.service
验证是否启用成功:
sudo systemctl is-enabled mcserver.service
如果显示 enabled,说明开机自启已成功设置
7.2.确保 sudo 不需要密码
如果你不希望每次运行脚本时都输入密码,配置 sudo 免密码执行 systemctl 命令。
步骤:

  1. 打开 sudoers 文件:
    sudo visudo
  2. 在文件末尾添加以下内容:
    ct ALL=(ALL) NOPASSWD: /bin/systemctl enable mcserver.service, /bin/systemctl disable mcserver.service, /bin/systemctl is-enabled mcserver.service
    将 ct 替换为你的用户名

7.3 创建管理服务的脚本
创建一个脚本用于管理 mcserver.service 的开机自启:
nano ~/MCserver/easy/mcserver-control.sh
输入以下内容:
#!/bin/bash

SERVICE_NAME="mcserver.service"

ACTION=$(zenity --list
--title="管理 mcserver.service"
--text="请选择操作:"
--column="操作" "启用开机自启" "禁用开机自启" "检查状态")

case $ACTION in
"启用开机自启")
sudo systemctl enable $SERVICE_NAME
zenity --info --text="已启用 $SERVICE_NAME 的开机自启。"
;;
"禁用开机自启")
sudo systemctl disable $SERVICE_NAME
zenity --info --text="已禁用 SERVICENAME";;"")SYSTEMCTLSTATUS=SERVICE_NAME 的开机自启。" ;; "检查状态") SYSTEMCTL_STATUS=(sudo systemctl is-enabled SERVICENAME)zenityinfotext="SERVICE_NAME) zenity --info --text="SERVICE_NAME 的当前状态:$SYSTEMCTL_STATUS"
;;
*)
zenity --error --text="无效的选择。"
;;
Esac
chmod +x ~/MCserver/easy/mcserver-control.sh
7.4 创建脚本的桌面快捷方式
创建 .desktop 文件:
nano ~/桌面/mcserver-control.desktop
在文件中输入以下内容:
[Desktop Entry]
Version=1.0
Type=Application
Name=管理 mcserver.service
Comment=控制 mcserver.service 的开机自启
Exec=/home/ct/MCserver/easy/mcserver-control.sh
Icon=utilities-terminal
Terminal=false
Categories=Utility;
保存并退出。

  1. 赋予执行权限并标记为可信任:
    chmod +x ~/桌面/mcserver-control.desktop
    gio set ~/桌面/mcserver-control.desktop metadata::trusted true

8.配置Mefrpc
8.1安装 screen:
screen 是一个终端复用工具,可以让进程在后台运行,即使关闭终端也不会中断。
安装命令:
sudo apt install screen
8.2创建启动脚本:
1.在 mefrpc 目录下创建 start-mefrpc.sh 脚本:
nano /home/ct/MCserver/mefrpc/start-mefrpc.sh
脚本内容:
#!/bin/bash
cd /home/ct/MCserver/mefrpc
screen -L -Logfile mefrpc.log -dmS mefrpc ./mefrpc -t 0cc8b3057b5bc7435de12973cd990c60 -p 62638
sleep 5 # 等待 screen 会话启动

screen -L -Logfile mefrpc.log:将 screen 会话的输出保存到日志文件。
sleep 5:等待 screen 会话启动,确保 mefrpc 有足够时间运行。

2.赋予脚本执行权限:
chmod +x /home/ct/MCserver/mefrpc/start-mefrpc.sh
8.3通过 /etc/rc.local 设置start-mefrpc.sh开机自启
注意:不能使用服务的方式设置开机自启,mefrp开机启动后会莫名被反复关闭

  1. 创建或编辑 /etc/rc.local 文件
    打开 /etc/rc.local 文件:
    sudo nano /etc/rc.local
    添加以下内容:
    #!/bin/bash
    su - ct -c "/home/ct/MCserver/mefrpc/start-mefrpc.sh"
    exit 0
    su - ct -c:以 ct 用户身份运行脚本。
    exit 0:确保脚本正常退出。
    保存并退出(按 Ctrl + O,回车,然后按 Ctrl + X)。

  2. 赋予 /etc/rc.local 执行权限
    赋予执行权限:
    sudo chmod +x /etc/rc.local
    验证权限:
    ls -l /etc/rc.local
    输出应显示 -rwxr-xr-x(755 权限)。

  3. 确保 rc-local.service 已启用
    检查 rc-local.service 状态:
    systemctl status rc-local.service
    如果显示 active (running),说明已启用。
    如果显示 inactive (dead),需要手动启用:
    sudo systemctl enable rc-local.service
    sudo systemctl start rc-local.service


  1. 配置图形化控制MC服务端当前状态(运行中/关闭中)的桌面快捷方式
    9.1 安装 zenity
    确保系统已安装 zenity,用于创建图形化对话框。
    sudo apt update
    sudo apt install zenity
  2. 创建控制脚本
    创建一个脚本 (/home/ct/MCserver/control_mc_server.sh),用于控制 MC 服务端的状态。
    nano /home/ct/MCserver/control_mc_server.sh
    脚本内容:
    #!/bin/bash

检查 mcserver.service 的状态

SERVICE_STATUS=$(systemctl is-active mcserver.service)

将状态转换为中文

if [ "$SERVICE_STATUS" = "active" ]; then
STATUS="MC服务端正在运行"
ACTIONS=("停止" "重启")
else
STATUS="MC服务端已关闭"
ACTIONS=("启动")
fi

使用 zenity 创建图形化对话框

ACTION=$(zenity --list
--title="MC服务端控制"
--text="当前状态: STATUS" \ --column="操作" "{ACTIONS[@]}"
--width=300 --height=200)

根据用户选择执行操作

case ACTION in "启动") sudo systemctl start mcserver.service # 检查服务是否成功启动 START_STATUS=(systemctl is-active mcserver.service)
if [ "START_STATUS" = "active" ]; then zenity --info --title="MC服务端" --text="MC服务端已启动" --width=300 --height=100 else zenity --error --title="MC服务端" --text="MC服务端启动失败,请检查日志" --width=300 --height=100 fi ;; "停止") sudo systemctl stop mcserver.service # 再次检查状态以确保服务已停止 STOP_STATUS=(systemctl is-active mcserver.service)
if [ "$STOP_STATUS" = "inactive" ]; then
zenity --info --title="MC服务端" --text="MC服务端已停止" --width=300 --height=100
else
zenity --error --title="MC服务端" --text="无法停止MC服务端,请检查日志" --width=300 --height=100
fi
;;
"重启")
sudo systemctl restart mcserver.service
zenity --info --title="MC服务端" --text="MC服务端已重启" --width=300 --height=100
;;
*)
# 用户取消操作
exit 0
;;
esac
保存并退出编辑器。

  1. 使脚本可执行
    为脚本添加可执行权限:
    chmod +x /home/ct/MCserver/control_mc_server.sh

  2. 创建桌面快捷方式
    创建一个桌面快捷方式文件 (~/桌面/MC_Control.desktop)。
    nano ~/桌面/MC_Control.desktop
    文件内容:
    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=MC服务端控制
    Exec=/home/ct/MCserver/control_mc_server.sh
    Icon=utilities-terminal
    Terminal=false
    保存并退出编辑器。

  3. 标记快捷方式为可信任
    使用 gio set 命令将快捷方式标记为可信任:
    gio set ~/桌面/MC_Control.desktop metadata::trusted true


10.配置图形化控制 mefrpc 是否开机启动的桌面快捷方式

  1. 创建控制脚本
    在 /home/ct/MCserver/mefrpc/ 目录下创建控制脚本 (control_mefrpc_autostart.sh)。
    nano /home/ct/MCserver/mefrpc/control_mefrpc_autostart.sh
    脚本内容:
    #!/bin/bash

检查 /etc/rc.local 是否包含 mefrpc 启动命令

RC_LOCAL="/etc/rc.local"
MEFRPC_CMD='su - ct -c "/home/ct/MCserver/mefrpc/start-mefrpc.sh"'

检查是否已启用开机启动

if grep -Fxq "MEFRPCCMD""MEFRPC_CMD" "RC_LOCAL"; then
AUTOSTART_STATUS="已启用"
ACTIONS=("禁用开机启动")
else
AUTOSTART_STATUS="已禁用"
ACTIONS=("启用开机启动")
fi

使用 zenity 创建图形化对话框

ACTION=$(zenity --list
--title="mefrpc 开机启动控制"
--text="当前开机启动状态: AUTOSTART_STATUS" \ --column="操作" "{ACTIONS[@]}"
--width=300 --height=200)

根据用户选择执行操作

case ACTION in "启用开机启动") # 在 /etc/rc.local 中添加启动命令 if ! grep -Fxq "MEFRPC_CMD" "$RC_LOCAL"; then
sudo sed -i "/^exit 0/i MEFRPCCMD""MEFRPC_CMD" "RC_LOCAL"
fi
zenity --info --title="mefrpc" --text="已启用 mefrpc 的开机启动" --width=300 --height=100
;;
"禁用开机启动")
# 从 /etc/rc.local 中删除启动命令
if grep -Fxq "MEFRPCCMD""MEFRPC_CMD" "RC_LOCAL"; then
sudo sed -i "|^MEFRPCCMDd""MEFRPC_CMD|d" "RC_LOCAL"
fi
zenity --info --title="mefrpc" --text="已禁用 mefrpc 的开机启动" --width=300 --height=100
;;
*)
# 用户取消操作
exit 0
;;
esac
保存并退出编辑器。

  1. 使脚本可执行
    为脚本添加可执行权限:
    chmod +x /home/ct/MCserver/mefrpc/control_mefrpc_autostart.sh

  2. 创建桌面快捷方式
    创建一个桌面快捷方式文件 (~/桌面/mefrpc_Autostart_Control.desktop)。
    nano ~/桌面/mefrpc_Autostart_Control.desktop
    文件内容:
    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=mefrpc 开机启动控制
    Exec=gnome-terminal -- bash -c "/home/ct/MCserver/mefrpc/control_mefrpc_autostart.sh; exit"
    Icon=utilities-terminal
    Terminal=false
    保存并退出编辑器。

  3. 标记快捷方式为可信任
    使用 gio set 命令将快捷方式标记为可信任:
    gio set ~/桌面/mefrpc_Autostart_Control.desktop metadata::trusted true
    如果 gio set 无效,可以右键点击快捷方式,选择“属性”,在“权限”选项卡中勾选“允许执行文件作为程序”。


  1. 配置图形化控制 mefrpc 当前状态(运行中/关闭中)的桌面快捷方式

  2. 创建控制脚本
    在 /home/ct/MCserver/mefrpc/ 目录下创建控制脚本 (control_mefrpc_status.sh)。
    nano /home/ct/MCserver/mefrpc/control_mefrpc_status.sh
    脚本内容:
    #!/bin/bash

检查 mefrpc 是否在运行

if screen -list | grep -q "mefrpc"; then
STATUS="mefrpc 正在运行"
ACTIONS=("停止" "重启" "查看启动代码" "修改启动代码")
else
STATUS="mefrpc 已关闭"
ACTIONS=("启动" "查看启动代码" "修改启动代码")
fi

使用 zenity 创建图形化对话框

ACTION=$(zenity --list
--title="mefrpc 状态控制"
--text="当前状态: STATUS" \ --column="操作" "{ACTIONS[@]}"
--width=300 --height=200)

根据用户选择执行操作

case ACTION in "启动") /home/ct/MCserver/mefrpc/start-mefrpc.sh zenity --info --title="mefrpc" --text="mefrpc 已启动" --width=300 --height=100 ;; "停止") screen -S mefrpc -X quit zenity --info --title="mefrpc" --text="mefrpc 已停止" --width=300 --height=100 ;; "重启") screen -S mefrpc -X quit /home/ct/MCserver/mefrpc/start-mefrpc.sh zenity --info --title="mefrpc" --text="mefrpc 已重启" --width=300 --height=100 ;; "查看启动代码") # 显示当前启动代码 START_CODE=(grep -oP '(?<=screen -L -Logfile mefrpc.log -dmS mefrpc ).' /home/ct/MCserver/mefrpc/start-mefrpc.sh)
zenity --info --title="mefrpc 启动代码" --text="当前启动代码:\nSTART_CODE" --width=400 --height=200 ;; "修改启动代码") # 获取当前启动代码 CURRENT_CODE=(grep -oP '(?<=screen -L -Logfile mefrpc.log -dmS mefrpc ).
' /home/ct/MCserver/mefrpc/start-mefrpc.sh)
# 使用 zenity 输入新启动代码
NEW_CODE=(zenity --entry \ --title="修改 mefrpc 启动代码" \ --text="当前启动代码:\nCURRENT_CODE"
--entry-text="CURRENT_CODE" \ --width=400) if [ -n "NEW_CODE" ]; then
# 更新启动脚本中的启动代码
sed -i "s|screen -L -Logfile mefrpc.log -dmS mefrpc .*|screen -L -Logfile mefrpc.log -dmS mefrpc NEW_CODE|" /home/ct/MCserver/mefrpc/start-mefrpc.sh zenity --info --title="mefrpc" --text="启动代码已更新为:\nNEW_CODE" --width=400 --height=200
else
zenity --error --title="mefrpc" --text="未输入新的启动代码,更新取消" --width=300 --height=100
fi
;;
*)
# 用户取消操作
exit 0
;;
esac
保存并退出编辑器。
2. 使脚本可执行
为脚本添加可执行权限:
chmod +x /home/ct/MCserver/mefrpc/control_mefrpc_status.sh
3. 创建桌面快捷方式
创建一个桌面快捷方式文件 (~/桌面/mefrpc状态控制.desktop)。
nano ~/桌面/mefrpc状态控制.desktop
文件内容:
[Desktop Entry]
Version=1.0
Type=Application
Name=mefrpc状态控制
Exec=gnome-terminal -- bash -c "/home/ct/MCserver/mefrpc/control_mefrpc_status.sh; exit"
Icon=utilities-terminal
Terminal=false
保存并退出编辑器。
4. 标记快捷方式为可信任
使用 gio set 命令将快捷方式标记为可信任:
gio set ~/桌面/mefrpc状态控制.desktop metadata::trusted true


  1. 配置配置 MCSM 的桌面快捷方式
  2. 创建桌面快捷方式
    创建一个桌面快捷方式文件 (~/桌面/MCSM.desktop)。
    nano ~/桌面/MCSM.desktop
    在文件中输入以下内容:
    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=MCSM 管理页面
    Exec=xdg-open http://localhost:23333/#/
    Icon=web-browser
    Terminal=false
    保存并退出编辑器。
  3. 标记快捷方式为可信任
    使用 gio set 命令将快捷方式标记为可信任:
    gio set ~/桌面/MCSM.desktop metadata::trusted true