Minecraft服务器搭建的重点,不是把一个JAR文件放到Linux上运行,而是让版本、Java、EULA、网络、插件、世界保存和恢复形成完整闭环。Java版朋友服或插件社区服可以使用Mojang原版服务端,也可以使用Paper;Paper提供插件生态和更多运维能力,但它是第三方项目,不是Mojang或Microsoft官方服务端。
本文在2026年8月2日实测Paper 26.2 Build #89、Minecraft 26.2和Java 25:服务端到达Done,25565状态协议返回正确MOTD、版本和2人上限,本地可审计插件成功加载,世界正常保存停服,并把74个业务文件恢复到全新目录后再次启动。没有Minecraft客户端和Microsoft账号,因此不能把这项测试写成“玩家已经公网进服”。
先看结论:Minecraft Java开服要做对哪些事
- 先决定使用Mojang原版还是Paper,不要把插件、模组和代理端混为一谈;
- 从官方页面核对当前服务端版本和Java要求,不能长期照抄旧版Java 17或Java 21命令;
- 下载后核对文件哈希,首次启动日志必须到达Done,不能只看进程或容器退出码;
- 只把25565等实际需要的端口开放给玩家,管理端口、RCON和SSH使用更小的来源范围;
- 插件等同于在服务器上执行第三方代码,只从可信来源安装并保留版本与校验值;
- 备份世界、插件数据、权限与配置,停服后恢复到新目录并再次启动;
- 配置按真实世界、视距、实体、红石和插件压测,不按玩家数做绝对承诺。
如果只是三五个人偶尔联机,先使用白名单和较低视距,跑通保存与恢复,再增加插件和开放范围。公开社区服还需要审核、封禁、日志、反作弊、DDoS处理和管理员排班,服务器搭建只是基础设施的一部分。
Minecraft原版服务端和Paper有什么区别
Minecraft官方下载页提供Java Edition服务端,它是Mojang官方基线。Paper在Bukkit/Spigot生态基础上提供插件接口、性能配置、分析工具和大量修复,适合朋友插件服与社区服。
| 选择 | 更适合 | 需要注意 |
|---|---|---|
| Mojang原版服务端 | 追求尽量接近原版、不需要Bukkit/Paper插件 | 可扩展性较少,仍需自己处理备份、权限和服务管理 |
| Paper | 需要插件、性能配置、spark分析和社区服能力 | 第三方项目;插件安全、版本兼容和配置变化由服主负责 |
| Fabric/Forge/NeoForge | 需要对应模组加载器的客户端与服务端模组 | 不是Paper插件;双方版本和模组通常必须一致 |
| Velocity等代理 | 多服务器、跨服入口和后端隔离 | 不是单服替代品,需要额外认证与网络边界设计 |
Paper官方说明它可以接替Vanilla、CraftBukkit或Spigot,但从原版迁移会涉及世界维度目录处理。迁移必须先复制世界,在副本上启动并验证,不能把唯一正式存档直接交给新版本改写。
本文只覆盖单台Paper Java版服务器,不覆盖基岩版BDS、Geyser跨平台、Forge/Fabric模组和多服代理。基岩版玩家的端口、客户端与服务端产品不同,应使用独立页面实施。
2026年当前Paper需要什么Java版本
Paper官方Getting Started文档在2026年5月更新,当前要求至少Java 25。官方版本表为:
| Paper版本 | 推荐Java |
|---|---|
| 1.17–1.19 | Java 17 |
| 1.20–1.21.11 | Java 21 |
| 26.1及以上 | Java 25 |
这也是为什么“所有Minecraft服都装Java 17”或“当前一律Java 21”的旧教程会失效。先确定准备运行的Paper版本,再按官方表安装Java。不要在同一台服务器上让多个不相关Java包互相覆盖;使用systemd时明确写出实际Java路径,并在日志记录 java -version。
本轮实际运行的是Eclipse Temurin 25.0.3+9 LTS。Paper启动日志报告Minecraft 26.2、协议776和Paper API 26.2.build.89-stable。
Minecraft服务器需要多少CPU和内存
下面是采购和压测起点,不是人数保证。Minecraft Java服务端对单核性能、世界模拟和垃圾回收敏感;视距、模拟距离、实体、红石、区块生成与插件会比“在线人数”更直接地改变负载。
| 场景 | 建议测试起点 | 重点观察 |
|---|---|---|
| 2–5人、原版或少量管理插件、较低视距 | 2–4核、4–6GB内存、SSD | 启动、区块探索、保存和晚高峰网络 |
| 6–15人、长期生存、常用插件 | 4核高频CPU、8–12GB内存、NVMe/SSD | 主线程、实体、红石、区块生成和GC |
| 公开社区、较多插件或复杂玩法 | 4–8核高频CPU、16GB以上起测 | 插件耗时、数据库、预生成、备份窗口和DDoS |
分配给Java的 -Xmx 不能等于整台VPS内存。操作系统、文件缓存、监控、反向代理、备份和Java非堆内存都需要余量。例如8GB实例不应机械写成 -Xmx8G。本轮在3GB容器限制、Xms1G/Xmx2G、0名玩家、视距6、模拟距离4时,一次空载附近快照约1.356GiB;这只能说明测试点当时的量级,不能推算可带玩家数。
判断配置时至少覆盖一次玩家分散探索、实体较多和红石活动场景,观察TPS/MSPT、单核CPU、内存、GC、磁盘延迟和网络。Paper内置spark分析器,遇到卡顿时先采样定位插件或世界热点,不要盲目增加所有参数。
开服前需要准备什么
- 64位Linux、公网IPv4、SSH管理权限和SSD;
- 独立普通用户,例如
minecraft,不让Java长期以root运行; - 当前Paper或Mojang服务端JAR及其校验值;
- 与服务端版本匹配的Java运行时;
- 玩家地域、版本、白名单、人数、视距和插件清单;
- 云安全组、Linux防火墙和服务器外部备份位置;
- 用于最终验收的Java版客户端、Microsoft账号和另一条互联网连接。
本轮容器为了隔离测试以root启动,Paper日志明确给出高风险警告。生产环境必须修正:创建无登录或受限普通用户,只授予程序和数据目录写入权,不把Docker套接字、宿主根目录或云凭据暴露给游戏进程。
推荐目录分工:
/opt/minecraft/paper.jar # 可重新下载的程序
/srv/minecraft/server/ # 世界、插件、配置和日志
/srv/minecraft-backups/ # 本机短期归档,另有服务器外副本
程序、业务数据和备份分开,更新与恢复时才不容易覆盖唯一世界。
怎样下载并校验Paper
先从PaperMC官方下载页读取当前稳定构建和对应Java要求。下载后保存文件名、时间、来源URL和SHA-256:
mkdir -p /opt/minecraft
cd /opt/minecraft
curl -fL '从PaperMC官方下载页复制的JAR地址' -o paper.jar
sha256sum paper.jar
不要长期把文章中的“最新构建号”写进自动化。本文测试开始时官方下载页显示#87;就在运行过程中,#88和#89发布,#87的更新检查立即提示落后2个构建。最终门禁重新使用Paper 26.2 Build #89,JAR SHA-256为:
a6ff5281e99971eb301d2a95c18a52da9c613b67d8c4df5d8f209f46e17005a2
这个哈希只对应本次#89测试文件。以后下载新构建时,应以当次官方对象信息或受信发布流程重新核对,不能要求新文件继续匹配旧哈希。
EULA应该怎样处理
Minecraft官方下载页说明,下载和运行服务端需要同意Minecraft EULA与相关政策。首次启动通常会生成 eula.txt 并停止;运营者应自行阅读当前条款,确认业务模式和服务器规则符合要求,再把:
eula=true
写入数据目录。不要把修改 eula.txt 当作纯技术绕过,也不要因为软件能运行就认为付费权益、商业宣传、道具销售、品牌使用和玩家数据处理自动合规。
本轮 eula=true 只用于隔离技术验证。正式运营责任仍由实际服主承担。
第一次启动Paper服务器
Paper官方给出的短命令结构是:
cd /srv/minecraft/server
java -Xms4G -Xmx4G -jar /opt/minecraft/paper.jar --nogui
实际内存要按VPS容量留出系统余量。第一次启动不要立刻放到后台后就离开,至少检查:
java -version与当前Paper要求一致;- 日志报告精确Paper和Minecraft版本;
- EULA、配置、文件权限和下载哈希无错误;
- 日志出现
Starting Minecraft server on ...:25565; - 世界完成准备并出现
Done (...); logs/latest.log没有插件加载或数据转换关键异常。
本轮发现Paperclip第一次下载Mojang上游JAR时哈希失败,但Java异常最终仍留下容器退出码0。损坏缓存SHA-256与Paper内置下载上下文不一致。删除这个已确认损坏的临时缓存,重新下载并核对期望哈希后,服务端才真正到达Done。
因此自动化门禁不能只写:
docker inspect --format '{{.State.ExitCode}}' minecraft
还要同时检查程序JAR哈希、上游下载错误、精确版本、Done就绪标记和网络状态响应。退出码0不等于业务可用。
server.properties首次应该改什么
先保留当前生成的原文件,再修改自己理解的字段。下面是私有小服的测试起点:
motd=My Private Paper Server
server-port=25565
server-ip=
max-players=8
online-mode=true
white-list=true
enforce-whitelist=true
view-distance=6
simulation-distance=4
enable-rcon=false
enable-query=false
spawn-protection=0
关键原则:
server-ip通常留空,让服务端监听服务器网络接口;不要填公网IP后再困惑于绑定失败;- 正式服保持
online-mode=true,关闭正版认证会改变身份与安全边界; - 私有服先启用白名单,再用真实账号测试加入与移除;
- 视距和模拟距离先保守,压测后逐步增加;
- 不需要RCON和Query就关闭;需要时只允许受控管理来源并设置独立凭据;
- 修改后保存配置副本,重启并检查日志是否接受新值。
Paper还有 config/paper-global.yml 和世界级配置。不要复制几年前的整份优化模板覆盖当前文件。每个“优化参数”都可能改变原版行为、实体、区块、红石或安全边界,应按当前文档逐项理解和测试。

