Skip to content

如何开好服务器?

无论你是否了解 Minecraft 服务器,这篇教程都会带你快速上手开设 Java 版服务器,供社团或朋友一起游玩。不要担心,这很简单!

Minecraft服务器(Minecraft Server)可以使玩家在线或通过本地局域网络和其他玩家一起玩Minecraft。在游戏内部,游戏为单人游戏运行服务器,这样做是为了使单人游戏体验与多人游戏体验保持一致,并使得对游戏所做的更改(例如错误修复)既适用于单人游戏又适用于多人游戏。 –Minecraft WIKI

Minecraft 的单人和服务器世界都运行在服务器上,但两者仍有区别,尤其在非原版环境中。遇到异常问题时,别忽略这一点。

Minecraft 单人游戏是否也运行在服务器上?

Minecraft Java 版需要 Java 才能运行。不同游戏版本需要不同的 Java 版本,部分模组也有特定要求。版本对照和下载地址如下:

游戏版本 JAVA版本 java直链下载(zulu,jre,x64)(.msi)
1.12 - 1.16 java8 java8
1.17 java16 java16
1.18 - 1.20.4 java17 java17
1.20.5 - 1.21.11 java21(必须为64位操作系统) java21
26.1+ java25 java25

完整 Java 版本列表:javaalmanac.io。

如果你正在为我们社团开设服务器,请对照下表填写对应的Java路径:

JAVA版本 Java路径
Java8 D:\java8\bin\java.exe
Java17 D:\java17\bin\java.exe
Java21 D:\java21\bin\java.exe
Java25 D:\java25\bin\java.exe

按上表,Minecraft 1.20.4 应使用哪个 Java 版本?

常用服务器核心包括 Forge、Fabric、Paper 等,对比如下(列表横向较长,需要滚动查看):

核心名称 类型 优点 缺点 适用场景 官方下载地址
Vanilla 原版官方端 行为与官方客户端完全一致,无任何修改;100% 兼容任意客户端 无插件/模组支持;性能平庸(区块加载、生物 AI 等均未优化);无任何管理工具 仅与 2-3 名好友纯原版生存联机;测试原版机制 minecraft.net/download/server
Spigot 插件端 插件生态的历史基础,兼容性最广;几乎所有 Bukkit 插件都能运行 优化极为有限,TPS 表现落后于 Paper;配置自由度低,无细粒度调优 维护老旧插件服,或依赖某些仅针对 Spigot 开发的过时插件 spigotmc.org(需通过 BuildTools 自行构建)
Paper 插件端 2026 年事实标准,TPS 比 Spigot 提升 30-50%;异步区块加载;配置项丰富(paper-global.yml / paper-world-defaults.yml);更新跟随 MC 版本极快 不支持 Forge/Fabric 模组;极少数原版机制有微小改动 绝大多数插件服的首选:生存、RPG、小游戏、群组服主城等 papermc.io/downloads
Purpur 插件端(Paper 分支) 完全兼容 Paper 插件与配置;额外增加 200+ 玩法配置项(掉落物、生物 AI、战斗机制等) RAM 占用略高于 Paper;部分配置项可能使服务器偏离原版体验 需要深度定制游戏规则的服:Factions、RP、自定义小游戏 purpurmc.org
Folia 插件端(Paper 分支) 官方 PaperMC 项目,按区块区域多线程处理,理论承载上限极高 需要插件专门适配(2026 年兼容插件仍较少);推荐至少 16 个物理核心,硬件门槛高 数百人同时在线的分散型高负载服务器(如大型大厅网络),且具备强硬件与技术能力 papermc.io/downloads/folia
Forge 模组端 模组数量最多、最成熟;几乎所有经典大型模组(Create、Mekanism、Tinkers 等)都基于 Forge 较重,4GB RAM 起步;不支持 Bukkit/Spigot/Paper 插件;新版本 MC 适配较慢 运行 1.12.2~1.19.2 的经典模组包(CurseForge / FTB 老包);需要特定 Forge 独占模组时 files.minecraftforge.net
Fabric 模组端 极轻量,启动快、内存占用低;MC 新版本适配速度最快;适合服务端性能优化模组(Lithium、FerriteCore 等) 模组总量少于 Forge;大型内容模组生态相对薄弱;同样不支持插件 轻量模组生存 / 生电服;以性能优化模组为主的服务器;需要快速跟进最新 MC 版本的模组环境 fabricmc.net/use/server
NeoForge 模组端(Forge 分支) 承接了 Forge 大部分开发团队;1.20.2 以后成为现代模组包的标准;1.21+ 的新模组几乎只发 NeoForge 版本 1.20.2 之前的旧模组包完全不兼容;生态仍处于整合期,部分老模组尚未迁移 MC 1.20.2 及以上版本的主流模组包(如 ATM10、现代科技/魔法整合包) neoforged.net
Arclight 混合端 同时支持 Forge/Fabric/NeoForge 模组与 Bukkit 插件;在现行混合端中稳定性相对最好;公开服可兼顾玩法扩展与安全管理 模组与插件同时运行仍可能出现难以排查的 Bug;部分插件或模组不兼容;性能开销显著高于纯插件端或纯模组端 确实需要“模组 + 插件”同时运行的公开服(如带领地管理的模组生存服) arclight.izzel.io
Mohist 混合端 兼容 Forge 模组与 Spigot/Paper 插件;国内下载源友好;控制台支持多语言 插件兼容性不如 Arclight 全面;部分模组无法运行;混合端常见 Bug 同样存在 需要模组 + 插件,且对 Arclight 兼容性不满意的场景;中文社区用户 mohistmc.com
Velocity 代理端 PaperMC 团队开发,性能比 BungeeCord 提升约 300%;内置更安全的现代 IP 转发机制;插件 API 现代且活跃维护 不原生兼容 BungeeCord 插件(需 Snap 实验性支持,非官方维护);仅作代理,本身不是游戏服务器 新搭建的群组服 / 服务器网络(大厅 + 生存 + 小游戏等多服互联),追求性能与安全性的中大型网络 papermc.io/downloads/velocity
BungeeCord 代理端 历史悠久,BungeeCord 插件生态成熟;配置简单,资料丰富 资源效率低;IP 转发安全性不足(需额外装 BungeeGuard);API 陈旧,已基本停止实质性功能更新 维护已有的老旧群组网络;仅当必须运行某个仅支持 BungeeCord 的插件时 ci.md-5.net/job/BungeeCord
Waterfall 代理端(BungeeCord 分支) 曾作为 BungeeCord 的性能改良版存在 已停止维护(End of Life),PaperMC 不再为其提供任何更新 不推荐新服使用;仅作遗留系统迁移参考 官方已归档,不建议下载

