Minecraft服务器搭建相关文章已分开发布,此为本系列的第一篇。本文介绍了Minecraft JAVA Fabric端MOD服务器的基本搭建过程。

若Mermaid图表无法正常显示,刷新页面即可。

概览

目前服务器已无人问津,暂不考虑升版本,现在此文仅作为一个记录。

服务器地址:mc.goodnickname.cn

模式:自我定位为模组 生电 · 机械 服

版本:JAVA 1.19.2 Fabric

MOD:机械动力(create),农夫乐事(delight)和诸多辅助性mod

注意事项:

  • 客户端需安装相应MOD才能服务器
  • 服务器不定期开放,无白名单,无正版验证
  • 在机械动力没有新版的fabric支持前,暂不升级1.20

服务器

本次开服经历仅抱着试验的态度,若想要人数更多、更稳定、跑MOD的Minecraft服务器,请选择更强性能的物理服务器,本文仅供参考。

以下是FAQ:

  • 为什么选择笔记本?

    闲置不用,作为家庭x86服务器,刚好尝试搭建Minecraft服务端

  • 为什么选择Linux系统?
    配置老旧只能装Linux,而且Linux能提供更多的服务

目前Minecraft服务端运行在本地(旧笔记本上),存档定期会存到Aternos上的镜像服和腾讯云的“冷备份”服务器中。

电脑为2012年的ThinkPad X230,配置为4核8G,CPU i5-3230M,内存 两条DDR3 ,加装了SATA SSD。

系统为基于Debian的Deepin Linux 20.8 (19年为了体验Deepin装的,就一直没换)

$ uname -a
Linux deepin-server 5.15.77-amd64-desktop #1 SMP Wed Nov 9 15:59:34 CST 2022 x86_64 GNU/Linux

neofetch

  • 运行状态:

服务器峰值功耗在20W以内,高负载运行温度也基本在50多度,使用10年后依然能平稳运行。

系统盘换成SSD后,游戏不再崩溃,各服务的运行速度明显增加。

由于服务器还承担下载服务和Home Assistant服务,因此最多给MC开6GB内存,对于模组服少量用户也可以使用。

搭建过程

因为想要传统生电服的性能提高mod和后期加装机械动力这样的mod,于是选择了fabric端开服,一般来说这对服务器的性能要求很高,但介于玩家人数不多,也能正常运行。

JAVA环境

高版本Minecraft需要Java16以上的环境,这里选择直接安装jdk-18,debian系可以从Oracle官网下载 .deb

Java Archive Downloads - Java SE 18 (oracle.com)

wget https://download.oracle.com/java/18/archive/jdk-18.0.2.1_linux-x64_bin.deb

然后使用 dpkg 安装

sudo dpkg -i jdk-18.0.2.1_linux-x64_bin.deb

添加环境

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-18/bin/java  1100

将默认JAVA环境切换到jdk-18

sudo update-alternatives --config java

选择路径为 /usr/lib/jvm/jdk-18/bin/java 作为 /usr/bin/java

之后启动Minecraft服务端会自动选择JAVA 1.18

安装Minecraft Server

我们致力于构建比较vanilla的 生存 服务器,所以选择了Fabric 端用于安装辅助MOD

Fabric is a lightweight, experimental modding toolchain for Minecraft.
  1. 在Minecraft官网(或是官方启动器中)下载服务器 jar

官方:https://www.minecraft.net/en-us/download/server

版本存档:https://mcversions.net/

可不执行此步骤,之后通过Fabric Installer下载Minecraft服务器包

  1. 下载Fabric Installer

Fabric Installer 下载:https://fabricmc.net/use/server/

curl -o installer.jar https://maven.fabricmc.net/net/fabricmc/fabric-installer/0.11.1/fabric-installer-0.11.1.jar
  1. 运行Installer

创建Minecraft文件目录

mkdir -p ~/minecraft/mc-119-fabric
cd ~/minecraft/mc-119-fabric

安装MC服务端

# 运行 Fabric Installer
java -jar installer.jar server -mcversion 1.19.2 -downloadMinecraft

# 删除 Fabric Installer
rm installer.jar
  1. 启动服务器

参考 Installing a Fabric Server without a GUI

# 重命名 Jar 文件
mv server.jar vanilla.jar
mv fabric-server-launch.jar server.jar
echo "serverJar=vanilla.jar" > fabric-server-launcher.properties
 

同意EULA协议: Eula | Minecraft

echo "eula=true" > eula.txt

启动 Minecarft 服务器

java -jar server.jar nogui

首次启动时间较长,请耐心等待,当出现如下提示时即启动成功

[03:11:12] [Server thread/INFO]: Done (15.698s)! For help, type "help"

启动成功后会生成配置文件,确认可成功启动后,先输入 stop 关闭服务端。

修改 server.properties

参考wiki:server.properties - Minecraft Wiki,最详细的我的世界百科 (fandom.com)

主要修改以下几项:

#允许飞行
allow-flight=true
#游戏难度 困难
difficulty=hard
#设定函数的默认权限等级 建议更改为4 
function-permission-level=4
#服务器最大玩家数限制
max-players=10
#在线(正版)验证 开启后会禁止非正版用户登录
online-mode=false
#是否开启白名单
white-list=false

服务器端口默认为 25565 ,若不做SRV解析的话,使用默认就好。

启动脚本

如果不使用MCDR、MCSManager这种第三方管理工具或面板,那么可以新建个脚本方便启动Minecraft服务端。当然后文会介绍使用MCSManager和MCDR管理Minecraft服务端的方法。

参考:教程/架设服务器 - Minecraft Wiki,最详细的我的世界百科 (fandom.com)

编辑 run.sh

# ~/minecraft/mc-119-fabric/run.sh
java -Xmx6200M -jar server.jar nogui
  • 基础参数:

-Xms 初始内存大小,-Xmx 最大内存大小

  • 性能优化参数:
java -jar -Xms(视情况) -Xmx(视情况) -server -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M <jar文件> nogui

为了使服务端后台运行,可以使用虚拟屏幕 screen,基本操作为:

#建立新进程
screen -S mc119
#重新连接进程,如没有则新建
screen -r mc119
#列出进程
screen -ls
  • 将进程切到后台:Ctrl + A + D
  • 结束进程: kill 进程号即可,进程号由 screen -ls 查看

当然如果使用MCSM守护程序管理Minecraft服务端的话,便不需要使用screen命令了。