如何在 Linux 服务器上部署 Minecraft 服务器
如何在 Linux 服务器上部署 Minecraft 服务器
无论你是想和三五好友联机冒险,还是打造一个属于自己的社区服务器,在 Linux 上自建 Minecraft 服务器都是一个兼具自由度与性价比的选择。本文将带你从零开始,在 Ubuntu Server 上完成一个 Minecraft Java 版服务器的完整部署。
一、准备工作
在正式开始之前,需要确保你的服务器满足基本的硬件与系统要求。
硬件配置建议
Minecraft 服务器的性能瓶颈通常在于 CPU 单核性能和内存大小。以下是一个参考配置表:
| 玩家数量 | CPU 核心 | 内存 | 存储 | 带宽 |
|---|---|---|---|---|
| 1-5 人 | 2 核 | 2-4 GB | 10 GB SSD | 5 Mbps |
| 5-10 人 | 4 核 | 4-8 GB | 20 GB SSD | 10 Mbps |
| 10 人以上 | 4 核+ | 8-16 GB | 50 GB+ SSD | 10 Mbps+ |
提示:如果使用带有图形界面的 Linux 发行版,建议额外预留至少 1 GB 内存给系统图形服务。对于纯命令行的服务器系统,内存可以更充分地分配给 Minecraft 服务。
系统与网络要求
- 操作系统:推荐 Ubuntu Server 22.04 LTS 或更新版本,社区支持最好。
- Java 环境:Minecraft 1.17 及以上版本需要 Java 17;1.20.5 及以上版本需要 Java 21。本文以 Java 17 为例。
- 网络:需要开放默认游戏端口 25565 (TCP)。
- 公网 IP:如需外网访问,请确保服务器拥有公网 IP 或配置内网穿透工具。
二、环境配置
1. 更新系统并安装 Java
通过 SSH 连接到服务器后,首先更新系统软件包:
sudo apt update && sudo apt upgrade -y安装 OpenJDK 17(推荐版本,兼容 Minecraft 1.17+):
sudo apt install openjdk-17-jdk-headless -y验证 Java 是否安装成功:
java -version如果输出类似 openjdk version "17.0.x" 的信息,说明安装成功。
2. 安装必要工具
安装 screen 或 tmux,用于创建持久化会话,防止 SSH 断开后服务中断:
sudo apt install screen wget -y三、下载与配置服务端
1. 创建服务器目录
建议创建一个专用的目录来存放服务器文件,并赋予当前用户操作权限:
sudo mkdir -p /opt/minecraftsudo chown -R $USER:$USER /opt/minecraftcd /opt/minecraft2. 下载服务端核心
推荐使用 PaperMC——基于 Spigot 的高性能优化版服务端,在保持兼容性的同时提供了更好的性能。
访问 PaperMC 下载页面 获取最新版本链接,或使用 wget 直接下载(以 1.21 版本为例):
wget https://api.papermc.io/v2/projects/paper/versions/1.21/builds/latest/downloads/paper-1.21-latest.jar为方便后续操作,将文件重命名为 paper.jar:
mv paper-*.jar paper.jar如果你偏好官方原版服务端,也可以从 Minecraft 官网 下载
server.jar。
3. 首次启动与接受 EULA
首次运行服务端会生成配置文件,并提示需要接受最终用户许可协议(EULA):
java -Xmx2G -Xms2G -jar paper.jar nogui运行后会提示 You need to agree to the EULA。编辑生成的 eula.txt 文件:
nano eula.txt将 eula=false 改为 eula=true,保存退出。
4. 基础配置(server.properties)
编辑 server.properties 文件,调整核心参数:
nano server.properties关键参数说明:
| 参数 | 说明 | 推荐值 |
|---|---|---|
server-ip | 服务器绑定的 IP | 0.0.0.0(监听所有接口) |
server-port | 游戏端口 | 25565 |
gamemode | 默认游戏模式 | survival / creative |
difficulty | 难度 | easy / normal / hard |
max-players | 最大玩家数 | 根据配置调整(如 20) |
view-distance | 视野距离 | 8-10(低配服务器可降低至 6) |
online-mode | 正版验证 | true(推荐开启) |
5. 开放防火墙端口
如果服务器开启了防火墙(如 UFW),需要放行 25565 端口:
sudo ufw allow 25565/tcpsudo ufw enable如果使用云服务商的安全组策略,请在控制台同样开放该端口。
四、启动与进程守护
方式一:使用 Screen(简单快速)
在 screen 会话中启动服务器,即使关闭 SSH 连接,服务也会继续运行:
screen -S mcserverjava -Xmx2G -Xms2G -jar paper.jar nogui按 Ctrl + A 再按 D 可脱离会话。重新连接会话使用:
screen -r mcserver方式二:使用 Systemd(推荐生产环境)
创建 systemd 服务文件,实现开机自启和进程守护:
sudo nano /etc/systemd/system/minecraft.service写入以下内容(请根据实际路径和内存调整):
[Unit]Description=Minecraft ServerAfter=network.target
[Service]User=你的用户名WorkingDirectory=/opt/minecraftExecStart=/usr/bin/java -Xmx2G -Xms2G -jar paper.jar noguiRestart=on-failureRestartSec=10
[Install]WantedBy=multi-user.target启用并启动服务:
sudo systemctl daemon-reloadsudo systemctl enable minecraftsudo systemctl start minecraft查看服务状态和日志:
sudo systemctl status minecraftsudo journalctl -u minecraft -f五、性能优化
1. JVM 参数调优
JVM 参数对服务器性能影响极大。以下是一组经过广泛验证的 Aikar’s Flags,专为 Minecraft 的内存分配模式优化:
java -Xms2G -Xmx2G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \ -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \ -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \ -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 \ -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 \ -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \ -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \ -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 \ -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 \ -jar paper.jar nogui重要原则:
-Xms(初始堆内存)应等于-Xmx(最大堆内存),避免 JVM 在运行中反复调整堆大小造成卡顿。同时不要过度分配内存——给 JVM 分配过多内存反而会导致垃圾回收(GC)时间变长。建议分配给 Minecraft 的内存不超过物理内存的 70%-80%。
2. PaperMC 专属优化
在 config/paper-global.yml 中可开启异步世界加载等特性:
async-world-loading: true3. 预生成世界
使用 Chunky 插件预生成世界地图,可显著减少玩家探索时的卡顿:
wget https://github.com/pop4959/Chunky/releases/latest/download/Chunky.jarjava -jar Chunky.jar -center 0,0 -radius 500六、常见问题排查
1. 端口无法访问
- 检查防火墙是否开放 25565 端口
- 检查云服务商安全组规则是否放行该端口
- 确认
server.properties中server-ip设置为0.0.0.0
2. 服务频繁崩溃或卡顿
- 检查 Java 版本是否与服务端要求匹配(如 1.20+ 需要 Java 17+)
- 检查内存分配是否合理,是否超过物理内存上限
- 降低
view-distance和simulation-distance参数 - 检查是否有插件冲突或不兼容
3. 无法连接服务器
- 确认客户端 Minecraft 版本与服务端版本一致
- 确认使用的是正确的公网 IP 地址
- 如果开启了
online-mode=true,确保使用正版账号登录
七、结语
至此,你已经完成了一个 Minecraft 服务器从零到一的完整部署。后续你可以根据需求安装插件(放入 plugins/ 目录)、配置权限系统(如 LuckPerms)、设置自动备份脚本等。
发布于 2026-06-22 by MinCiallo
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
赣公网安备36010802001440号