Linux 环境下的我的世界 1.20.1Fabric 服务器搭建流程及服务器优化方法

Linux 环境下的我的世界 1.20.1Fabric 服务器搭建流程

原文是Lark文档:https://f20smg0d1z.larksuite.com/docx/Pliadobq6oG004xYQW1uIK3Asze?from=from_copylink
如果有任何看不太清的地方建议在原文查看。

我使用的是 4 核 18G 的腾讯云服务器,之前有过两次 mc 服务器的搭建经验以及一两次的其他游戏的服务器经验,这次用朋友的电话号蹭了个新用户优惠所以又给自己的朋友们开了一周目的 mc 服务器。每次搭建服务器之间间隔的时间都过于长了,而且自己对 linux 系统的操作其实并不精通,所以每次都得从头在网上搜集教程,这个过程真的很讨厌。于是这次汇总了一个搭建流程,供自己将来也供其他有需要的人使用。

本流程只介绍服务器搭建的过程,至于搭建完成后如何添加 mod,更改 mod 配置,添加数据包等操作则并不在本流程介绍的范围内(可能以后会添加)。

我本次使用的是 fabric-server-mc.1.20.1-loader.0.15.7-launcher.1.0.0.jar 作为服务端,mc 版本为 1.20.1,服务器运行系统为 Linux OpenCloudOS。

查看公网 IP

公网 IP 为你从外界连接到服务器时所需要使用的 IP 地址,会作为你的 mc 服务器地址对外显示。

在这里插入图片描述

使用的系统

其他的如 CentOS,Debian,Ubuntu 等都属于 Linux 系统

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

重置密码

重置密码为重置的 root 用户(即管理员用户)的密码。

在这里插入图片描述

在防火墙或者安全组中开放端口

23333,24444,25565

PS: 轻量应用型服务器无法使用安全组只能使用防火墙

在这里插入图片描述

使用 root 账号登陆服务器

这里使用的远程管理软件为 putty,并用 winscp 作为远程文件管理的辅助

在这里插入图片描述

Java 安装

  1. 使用 java -version 检查是否已经安装 java 及其版本,如果为 command not found 说明没有安装 java。
  2. 使用 yum install java-17-openjdk 进行安装(也可以安装其他版本的 java, 使用 yum search java 搜索 java 的版本)。
  3. 再次使用 java -version 检查是否安装完成。

在服务器上安装 mcsmmanager

mcsm 是最近几年出现的免费且开源的服务器实例控制平台,能帮助服务器管理者更好地控制并更改服务器的内容与运行。

Github 界面:GitHub - h5mcbox/MCSManager-1: 轻量级,开箱即用,多实例和支持 Docker 的 Minecraft 服务端管理面板

自动安装

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

使用如上指令进入脚本安装,如果无法识别该指令则转为手动安装。

手动安装

这一块是从某个 CSDN 的大佬那里抄来的,但我没找到自己的浏览记录,所以这里就不放参考链接了。

# 切换到安装目录,没有此目录请执行 mkdir /opt/
cd /opt/
# 下载运行环境(已有 Node 14+ 可忽略)
wget https://npm.taobao.org/mirrors/node/v14.17.6/node-v14.17.6-linux-x64.tar.gz
# 解压文件
tar -zxvf node-v14.17.6-linux-x64.tar.gz
# 链接程序到环境变量中
ln -s /opt/node-v14.17.6-linux-x64/bin/node /usr/bin/node
ln -s /opt/node-v14.17.6-linux-x64/bin/npm /usr/bin/npm
 
# 准备安装目录
mkdir /opt/mcsmanager/
cd /opt/mcsmanager/
 
# 下载面板端(Web)程序
git clone https://github.com/MCSManager/MCSManager-Web-Production.git
# 重命名文件夹并进入
mv MCSManager-Web-Production web
cd web
# 安装依赖库
npm install --registry=https://registry.npm.taobao.org
 
# 返回上级目录
cd ..
# 下载守护进程(Daemon)程序
git clone https://github.com/MCSManager/MCSManager-Daemon-Production.git
# 重命名文件夹并进入
mv MCSManager-Daemon-Production daemon
cd daemon
# 安装依赖库
npm install --registry=https://registry.npm.taobao.org
 
# 安装nano编辑器
apt install nano

开启 mcsm

# 先启动面板守护进程。
# 这是用于进程控制,终端管理的服务进程。
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

或者在你自己的电脑上使用浏览器输入 IP Address:23333 也可以访问 mcsm。

之后创建一个管理员账号,跟随创建服务器引导。

在这里插入图片描述

启动命令设置:

java -Xmx12G -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -jar fabric-server-mc.1.20.1-loader.0.15.7-launcher.1.0.0.jar nogui

在这里插入图片描述

配置文件表:

在这里插入图片描述

第一次开启服务器之前这里不会有任何文件,在第一次开启服务器(必定失败)之后需要打开 eula 文件并将是否统一 EULA 协议选项调为“是”,才能成功开启服务器。

在这里插入图片描述

第一次开启服务器会耗时相当长的时间创建出生点周围的区块,请耐心等待。在出现 Done 之前,服务器都不能算作成功开启。

在这里插入图片描述

