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
- 运行状态:
服务器峰值功耗在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.
- 在Minecraft官网(或是官方启动器中)下载服务器
jar
包
可不执行此步骤,之后通过Fabric Installer下载Minecraft服务器包
- 下载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
- 运行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
- 启动服务器
参考 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
命令了。