你这个现象是正常的,因为第一次启动 Paper 服务器时,它会先下载对应的 原版 Mojang 服务器核心(mojang_1.20.4.jar),Paper 会用它来做一些数据同步和兼容处理。
流程是这样的:
1. 你运行 paper-1.20.4-499.jar。
2. Paper 检测本地没有 mojang_1.20.4.jar。
3. 它会从 Mojang 官方服务器下载该文件(所以第一次会比较慢)。
4. 下载完成后继续启动,生成 eula.txt 和配置文件。
5. 你需要编辑 eula.txt,把 eula=false 改为 eula=true。
6. 再次运行启动命令,服务器就会正式启动。
启动命令(Java 17 用这个没问题):
java -Xmx2G -Xms1G -jar paper-1.20.4-499.jar nogui
如果你是在 树莓派 4B 上跑 Paper + Java 17,我建议你:
• 用 screen 或 tmux 来后台运行服务器。
• 至少给它分配 2G 内存(-Xmx2G),树莓派 4B 建议系统装 64 位版 Raspberry Pi OS。
• 第一次启动后修改 server.properties 调整端口、在线人数等。
我可以帮你写一个 一键启动脚本,让你树莓派开机自动跑 Paper 服务器,你要吗?
你是想在树莓派上**离线启动 Paper 服务器(不联网下载 mojang_xxx.jar)**对吧?
那就要提前在联网的电脑上准备好所有依赖文件,再拷到树莓派上。
我帮你整理一个完全离线启动 Paper 的步骤:
⸻
- 在联网电脑上准备环境
- 准备 Java 17
• 电脑安装 Java 17(推荐 Temurin 17 JDK)。
• 用 java -version 确认版本。 - 下载 Paper 版本文件
比如:
- 准备 Java 17
paper-1.20.4-499.jar
下载地址(联网机器操作):
https://papermc.io/downloads/paper
3. 提前生成 Mojang 依赖文件
先在联网机器运行一次:
java -Xmx2G -Xms1G -jar paper-1.20.4-499.jar nogui
第一次运行时,它会下载:
mojang_1.20.4.jar
以及 libraries 目录
等它提示你需要同意 EULA 时就可以退出。
4. 确认文件完整
Paper 服务器文件夹里应该有:
paper-1.20.4-499.jar
mojang_1.20.4.jar
libraries/ (一堆 .jar)
eula.txt
server.properties
这样就能离线启动了。
⸻
- 复制到树莓派
把上面整个文件夹(包含 libraries、mojang_1.20.4.jar)原封不动拷到树莓派,比如 /home/pi/mcserver/。
⸻
- 树莓派离线启动
在树莓派上:
cd ~/mcserver
java -Xmx2G -Xms1G -jar paper-1.20.4-499.jar nogui
因为已经有 mojang_1.20.4.jar 和所有依赖,Paper 就不会联网下载了。
⸻
- 注意
• 如果你用的是 第一次启动的空目录,Paper 必须联网去下载依赖,所以离线必须提前准备好所有文件。
• 以后换 Paper 版本时,新的 mojang_xxx.jar 也要提前下载。
• 树莓派性能有限,建议 Xmx 不超过 2G(视内存大小调整)。
⸻
我可以帮你打包一个 已经能离线运行的 Paper 1.20.4 目录结构示例,你直接解压到树莓派就能跑,你要我帮你准备吗?这样你不需要自己先联网启动一次。
可以直接配成开机自启,这样服务器重启后 Paper 就会自动跑起来,不用每次手动敲命令。
我给你做个适合 Java 17 + Paper 的 systemd 服务方案,不需要联网下载核心,直接用你现有的 paper-1.20.4-499.jar 本地启动。
⸻
- 放置服务器文件
假设你把服务器文件放在:
/opt/minecraft
目录里有:
paper-1.20.4-499.jar
eula.txt
server.properties
world/
…
⸻
- 创建启动脚本
新建 /opt/minecraft/start.sh:
#!/bin/bash
cd /opt/minecraft
exec /usr/bin/java -Xmx2G -Xms1G -jar paper-1.20.4-499.jar nogui
赋予可执行权限:
chmod +x /opt/minecraft/start.sh
⸻
- 创建 systemd 服务文件
新建 /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Paper Server
After=network.target
[Service]
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start.sh
Restart=always
User=minecraft
Group=minecraft
StandardInput=null
StandardOutput=append:/opt/minecraft/logs/latest.log
StandardError=append:/opt/minecraft/logs/latest.log
[Install]
WantedBy=multi-user.target
⚠ 建议新建一个专门的 minecraft 用户来运行服务器,安全性更好:
sudo useradd -r -m -U -d /opt/minecraft minecraft
sudo chown -R minecraft:minecraft /opt/minecraft
⸻
- 启动并设置开机自启
sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft
⸻
这样:
• 开机自动启动
• 不需要联网,因为用的就是本地的 paper-1.20.4-499.jar
• 出错会自动重启
• 日志保存在 /opt/minecraft/logs/latest.log
⸻
如果你愿意,我还可以帮你加 自动每天备份存档 的功能,这样你的世界不会丢数据。
你要我直接帮你加上吗?这样你以后开服和存档都不用管了。