成功启动服务器后,客户端的多人游戏中应该就可以通过服务器 IP 地址进行连接了。

非必要操作

以下为能有效改善服务器运行的但并非十分必要的操作

添加 SWAP 文件以增加虚拟内存

MC 服务端,特别是有大量 mod 的服务端,运行时需要分配给大量的内存资源。但同时,服务端的流畅运行也不是分配越多资源就越好,而是同时也需要足够的 CPU 单核性能(https://paper-chan.moe/paper-optimization/#tick-rates)。服务器的物理内存也不能全部分配给 mc 服务端,因为服务器本身的系统运行就需要一定的内存资源。一般来说,12G 的内存足够有大量 mod 的服务端运行。

但有些时候,服务端在持续运行很长时间或者有大量玩家同时游玩时,服务端占用的内存资源可能会超出分配的资源,挤占服务器本身系统运行所需的资源并最终导致服务器内存溢出卡死。这时就只能重启整个服务器了,而这通常会消耗不少时间。

使用 SWAP 分配虚拟内存能有效缓解上述问题。虚拟内存会在物理内存占用较满时才启用,虽然其速度慢很多,但至少在物理内存溢出时不会致使服务器直接卡死,给予管理者进行处理的时间与机会,同时也至少不会导致 mc 服务端直接关闭,从而留存玩家。

以下是创建 SWAP 的方法,所有操作以 root 权限在服务器的控制台进行

在当前位置创建决定 swap 大小的文件

dd if=/dev/zero of=/mnt/swapfile bs=1MB count=1024

以上意味着在当前目录创建/mnt/swapfile 目录与文件,并设置大小为 1024,单位为 1MB,即分配了 1GB 的硬盘空间作为“虚拟内存”。分配的虚拟内存大小根据你的喜好以及服务器剩余硬盘空间大小决定,一般建议不超过 8g,太多了也用不上。

在刚才的文件的基础上建立 swap

mkswap /mnt/swapfile

开启 swap

swapon /mnt/swapfile

至此,swap 应该就创建完毕了,后面是检验的方法以及一些设置。

查看 swap 状态

swapon -s

查看内存状态

free -m

设置服务器重启后有效

vim /etc/rc.local

如果有 swapoff -a, 则改为 swapon -a.

vim /etc/fstab

把以下命令添加到最后一行

/mnt/swapfile swap swap defaults 0 0

如下图

在这里插入图片描述

查看并设置 swappiness 值

cat /proc/sys/vm/swappiness

此时会显示一个数字,代表 swappiness 的值,这个值越大表示越会更积极地使用 swap 的虚拟内存。

·sysctl vm.swappiness=30

如上命令用来更改 swappiness 的值,我这里默认值是 20,所以改高到了 30,这个值根据你自己的使用体验来调整。

设置生效

重启服务器,以上所做的所有设置就会生效。

关闭 swap 分区

swapoff /data/swap
swapoff -a >/dev/null

使用生成的优化启动脚本

Minecraft Flags Generator - Birdflop

Start Script Generator | PaperMC Docs

Paper chan’s Little Guide to Minecraft Server Optimization!

前两个为脚本生成器,后一个为如何优化服务端运行的详细教程。

这些生成的脚本本来是给 Paper 及其他插件端 MC 服务器使用的,但 Fabric 和 Forge(我没试过)也能用。

以第一个生成器为例。

更改服务器启动文件名

在这里插入图片描述

将默认值更改为你自己启动服务器时使用的 jar 文件,这个文件名通常在 mcsm 中高级实例设置中的启动命令中可以找到。也可以去 mcsm 安装的实例目录底下找到文件本体。

更改服务器运行系统环境

在这里插入图片描述

这里是 Linux,如果你使用其他系统可以根据性地更改。

插件端

在这里插入图片描述

这里设置的是插件端的种类,如果你的服务器不是插件端,则默认的 paper 就可以。

Flags

在这里插入图片描述

Flags 是网上各处神仙总结的能优化服务端运行的各种参数设置。“none”为 mc 默认的不进行任何优化的启动命令。这里的话我选的是用的较为普遍的 Aikar’s Flags。

配置

在这里插入图片描述

使用 GUI 那里对应–nogui,与其描述文字刚好相反,启用时将不会显示 mc 内置的服务器管理 GUI,建议启用。其他的都建议不启用,自动重启功能 mcsm 中也有。

内存

在这里插入图片描述

设置合适的分配给服务端的内存值,我这里是 12G。

脚本与启动命令

在这里插入图片描述

这里生成的即为整个脚本,你可以全部复制并在启动文件的相同目录下创建启动脚本,然后让 mcsm 使用启动脚本而非启动命令来启动服务端。你也可以复制红框标出的命令到 mcsm 的启动命令一栏。我使用的是后者。

在这里插入图片描述

将生成的命令复制到 mcsm 的高级实例设置中的启动命令中即可。

其他参考

mcmod 网站:MC 百科 | 最大的 Minecraft 中文 MOD 百科

mcsm 文档:
https://docs.mcsmanager.com/zh_cn/
https://mcsm.imlazy.ink/

结语

感谢各位阅读与参考,如果有疑问欢迎留言。

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值