一、前言

本篇文章以 fabric核心 来搭建服务器

搭建要求:

  1. Linux 服务器

  2. jre17+

  3. 开放25565端口

二、下载核心

1. 下载启动器

打开链接https://fabricmc.net/use/server/,选择对应版本的启动器(Minecraft和Loader的版本号必须得和客户端的一致),这里以1.20.4为例,复制安装器链接下载:

curl -OJ https://meta.fabricmc.net/v2/versions/loader/1.20.4/0.17.0/1.1.1/server/jar

2. 运行启动器

会自动生成相关服务器必备文件:

java -Xmx2G -jar fabric-server-mc.1.20.4-loader.0.17.0-launcher.1.1.1.jar nogui

3. 同意 EULA(最终用户许可协议)

修改 eula.txt 文件,将 false 替换为 true:

sed -i 's/eula=false/eula=true/' eula.txt

4. 放行25565端口

Ubuntu/Debian:

ufw allow 25565/tcp

CentOS:

firewall-cmd --add-port=25565/tcp --permanent
firewall-cmd --reload

5. 编写启动脚本

cat > start.sh <<'EOF'
#!/bin/bash
java -Xmx2G -jar fabric-server-mc.1.20.4-loader.0.17.0-launcher.1.1.1.jar nogui
EOF
chmod +x ./start.sh

6. 运启动脚本

./start.sh

出现如下内容就说明启动成功:

三、配置核心

1. 编辑配置文件 server.properties

vim server.properties 

1. 也可以将文件中的内容替换成下面的内容,方便后期的配置:

#Minecraft server properties
#Sat Jul 18 13:41:52 UTC 2026
# JVM监控,普通服务器无需开启
enable-jmx-monitoring=false
# RCON远程控制台端口,默认25575,不开RCON无需改动
rcon.port=25575
# 世界种子,空白则每次新建世界随机地形,填入数字固定地形
level-seed=
# 默认游戏模式:survival生存 / creative创造 / adventure冒险 / spectator旁观
gamemode=survival
# 是否允许使用命令方块,服务器推荐关闭防作弊
enable-command-block=false
# 服务器信息查询功能,关闭节省资源
enable-query=false
# 世界生成额外配置,默认空{}即可
generator-settings={}
# 强制聊天签名校验,离线服必须false,否则玩家无法发消息掉线
enforce-secure-profile=false
# 存档文件夹名称,所有地形、建筑、玩家数据存在该文件夹
level-name=world
# 服务器列表显示标语,可用§加数字实现彩色文字,例 §6Fabric1.20.4离线模组服
motd=A Minecraft Server
# Query查询端口,和游戏端口一致即可
query.port=25565
# 是否开启玩家互相伤害,false关闭PVP
pvp=true
# 是否生成村庄、地牢、要塞等自然建筑
generate-structures=true
# 方块更新连锁上限,默认数值无需修改
max-chained-neighbor-updates=1000000
# 游戏难度:peaceful和平 / easy简单 / normal普通 / hard困难
difficulty=easy
# 网络数据包压缩阈值,低配机器可改为512降低CPU占用
network-compression-threshold=256
# 单tick最大运行时间,超时判定服务器卡死,默认无需改动
max-tick-time=60000
# 是否强制玩家使用服务端资源包
require-resource-pack=false
# 使用系统原生网络传输,提升联机流畅度,保持true
use-native-transport=true
# 服务器最大同时在线人数
max-players=20
# 正版账号验证,离线/盗版开服必须改为false,否则无法连接
online-mode=false
# 是否对外展示服务器在线状态,保持true
enable-status=true
# 是否允许玩家飞行,生存服建议false,创造不受限制
allow-flight=false
# 初始禁用数据包,默认空白无需修改
initial-disabled-packs=
# RCON指令执行日志是否发送给OP管理员
broadcast-rcon-to-ops=true
# 客户端视距,数值越高加载区块越多、占用内存越高,低配6-8,高配10-12
view-distance=10
# 绑定服务器IP,留空监听全部网卡;填127.0.0.1仅本地访问
server-ip=
# 资源包弹窗提示文字
resource-pack-prompt=
# 是否开启下界地狱维度,false玩家无法传送地狱
allow-nether=true
# 玩家联机端口,云服务器防火墙/安全组需放行25565
server-port=25565
# RCON远程控制台开关,关闭更安全,不建议开启
enable-rcon=false
# 同步写入区块存档,减少地形损坏,保持true
sync-chunk-writes=true
# 资源包下载地址链接
resource-pack-id=
# OP管理员权限等级,4为最高可执行全部指令
op-permission-level=4
# 是否拦截代理/加速器IP,false允许玩家使用加速器联机
prevent-proxy-connections=false
# 是否隐藏在线玩家列表
hide-online-players=false
# 服务端资源包直链地址
resource-pack=
# 实体渲染距离百分比,100为默认,调低可降低卡顿
entity-broadcast-range-percentage=100
# 实体模拟距离,控制生物AI加载范围,低配可降至6-8
simulation-distance=10
# RCON登录密码,不开RCON无需填写
rcon.password=
# 玩家闲置自动踢出时间,单位分钟,0=不自动踢出
player-idle-timeout=0
# 是否强制所有人使用默认游戏模式
force-gamemode=false
# 客户端连接频率限制,0=无限制
rate-limit=0
# 是否开启极限模式,死亡直接封禁玩家账号
hardcore=false
# 白名单总开关,true仅名单内玩家能进入服务器
white-list=false
# 是否强制开启白名单,white-list=false时无效
enforce-whitelist=false
# 服务器控制台日志同步发送给在线OP
broadcast-console-to-ops=true
# 是否自动生成村民NPC
spawn-npcs=true
# 是否自动生成动物
spawn-animals=true
# 日志记录玩家连接IP,排查外挂有用
log-ips=true
# 函数数据包权限等级
function-permission-level=2
# 默认启用的数据包,vanilla原版数据包
initial-enabled-packs=vanilla
# 世界类型:minecraft:normal普通 / minecraft:flat超平坦
level-type=minecraft\:normal
# 聊天敏感词过滤配置文件
text-filtering-config=
# 是否生成怪物
spawn-monsters=true
# 出生点保护半径,0关闭出生保护,防止破坏主城
spawn-protection=16
# 资源包校验SHA1值
resource-pack-sha1=
# 世界边界最大范围,默认数值不用修改
max-world-size=29999984