25565端口和安全组应该怎样设置
Minecraft Java默认使用TCP 25565。本轮Paper日志显示监听 *:25565,但Docker只把它映射到本机127.0.0.1,用于隔离状态探测。自写Server List Ping探针返回:
{
"description": "YGK G004 Paper Restore Test",
"players": {"max": 2, "online": 0},
"version": {"name": "Paper 26.2", "protocol": 776}
}
这证明TCP状态协议可达,不证明玩家登录和世界交互。
正式VPS按四层顺序排查:
- Paper日志已经到Done;
ss -lntp确认Java真实监听25565;- Linux防火墙允许玩家需要的TCP 25565;
- 云安全组允许相同端口和来源;
- 从另一条互联网连接使用当前客户端加入。
SSH、RCON、数据库、管理面板和监控端口不要与玩家端口一起向全网开放。临时开放0–65535排障后不收回,会把一次故障变成长期攻击面。
本轮Minecraft服务器搭建实测了什么
测试ID为 G004-PAPER-LOCAL-001,最终闭环包括:
- 从PaperMC官方下载Paper 26.2 #89并核对SHA-256;
- 使用Temurin Java 25.0.3启动;
- 使用不公开、2人、低视距和本机端口配置;
- 日志加载Paper
26.2-89-main@b59e472、Minecraft 26.2; - 世界在8.568秒到达Done;
- TCP 25565状态协议返回MOTD、Paper版本、协议776和2人上限;
- 从已核验Paper JAR内嵌API编译本地证据插件,插件启用并写入固定标记;
- 控制台执行
save-all flush和stop,三个维度全部保存; - 归档74个业务文件,恢复前清单逐字节一致;
- 全新数据目录和独立容器在25566再次启动,加载旧世界和插件标记,5.181秒到达Done。