我们的社团当前服务器核心选择为:

  • 模组服:NeoForge,Forge或Fabric(取决于整合包要求)
  • 大厅群组服:Paper&Velocity
  • 七周目:Fabric&MCDR(管理端)
  • 小游戏服:视情况而定

按需求选择服务器核心;不确定时,可以咨询 中德Aure。

为整合包开服时,本节建议优先怎么做?

每次手动输入启动命令比较繁琐,可以用脚本简化操作。最简单的启动脚本如下:

Terminal window
@echo off
java -Xmx4G -Xms4G -jar server.jar nogui

各项命令的含义如下:

  • @echo off:关闭命令回显,使输出更整洁。
  • java:调用Java虚拟机,你也可以使用绝对路径 D:\java17\bin\java.exe 手动选择Java版本(根据你安装的Java版本和路径来修改)。
  • -Xmx4G:设置JVM最大堆内存为4GB。
  • -Xms4G:设置JVM初始堆内存为4GB。
  • -jar server.jar:指定要运行的JAR文件,同样的,你也可以使用相对路径 -jar MyMinecraftServer.jar(根据服务器核心名称) 来指定服务器文件。
  • nogui:以无图形界面的方式运行服务器。

整合包服务端或核心开发者提供的脚本可能更复杂,包含用于性能优化或特定功能的参数。

修改这类脚本前,请先阅读注释。例如:

Terminal window
@echo off
REM Forge requires a configured set of both JVM and program arguments.
REM Add custom JVM arguments to the user_jvm_args.txt
REM Add custom program arguments {such as nogui} to this file in the next line before the %* or
REM pass them to this script directly
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.20.1-47.4.16/win_args.txt %*
pause

别被这些参数吓到:它与前面的简单脚本原理相同,只是把参数拆分到不同文件中,方便管理。

这个例子只需关注 java @user_jvm_args.txt... 这一行和服务端根目录下的 user_jvm_args.txt,其余参数已由 Forge 开发者预设。要指定 Java 版本,同样将 java 替换为对应的绝对路径。

内存等 JVM 参数在 user_jvm_args.txt 中修改,文件注释通常会说明各项参数的作用。

user_jvm_args.txt 的内容如下:

