如何在 Linux 服务器上部署 Minecraft 服务器

1566 字
8 分钟
如何在 Linux 服务器上部署 Minecraft 服务器

如何在 Linux 服务器上部署 Minecraft 服务器#

无论你是想和三五好友联机冒险,还是打造一个属于自己的社区服务器,在 Linux 上自建 Minecraft 服务器都是一个兼具自由度与性价比的选择。本文将带你从零开始,在 Ubuntu Server 上完成一个 Minecraft Java 版服务器的完整部署。

一、准备工作#

在正式开始之前,需要确保你的服务器满足基本的硬件与系统要求。

硬件配置建议#

Minecraft 服务器的性能瓶颈通常在于 CPU 单核性能和内存大小。以下是一个参考配置表:

玩家数量CPU 核心内存存储带宽
1-5 人2 核2-4 GB10 GB SSD5 Mbps
5-10 人4 核4-8 GB20 GB SSD10 Mbps
10 人以上4 核+8-16 GB50 GB+ SSD10 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 连接到服务器后,首先更新系统软件包:

Terminal window
sudo apt update && sudo apt upgrade -y

安装 OpenJDK 17(推荐版本,兼容 Minecraft 1.17+):

Terminal window
sudo apt install openjdk-17-jdk-headless -y

验证 Java 是否安装成功:

Terminal window
java -version

如果输出类似 openjdk version "17.0.x" 的信息,说明安装成功。

2. 安装必要工具#

安装 screentmux,用于创建持久化会话,防止 SSH 断开后服务中断:

Terminal window
sudo apt install screen wget -y

三、下载与配置服务端#

1. 创建服务器目录#

建议创建一个专用的目录来存放服务器文件,并赋予当前用户操作权限:

Terminal window
sudo mkdir -p /opt/minecraft
sudo chown -R $USER:$USER /opt/minecraft
cd /opt/minecraft

2. 下载服务端核心#

推荐使用 PaperMC——基于 Spigot 的高性能优化版服务端,在保持兼容性的同时提供了更好的性能。

访问 PaperMC 下载页面 获取最新版本链接,或使用 wget 直接下载(以 1.21 版本为例):

Terminal window
wget https://api.papermc.io/v2/projects/paper/versions/1.21/builds/latest/downloads/paper-1.21-latest.jar

为方便后续操作,将文件重命名为 paper.jar

Terminal window
mv paper-*.jar paper.jar

如果你偏好官方原版服务端,也可以从 Minecraft 官网 下载 server.jar

3. 首次启动与接受 EULA#

首次运行服务端会生成配置文件,并提示需要接受最终用户许可协议(EULA):

Terminal window
java -Xmx2G -Xms2G -jar paper.jar nogui

运行后会提示 You need to agree to the EULA。编辑生成的 eula.txt 文件:

Terminal window
nano eula.txt

eula=false 改为 eula=true,保存退出。

4. 基础配置(server.properties)#

编辑 server.properties 文件,调整核心参数:

Terminal window
nano server.properties

关键参数说明:

参数说明推荐值
server-ip服务器绑定的 IP0.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 端口:

Terminal window
sudo ufw allow 25565/tcp
sudo ufw enable

如果使用云服务商的安全组策略,请在控制台同样开放该端口。

四、启动与进程守护#

方式一:使用 Screen(简单快速)#

在 screen 会话中启动服务器,即使关闭 SSH 连接,服务也会继续运行:

Terminal window
screen -S mcserver
java -Xmx2G -Xms2G -jar paper.jar nogui

Ctrl + A 再按 D 可脱离会话。重新连接会话使用:

Terminal window
screen -r mcserver

方式二:使用 Systemd(推荐生产环境)#

创建 systemd 服务文件,实现开机自启和进程守护:

Terminal window
sudo nano /etc/systemd/system/minecraft.service

写入以下内容(请根据实际路径和内存调整):

[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=你的用户名
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xmx2G -Xms2G -jar paper.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target

启用并启动服务:

Terminal window
sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft

查看服务状态和日志:

Terminal window
sudo systemctl status minecraft
sudo journalctl -u minecraft -f

五、性能优化#

1. JVM 参数调优#

JVM 参数对服务器性能影响极大。以下是一组经过广泛验证的 Aikar’s Flags,专为 Minecraft 的内存分配模式优化:

Terminal window
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: true

3. 预生成世界#

使用 Chunky 插件预生成世界地图,可显著减少玩家探索时的卡顿:

Terminal window
wget https://github.com/pop4959/Chunky/releases/latest/download/Chunky.jar
java -jar Chunky.jar -center 0,0 -radius 500

六、常见问题排查#

1. 端口无法访问#

  • 检查防火墙是否开放 25565 端口
  • 检查云服务商安全组规则是否放行该端口
  • 确认 server.propertiesserver-ip 设置为 0.0.0.0

2. 服务频繁崩溃或卡顿#

  • 检查 Java 版本是否与服务端要求匹配(如 1.20+ 需要 Java 17+)
  • 检查内存分配是否合理,是否超过物理内存上限
  • 降低 view-distancesimulation-distance 参数
  • 检查是否有插件冲突或不兼容

3. 无法连接服务器#

  • 确认客户端 Minecraft 版本与服务端版本一致
  • 确认使用的是正确的公网 IP 地址
  • 如果开启了 online-mode=true,确保使用正版账号登录

七、结语#

至此,你已经完成了一个 Minecraft 服务器从零到一的完整部署。后续你可以根据需求安装插件(放入 plugins/ 目录)、配置权限系统(如 LuckPerms)、设置自动备份脚本等。

发布于 2026-06-22 by MinCiallo

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
如何在 Linux 服务器上部署 Minecraft 服务器
https://www.minciallo.top/posts/2026-6-22-1/
作者
MinCiallo
发布于
2026-06-22
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
MinCiallo
愿千年之恋,有朝一日能使万花绽放
公告
欢迎来到铭的博客!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
最近在听
加载中...
分类
标签
站点统计
文章
27
分类
3
标签
17
总字数
16,995
运行时长
0
最后活动
0 天前

目录