没有Java客户端与Microsoft账号,因此没有测试真实玩家加入、白名单、正版认证、聊天、背包、方块交互和断线重连。也没有在萤光云VPS测试公网、防火墙、线路、DDoS和生产磁盘。
Paper插件怎样安装才安全
Paper官方插件文档明确警告:插件拥有对服务器以及运行机器的完全、不受限访问。它不是只能修改游戏的一段无害配置。恶意或被入侵的插件可以读取世界、配置、其他插件凭据和主机可访问的数据。
上线流程应包括:
- 优先从Paper Hangar、插件官方项目或可审计仓库获取;
- 核对作者、版本、更新日期、支持的Paper版本、依赖和下载校验;
- 不运行来源不明的“破解插件”“整合包”或网盘JAR;
- 在世界副本中一次只新增或更新少量插件;
- 检查
logs/latest.log,确认没有缺失依赖、重复插件和Invalid plugin.yml; - 用普通玩家账号验证权限边界,不只用管理员测试;
- 保存“Paper版本+Java+插件JAR+配置+世界”组合恢复点;
- Java进程使用普通系统用户,不能访问SSH密钥、云凭据或Docker套接字。
官方安装方法是把插件JAR放到服务器根目录的 plugins/,重启后在控制台运行 plugins,确认它处于启用状态。Paper插件、Forge/Fabric模组和代理插件不是同一种文件,放错平台通常会报无效插件或根本不加载。
本轮没有下载第三方生产插件。我们从本地源码编译最小 YGKEvidence,它只在自身数据目录写入:
G004-PAPER-PLUGIN-LOCAL-001
日志列出并启用该插件,恢复环境再次发现同一标记。这证明当前插件加载与数据恢复链路,不证明任意第三方插件安全或兼容。
白名单、管理员和正版认证怎么设置
小型私有服建议从 online-mode=true、white-list=true 和 enforce-whitelist=true 开始。使用控制台管理真实账号:
whitelist on
whitelist add 玩家名
whitelist list
op 管理员名
deop 不再需要管理权限的账号
不要把所有朋友都设为OP。管理员权限应按实际运维职责授予,并记录添加与撤销。公开服还要设计封禁、申诉、聊天审核、日志保留和未成年玩家保护,而不只是安装一个权限插件。
关闭 online-mode 会改变玩家身份验证和UUID边界,可能让攻击者冒用身份,并影响权限、背包和插件数据。除非你清楚代理认证架构并正确限制后端端口,否则不要把它当成解决登录问题的常规开关。
Minecraft 26.2世界目录应该备份什么
很多旧教程写的是顶层 world/、world_nether/、world_the_end/ 三个目录。本轮Minecraft 26.2 / Paper 26.2实际生成的是单一 world/,三个维度位于:
world/dimensions/minecraft/overworld/
world/dimensions/minecraft/the_nether/
world/dimensions/minecraft/the_end/
因此备份清单必须以当前服务器实际目录为准,不能机械排除 world/dimensions。本轮至少包含:
- 完整
world/与所有维度、区域文件和level.dat; plugins/中的插件JAR和插件数据;server.properties;config/、bukkit.yml、spigot.yml、commands.yml;ops.json、whitelist.json和封禁文件;- EULA记录;
- Paper、Minecraft、Java、插件版本和启动方式。
可重新下载的运行库和缓存不必作为核心业务数据备份,但要保存程序版本和校验值,保证恢复时能取得相同组合。日志可单独按保留策略归档。