# Xmx and Xms set the maximum and minimum RAM usage, respectively.
# They can take any number, followed by an M or a G.
# M means Megabyte, G means Gigabyte.
# For example, to set the maximum to 3GB: -Xmx3G
# To set the minimum to 2.5GB: -Xms2500M
# A good default for a modded server is 4GB.
# Uncomment the next line to set it.
# -Xmx4G

注释说明了内存参数的设置方式,并给出建议值和示例。请按服务器需求和可用资源调整。

要修改最大堆内存,取消 -Xmx4G 的注释并调整数值。例如,将上限设为 8GB:

# Xmx and Xms set the maximum and minimum RAM usage, respectively.
# They can take any number, followed by an M or a G.
# M means Megabyte, G means Gigabyte.
# For example, to set the maximum to 3GB: -Xmx3G
# To set the minimum to 2.5GB: -Xms2500M
# A good default for a modded server is 4GB.
# Uncomment the next line to set it.
-Xmx8G

保存后启动服务器,最大堆内存即为 8GB。请确保计算机有足够的可用内存,避免性能问题或崩溃。

不想手写启动参数时,可以使用 flags.sh 快速生成参数预设。

示例 Forge 服务端中,要把最大堆内存改为 8GB,应怎么做?

服务器比单人游戏或局域网世界有更多配置选项,非原版核心还可能提供额外设置。本节只介绍原版配置文件 server.properties;其他核心或模组的配置,请查阅对应 Wiki。

先关注以下几个重要选项:

配置项 说明 推荐值
server-port 端口号 25565(默认)
max-players 最大在线人数 根据硬件调整,建议 10-30
gamemode 默认游戏模式 survival / creative
difficulty 难度 normal / hard
online-mode 正版验证 true(正版服)/ false(离线服)
view-distance 视距 8-12(影响性能,别设太大)
simulation-distance 模拟距离 6-10(怪物生成和红石运算范围)
spawn-protection 出生点保护半径 0
pvp 是否允许玩家对战 按需求设 true/false
white-list 白名单 false(有的服务端默认开启)

完整配置选项可以在这里找到:Minecraft Wiki - Server.properties

修改并保存 server.properties 后,如何让配置生效?

为社团开服时,应该如何确定 server-port 的值?

配置完成后,双击启动脚本,或在命令行中运行它。如果窗口自动关闭,请在启动命令下一行添加 pause,方便查看输出。

首次启动时,你可能会看到:

[main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
G:\.server\26.2>pause
Press any key to continue . . .

这表示运行服务器前需要同意 EULA(最终用户许可协议)。打开服务器根目录中自动生成的 eula.txt:

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
#Mon Oct 12 17:34:42 CST 2026
eula=false

将 eula=false 改为 eula=true 并保存,表示你同意 Minecraft 的最终用户许可协议。再次运行启动脚本,服务器应该就能顺利启动。玩得愉快!

首次启动提示需要同意 EULA 时,应怎么做?

一般来说,如果你只是想要开启一个服务器,那么到这里就够了,但是如果你想要更方便的管理,那么你可以使用 MCSM 来管理你的服务器。
同时,这也是我们社团的解决方案。

安装以及配置MCSM的过程可查阅如何安装MCSM,非常简单,在此不做赘述。

安装之后,运行启动脚本start.bat,然后在浏览器中访问 http://localhost:23333/,即可进入MCSM的管理界面。

我们假设你已经通过官方教程安装并配置好了MCSM,接下来的教程将教你如何将一个MC服务器添加到MCSM中。

进入MCSM的主页面,你会看到一个类似于下图的界面: MCSM主界面

已按官方教程完成 MCSM 的安装与配置,在本机运行 start.bat 后,应如何进入管理面板?

要新建实例,点击右上角“新建应用”添加一个实例: 新建实例

之后,点击导入压缩包来创建你的服务器实例: 导入压缩包

填好你的服务器信息,启动参数以及指定存储路径之后,点击“创建”即可创建一个新的服务器实例: 创建实例

注意:启动命令可以填写你之前写好的启动脚本,或者直接写命令即可

准备通过压缩包导入服务器实例,下面哪种做法符合本节要求?

等待导入完成后,它会自动跳转到服务器管理页面。点击“启动”按钮即可启动服务器: 启动服务器 下方输入条可以输入指令,按下回车即可发送指令到服务器

服务器在自己的电脑上能启动,导入社团的 MCSM 后却无法启动,应优先检查什么?