再次启动服务器:

./start.sh

四、安装模组

一、安装核心依赖

1. 打开链接https://www.curseforge.com/minecraft/mc-mods/fabric-api/files/all,选择与Minecraft版本一致的 Fabric API(前置,所有模组依赖),并且客户端得与该 Fabric API 的版本一致,接着复制下载链接。

2. 创建并进入 mods 文件夹:

mkdir mods && cd mods

3. 下载 Fabric API:

wget https://mediafilez.forgecdn.net/files/6674/317/fabric-api-0.97.3%2B1.20.4.jar

二、安装模组

这里先区分一下三种模组:

① 双端模组Client & Server90% 内容模组,必须服务端 + 客户端都装

  • 比如:匠魂、Jade、储物模组、装备拓展、地图生成

  • 操作:服务端 mods 放一份,每个玩家客户端 mods 也要放完全相同版本

② 仅服务端模组Server Only只放服务器,客户端不用装

  • 比如:Lithium(锂,优化 CPU)、Starlight(光照)、FerriteCore(内存)、Spark(性能检测)

  • 优势:玩家客户端不用同步,减轻下载负担

③ 仅客户端模组Client Only绝对不能放进服务端 mods!只负责渲染、UI、光影、HUD

  • 比如:Mod Menu、高清修复 / Iris、小地图、物品提示、光影前置

  • 错误后果:服务端无图形渲染类,加载客户端代码直接崩溃

安装方法

  1. 下载好所需 mod 的 jar包

  2. 移动到 mods 文件夹中

  3. 重新启动服务器

五、连接服务器

1. 在游戏主页面进入 多人游戏:

2 . 点击 添加服务器:

dnijlzqqmrfxqwoo.png

3. 填写服务器地址:IP或域名 + 英文冒号 + 端口号(默认为25565)

5. 点击完成后再加入服务器即可。

六、常见问题

1. 版本不兼容:

vtmmqsizktlzxaid.png

原因:服务端与客户端的MC版本不一致。

解决方法:在客户端下载与服务端MC版本一致的MC进行游戏。

2. 无法连接至服务器(登录失败:无效会话)

gjumogfpwlmsmrnq.png

原因:服务器开启了正版账号验证(online-mode=true),但玩家用离线启动器(PCL2、HMCL 等离线账号)登录,Mojang 校验不通过直接拦截连接。

解决方法

server.properties 中的 online-mode=true 改为 online-mode=false, 再重启服务器:

sed -i 's/^online-mode=.*/online-mode=false/' server.properties