怎样做一次真正的Minecraft恢复演练
本轮恢复步骤是:
- 控制台执行
save-all flush; - 执行正常
stop并确认三个维度保存完成; - 归档世界、插件、配置、权限和白名单;
- 为74个文件生成SHA-256清单;
- 解压到全新
restored/data; - 启动前再次生成清单并与源清单比较,完全一致;
- 用同一Paper #89和Java 25从独立容器启动;
- 确认日志直接准备既有
world,没有“creating new world”; - 确认插件读取原标记;
- 状态协议返回相同MOTD和版本,再正常保存停止。
备份压缩包为451,958字节,SHA-256:
86df9a9b0c51694e932ac76f2c84d81df124968d913e80587aca25be8d66a7e9
这个小体积来自0玩家、小视距的新世界,不代表生产世界的备份大小。真实世界会随探索、玩家数据、地图插件和日志显著增长。备份要保留多个时间点,并至少有一份位于服务器之外;只做同盘复制不能抵御磁盘损坏、误删和主机失联。
恢复完成也不应只看服务端Done。正式服还要用客户端验证玩家位置、背包、末影箱、建筑、红石、三个维度、权限、插件数据库和再次保存。
Paper服务器怎样用systemd运行
生产环境应由systemd管理普通用户进程。示意单元如下,路径和内存要按实际调整:
[Unit]
Description=Minecraft Paper Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=minecraft
Group=minecraft
WorkingDirectory=/srv/minecraft/server
ExecStart=/usr/bin/java -Xms4G -Xmx4G -jar /opt/minecraft/paper.jar --nogui
Restart=on-failure
RestartSec=10
TimeoutStopSec=120
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
直接向Java发送SIGKILL或强制结束VPS,会跳过正常保存。systemd停止流程需要与当前服务端的控制台保存/停止方式结合验证。不要配置每秒无限重启;如果世界损坏、插件崩溃或磁盘写满,应停止循环并保留日志现场。
Paper和插件怎样安全更新
- 查看Minecraft、Paper和关键插件的当前发布说明;
- 通知玩家并进入维护窗口;
- 执行保存和正常停服;
- 备份世界、插件数据、配置、权限和当前程序;
- 下载新Paper JAR并核对来源与哈希;
- 核对Java要求、Paper配置变化和插件兼容;
- 在恢复副本启动,检查数据转换、插件、权限和日志;
- 使用客户端覆盖登录、三个维度、背包、红石和关键插件;
- 通过后再切换正式服,失败则回到完整旧组合。
Paper官方更新文档不建议把“自动下载最新版并立即替换正式服”作为无验证流程。构建可能在任何时间发布;本轮#87到#89的变化就发生在测试期间。自动化可以提醒有更新,但生产切换应有维护窗口和恢复点。
怎样优化视距、区块、实体和插件
优化顺序建议是:
- 先用spark和日志确认瓶颈,而不是先复制“神优化配置”;
- 降低不必要的模拟距离和视距;
- 公开服提前预生成常用区域,减少玩家高峰即时生成区块;
- 检查实体农场、掉落物、村民、红石和持续加载区块;
- 对插件逐个采样,找到主线程耗时和数据库等待;
- 把数据库和备份I/O安排在合理窗口;
- 调整后用相同场景复测TPS/MSPT、CPU、GC和玩家体验。
不要把TPS 20理解为任何时刻都没有卡顿。还要观察MSPT分布、长尾停顿、GC、区块加载和玩家网络。也不要把大内存当作无限缓存;过大的堆可能延长某些停顿并挤压系统文件缓存。
常见故障怎样排查
| 现象 | 优先检查 | 常见原因 |
|---|---|---|
| Java版本错误或JAR无法运行 | java -version、Paper当前要求 |
用旧Java启动26.1+或命令指向错误Java |
| 服务端没有到Done | logs/latest.log、EULA、哈希、磁盘与权限 |
上游下载损坏、EULA未确认、数据目录不可写 |
| 容器退出码0但没有服务 | 日志中的异常、Done和状态协议 | 像本轮一样,Paperclip异常没有形成非零退出码 |
| 外网连接超时 | Done、真实监听、TCP 25565、防火墙与安全组 | 进程未就绪、协议或规则不一致 |
| 客户端版本不兼容 | 状态协议版本、客户端和Paper版本 | 客户端与服务端代际不同 |
| 插件显示红色或未加载 | logs/latest.log、依赖、平台与重复JAR |
缺少依赖、下载了Forge模组或同时放两个版本 |
| 重启后出现新世界 | level-name、工作目录、文件属主 |
systemd工作目录改变或数据放错路径 |
| 服务器间歇卡顿 | spark、MSPT、GC、区块、实体、红石和插件 | 主线程热点,不一定是带宽不足 |
| 恢复后插件配置丢失 | plugins/数据、数据库和文件权限 |
只备份世界,没有备份插件数据或外部数据库 |
| 磁盘快速增长 | 世界探索、地图渲染、日志和备份轮换 | 无边界探索、崩溃循环或多代备份留在同盘 |
排障前先复制当前配置和日志,保持一次只改变一个变量。删除世界、清空插件或同时升级Java/Paper/插件会让根因更难确认。
怎样按玩家位置选择服务器地域
Minecraft朋友服的地域应跟着主要玩家,不是跟着服主。把玩家按国家、地区和运营商分组,选2–3个候选节点,让大家在白天和晚高峰分别测延迟、抖动、丢包和路由。
如果玩家集中在中国大陆、东南亚、日本或北美,不同线路可能比地理距离更影响体验。跨洲玩家无法同时得到最低延迟时,应明确主服务区,必要时拆分多个世界或代理架构,不能承诺一个节点覆盖全球都低延迟。
购买前确认公网IPv4、TCP 25565策略、DDoS处理、可扩容SSD、备份位置、峰值带宽和退款条款。可在萤光云VPS地域与配置页查看实时节点,再用自己的玩家与世界验收。
正式开放前检查清单
- 已明确Java版、基岩版、Paper插件与模组的产品边界;
- 当前Paper和Java要求来自官方实时页面;
- JAR来源、构建号和SHA-256已记录;
- 运营者已阅读并遵守当前Minecraft EULA与使用规范;
- Java使用普通系统用户,不能访问无关主机凭据;
- 日志报告精确版本并到达Done;
- 25565真实监听、Linux防火墙与云安全组一致;
online-mode、白名单、OP和管理端口边界已验证;- 插件来源、依赖、版本和校验可追溯;
- 使用普通玩家从另一网络完成登录、世界交互、保存和重连;
- 覆盖一次真实区块探索、实体或红石高峰;
- 世界、维度、插件数据、权限和配置进入服务器外备份;
- 完成全新目录恢复和客户端复验;
- 更新、回退、磁盘告警和管理员撤权都有负责人。
常见问题
Paper 26.2必须使用Java 25吗
Paper当前官方文档要求26.1及以上使用Java 25。本轮Paper 26.2 #89也以Java 25.0.3运行。旧版Paper的Java要求不同,安装前查官方版本表,不要一条Java命令覆盖所有年代。
Minecraft Java服务器只需要开放25565吗
单台默认Java服的玩家连接通常是TCP 25565,但必须以当前实际配置和监听为准。RCON、Query、代理、语音和插件可能增加端口;不用的功能关闭,需要的管理端口限制来源,不能把所有端口向全网开放。
Paper能直接安装Forge或Fabric模组吗
不能把不同生态的JAR直接混用。Paper加载Bukkit/Paper插件;Forge、NeoForge和Fabric使用自己的模组加载器,常常要求客户端与服务端一起安装。选择平台前先确认玩法需求。
插件从哪里下载最安全
优先Paper Hangar、插件官方仓库或项目正式发布页,核对作者、版本、依赖和校验。Paper官方明确说明插件拥有主机级访问能力,因此不存在“随便放进plugins也没关系”的安全边界。
备份只复制world目录够吗
不够。世界只是核心数据之一,还需要插件数据、配置、权限、白名单、封禁记录、程序与Java版本。本轮26.2世界维度在 world/dimensions 下,恢复清单必须以当前目录为准。
4核8G能带多少玩家
不能给固定人数保证。4核8G可作为小型生存或常用插件服的测试起点,但CPU型号、视距、实体、红石、区块生成和插件会改变结果。用真实世界和高峰场景观察MSPT、单核、内存、磁盘和网络后再调整。
为什么服务端退出码0却没有启动成功
本轮Paperclip上游JAR哈希失败时就出现了这种情况。就绪门禁必须检查日志异常、文件哈希、精确版本、Done标记和状态协议,不能只看进程或退出码。
资料来源
- Minecraft官方Java服务端下载页
- Minecraft EULA
- PaperMC Getting Started
- PaperMC官方下载页
- PaperMC Adding Plugins
- PaperMC Updating
- 本轮Paper #89 JAR、内嵌下载上下文、Java输出、启动日志、状态协议、插件源码、世界文件清单和恢复证据
相关推荐
- 云服务器配置怎么选?CPU、内存、硬盘和带宽判断
- 海外云服务器地域怎么选?按玩家位置和线路选节点
- 服务器测试IP怎么看?延迟、路由与丢包测试
- 云服务器安全组怎么设置?端口放行与安全边界
- 云服务器数据怎么备份?快照、备份和恢复方法
准备购买时,至少提供主要玩家地域、Paper或原版、预计同时在线、视距、世界类型、插件数量与类型、是否公开和备份保留周期。这样才能把地域、CPU、内存、SSD与网络缩小到可测试范围,而不是只问“几核几G能带多少人”。







