把整合包服务端文件解压到 steam 用户目录,在 GSManager 新建实例,属性选 mc、填入解压路径、端口填 25565,面板补全 mod 加载器并拉起 Java 进程,玩家用同一版本整合包客户端加入。

◆ 服务端进程与 TPS

Minecraft 服务端是 Java 程序,游戏逻辑集中在主线程,实体、区块与 AI 的处理逐 tick 串行执行,看单核性能与内存容量

服务端每秒执行最少 20 个 tick,tick 即游戏逻辑的最小时间单位;TPS 为每秒实际执行的 tick 数,低于 20 时世界方块回弹、动作延迟与卡顿。查看命令:Forge 与 NeoForge 为 /forge tps,Paper 与 Purpur 为 /tps。

新版本的 Java 版在客户端把渲染层由 OpenGL 迁移到 Vulkan,渲染指令的处理可分散到多个 CPU 核心

◆ 整合包的服务端与客户端

部分整合包作者不单独提供服务端包,只给出一个文件如 mcpkg 或 zip,其中的 mod 不区分客户端与服务端。客户端专用 mod 放进服务端会在启动时报错或运行中崩溃,需先拆分。

判断 mod 属于哪一侧看元数据:Forge 与 NeoForge 的 mods.toml 中有 side 与 clientSideOnly 声明,Fabric 的 fabric.mod.json 中 environment 为 client 表示客户端专用。

可用 GitHub 上的 ServerPackCreator 工具从整合包生成服务端包,工具会剔除客户端专用 mod 并生成启动脚本。

玩家客户端需使用同一整合包与同一版本进入,加载器版本不一致时会连接失败。

◆ 端口

Minecraft Java 版默认端口 25565,走 TCP,客户端直连格式为 服务器地址:25565。服务器防火墙需放行 25565/TCP,云服务器需在安全组放行同端口;同网络内用内网地址直连

◆ 部署服务端

把整合包服务端压缩包解压到 steam 用户目录下

在 GSManager 新建实例,属性选 mc,把解压后的目录路径填入实例,端口填 25565,保存后启动;面板会识别整合包使用的加载器Forge、NeoForge 或 Fabric并补全安装,并自动运行 Java 程序。

首次启动会因未同意 EULA 而退出,服务端目录下生成 eula.txt,把其中的 eula=false 改为 eula=true 再启动;整合包首次启动要生成配置与索引,耗时会长一些,日志输出 Done 表示加载完成。

启动失败查看实例终端与 logs/latest.log,常见原因为加载器与整合包版本不符,mod依赖错误,客户端服务端mod混淆。

◆ 启动命令与内存

实例的启动命令可加入 JVM 参数,固定内存并指定 GC:

java -Xms16G -Xmx16G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -jar server.jar nogui

-Xms 与 -Xmx 设为同值,避免堆在运行中伸缩;内存值按整合包规模调整,示例为 16G。vanilla 与 Paper 用 -jar server.jar 启动;Forge 与 NeoForge 生成的服务端以 run.sh 或 unix_args.txt 启动,JVM 参数加在同一行。社区另有整套面向 Minecraft 的 JVM 参数如Aikar 参数可直接使用。

◆ 常见报错

mod 加载失败多数为依赖问题:缺少前置 mod,或前置 mod 版本不在要求的区间内,日志会给出缺失的 mod 名与要求版本,按提示补齐对应版本。

启动崩溃并提示缺少客户端专用类,多为客户端 mod 混进服务端 mods 目录,把对应 mod 移出即可。

两类报错都在实例终端、logs/latest.log 与 crash-reports 目录中定位,日志中的 mod 名可直接用于检索。