本站包含联盟链接——如果你通过链接注册,我们可能获得佣金。 Affiliate links.

DigitalOcean Minecraft 服务器指南 2026 — 完整设置

DigitalOcean Minecraft 服务器指南 2026 — 完整设置

在 DigitalOcean Droplet 上运行自己的 Minecraft 服务器,可以完全控制资源、插件和世界数据 — 不同于受限制定制化的托管 Minecraft 主机。本指南将逐步介绍如何选择与玩家数量相匹配的 Droplet 规格、安装 Java 和服务器、设置防火墙、自动重启、世界备份以及添加插件或模组。

根据玩家数量选择 Droplet 规格

为 Minecraft 服务器选择 Droplet 规格应该从预期的最大并发玩家数开始,而不是选择最便宜的计划。Minecraft,特别是带有额外插件的 Paper,随着并发玩家数量的增加会消耗更多 RAM。视距值和探索后积累的世界大小也很重要。根据粗略指南,对于 2-5 个朋友一起玩原版或 Paper 的小世界,具有 2 GiB RAM / 1 vCPU / 50 GB SSD / 2,000 GiB 传输、月费 $12 的 Droplet 就足够了。如果扩展到 5-10 个并发玩家,并配备轻量级插件(如 EssentialsX 或 LuckPerms),建议使用 4 GiB RAM / 2 vCPU / 80 GB SSD / 4,000 GiB 传输、月费 $24 的 Droplet。对于 10-20 个并发玩家的服务器或模组化 Forge 服务器(加载多个模组会消耗更多 RAM),至少应使用 8 GiB RAM / 4 vCPU / 160 GB SSD / 5,000 GiB 传输、月费 $48 的 Droplet。 避免使用 512 MiB 或 1 GiB 大小的 Droplet,因为虽然它们每月仅需 $4-6,但操作系统和 JVM 开销本身就会消耗大量 RAM,几乎没有空间来加载世界,导致服务器在第一次运行时挂起或因 OutOfMemoryError 而崩溃。对于 vCPU,原版和 Paper Minecraft 大部分时间在单线程上处理主世界,所以单个核心的时钟速度比核心数量更重要。但是,额外的核心仍然有助于 JVM 垃圾收集和异步插件,以避免影响主世界的 TPS(每秒刻度数)。选择地区时,首先选择 sgp1(新加坡),然后选择 blr1(班加罗尔)以获得最低的延迟到泰国玩家。两个地区和所有 15 个 DigitalOcean 数据中心都支持所有 Droplet 大小。

  1. 朋友组 2-5 个玩家:2 GiB RAM / 1 vCPU / 50 GB SSD Droplet,月费 $12
  2. 5-10 个玩家 + 轻量级插件:4 GiB RAM / 2 vCPU / 80 GB SSD Droplet,月费 $24
  3. 10-20 个玩家或 Forge 模组:8 GiB RAM / 4 vCPU / 160 GB SSD Droplet,月费 $48
  4. 避免 512 MiB 或 1 GiB Droplet,因为操作系统 + JVM 开销导致没有空间运行世界
  5. 首先选择 sgp1(新加坡)地区,然后选择 blr1(班加罗尔)以获得最低延迟到泰国玩家

安装 Java 和 Minecraft 服务器

综合多次测试,首先 SSH 进入你的 Droplet(建议使用新的 Ubuntu 24.04 LTS 并应用系统更新)。使用 sudo apt update && sudo apt install -y openjdk-21-jre-headless 安装 Java,因为 Minecraft 1.20.5+ 需要 Java 21 或更高版本。(始终先检查你的 Minecraft 版本的要求。)避免以 root 用户身份运行服务器,而是使用 sudo adduser minecraft 创建一个单独的用户,并使用 sudo su - minecraft 切换到它。 使用 mkdir -p ~/server && cd ~/server 创建服务器目录,然后下载服务器软件。如果选择 Paper(推荐给初学者 — 兼容 Bukkit/Spigot 插件,性能比原版更好),从 papermc.io 下载最新版本作为 paper.jar。在第一次运行之前,使用 echo "eula=true" > eula.txt 接受 EULA,否则服务器会立即关闭。 最后,使用 Java 命令和适当的堆内存运行服务器。对于 4 GiB Droplet,使用 java -Xmx3G -Xms3G -jar paper.jar nogui — 始终为操作系统和其他进程保留至少 20-25% 的 Droplet RAM。永远不要将 -Xmx 设置为 Droplet 的总 RAM,因为 SSH、操作系统和其他服务也需要内存。最佳做法是将 -Xmx 和 -Xms 设置为相等,以减少 JVM 从堆调整大小引起的开销,这可能导致临时延迟峰值。

打开必要的防火墙端口

Minecraft Java 版本默认使用 TCP 端口 25565 来接受玩家连接。如果不正确打开此端口,即使进程正常运行,玩家也无法连接。推荐的方法是使用 DigitalOcean Cloud Firewall,这是一个免费功能,除了常规 Droplet 成本外没有额外费用。在控制面板中,转到 Networking > Firewalls,选择 Create Firewall,命名它(例如 minecraft-fw),并添加一个入站规则以打开 TCP 端口 25565 到所有 IPv4/IPv6(或限制到已知玩家 IP 以获得最大安全性)。同时,将 SSH 端口 22 限制在仅你自己的 IP,而不是对所有人开放。然后通过标签将防火墙附加到你的 Droplet,便于管理,如果你之后添加更多 Droplet。 除了 DigitalOcean 的 Cloud Firewall,还要在 Droplet 本身上配置 ufw 作为第二道防御层,使用 sudo ufw allow 25565/tcpsudo ufw allow OpenSSH,然后使用 sudo ufw enable 启用它。两个防火墙层降低了一层配置错误的风险。使用 sudo ufw status 检查状态。如果玩家在启用两层后仍然无法连接,使用 sudo ss -tulpn | grep 25565 验证进程是否在监听。注意:本指南仅涵盖 Minecraft Java 版本。支持 Bedrock 版本需要单独的 UDP 端口和超出本指南范围的额外配置。

设置自动重启和世界备份

为了避免始终保持 SSH 会话打开(SSH 断开连接时会停止),改为设置 systemd 服务。创建 /etc/systemd/system/minecraft.service,内容简要总结为 [Unit] Description=Minecraft Server After=network.target [Service] User=minecraft WorkingDirectory=/home/minecraft/server ExecStart=/usr/bin/java -Xmx3G -Xms3G -jar paper.jar nogui Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target。然后使用 sudo systemctl enable --now minecraft.service 启用并启动它。Restart=on-failure 设置使 systemd 在进程崩溃时自动重启服务器,无需手动干预。使用 sudo systemctl status minecraft.servicejournalctl -u minecraft.service -f 检查状态和日志。 备份应该在两个层级进行。首先,仅备份世界文件夹,使用 tar 和 rsync 的 cron 任务定期备份 — 通过 crontab -e 向 crontab 添加一行,每晚运行 tar czf /home/minecraft/backups/world-$(date +%Y%m%d).tar.gz -C /home/minecraft/server world,然后使用 rsync 同步这些备份离开主 Droplet 或上传到 Spaces,以防 Droplet 失败时备份存活。其次,使用 DigitalOcean Droplet 快照备份整个机器,价格为 $0.06/GiB/月 — 在重大 Minecraft 版本更新或风险配置更改前理想,因为你可以一键恢复整个系统,而不仅仅是世界文件。

要点总结: 使用 systemd 单元配置 Restart=on-failure 以在崩溃时自动重启服务器
  1. 使用 systemd 单元配置 Restart=on-failure 以在崩溃时自动重启服务器
  2. 使用 sudo systemctl enable --now minecraft.service 启用它
  3. 添加 cron 任务使用 tar czf 每晚备份世界文件夹
  4. 将备份存储在主 Droplet 之外,例如 rsync 到另一台机器或 Spaces

添加插件/模组(Paper/Forge)

值得强调的是——如果使用 Paper,添加插件很简单:下载插件 .jar 文件并将其放在服务器目录内的 plugins/ 文件夹中,然后使用 sudo systemctl restart minecraft.service 重启服务器。插件会自动加载。热门插件包括 EssentialsX 用于传送、家和传送点等基本命令,LuckPerms 用于细粒度的玩家权限管理,WorldGuard 用于保护区域免受未授权玩家的伤害或建筑。大多数插件在第一次重启后在 plugins/<plugin-name>/ 中有配置文件,你可以自定义。 对于完整的模组包(不仅仅是插件),使用 Forge 或 Fabric 而不是 Paper。要安装 Forge,下载 forge 安装程序并运行 java -jar forge-installer.jar --installServer 以获得 Forge jar。然后将每个模组的 .jar 文件放在 mods/ 文件夹中。关键警告:连接的每个客户端必须具有与服务器完全相同的模组集和版本,否则他们无法连接,会立即收到握手错误。Forge/Fabric 严格验证客户端和服务器之间的模组奇偶性。 模组化服务器通常比普通 Paper 消耗 2 倍或更多的 RAM,因为每个模组都添加实体、块类型和处理。如果在 4 GiB Droplet 上运行 Paper,中等到大型模组包需要至少 8 GiB RAM / 4 vCPU Droplet 或更大。

何时使用这个(真实用例)

在 DigitalOcean Droplet 上运行自己的 Minecraft 服务器最适合需要完全控制插件、模组和配置的用户 — 与限制你使用预设包的托管 Minecraft 主机不同。最常见的情况是私人服务器供朋友组或家庭(大约 5-15 人)想要一个持久的个人世界,而不与陌生人分享。你可以通过基于实际玩家数量的 Droplet 大小清楚地控制成本。 另一个很好的用例是在提交长期托管前测试模组包或配置。因为 Droplet 按秒计费,你可以多次旋转、测试和销毁,成本最小 — 完美用于找到正确的 -Xmx 值或在提交长期专用托管前检查模组包是否运行平稳。 短期事件也很适合:LAN 派对或社区锦标赛可以旋转一个临时服务器然后销毁并保存快照,避免为整个月的未使用付费。这也很适合学习 Linux 服务器管理实战 — 涵盖 SSH、systemd、防火墙和备份技能,这些技能转移到其他基础设施工作中。相反,如果你想要一个开箱即用的服务器而不管理操作系统,或者如果你运行一个大型公开服务器需要专用支持,托管 Minecraft 主机可能是更好的选择。

  1. 朋友/家庭组私人服务器(5-15 人)需要完全配置控制和清晰的每玩家成本
  2. 在长期托管前测试模组包/配置,利用按秒计费的低成本迭代
  3. 短期事件(LAN 派对、锦标赛)旋转、销毁、快照 — 避免为未使用的月份付费

常见错误及修复方法

最常见的错误是由于为实际玩家数和插件设置 -Xmx 过低而导致 OutOfMemoryError。注意日志中显示 java.lang.OutOfMemoryError: Java heap space 的消息。通过提高 -Xmx 来修复它,或者如果你已经接近 Droplet 的 RAM 限制,升级 Droplet 而不是强行挤压。 玩家注意到的服务器延迟通常源于沉重的插件处理或 server.properties 中设置的视距过高。使用游戏内命令 /timings(仅限 Paper)查看哪个插件或任务消耗最多刻度时间,然后降低视距或禁用不必要的插件。 玩家无法连接,即使进程正常运行?最可能是你忘记在 DigitalOcean Cloud Firewall 上打开端口 25565 或 ufw 阻止它。检查防火墙部分中描述的两层。如果在启动时收到 Failed to bind to port,另一个进程已在使用端口 25565 — 使用 sudo ss -tulpn | grep 25565 检查,杀死挂起的进程,然后重启。 最后一个常见初学者错误:忘记接受 EULA 导致服务器在第一次运行时生成配置文件后立即关闭。通过在 eula.txt 中设置 eula=true 并再次运行来修复它。如果服务器崩溃并损坏世界文件,准备一个经过测试的备份来恢复 — 永远不要依赖你至少没有实际恢复过一次的备份。

最佳实践

对于不接受陌生人的私人服务器,通过在 server.properties 中设置 white-list=true 启用白名单,然后使用游戏内命令 /whitelist add <player-name> 添加批准的玩家。这是比对公众打开防火墙没有额外保护层更强的防御。 启用 DigitalOcean Monitoring(免费)以实时监看 RAM、CPU 和磁盘使用情况,并设置告警策略在资源最大化前通过电子邮件通知你。这样你可以在服务器开始降级前提前升级你的 Droplet。 在安全方面:如果启用 RCON 进行远程控制,使用强大、独特的 RCON 密码 — 或如果不需要,完全禁用 RCON。定期保持你的 Paper/Forge 构建更新以获得最新的安全补丁和错误修复,特别是在可能有可利用漏洞的旧版本的公开服务器上。 最后,设置 cron 任务在最安静的时间(例如每天凌晨 4 点)自动重启服务器,以清除在插件或模组中长期运行时累积的内存泄漏。在依赖备份进行紧急情况前,始终测试至少一个完整的备份恢复 — 如果灾难发生,你会知道备份是可信的。

领取 $200 免费额度 →

常见问题(FAQ)

10 玩家服务器应该选择什么 Droplet 大小?
对于大约 10 个并发玩家,配备轻量级插件,建议使用 4 GiB RAM / 2 vCPU 的 Droplet,月费 $24。如果你有沉重的插件或预计增长到 15-20 个玩家,改为考虑 8 GiB RAM / 4 vCPU 的 Droplet,月费 $48。
Minecraft Java 版本需要打开哪些端口?
在 DigitalOcean Cloud Firewall 和 Droplet 上的 ufw 中打开 TCP 端口 25565(默认)。要同时支持 Bedrock 版本,你需要一个单独的 UDP 端口,这超出了本指南的范围。
运行 Minecraft 服务器需要什么 Java 版本?
这取决于你的 Minecraft 版本。Minecraft 1.20.5+ 需要 Java 21 或更高版本。在安装前始终从官方文档检查你的 Minecraft 版本的要求。
备份世界的最安全方式是什么?
使用两个层级:一个 cron 任务使用 tar/rsync 每天仅备份世界文件夹,配合 DigitalOcean Droplet 快照($0.06/GiB/月)进行全机器备份在重大更新前。始终将备份保存在主 Droplet 之外并至少测试一次恢复后再依赖它。
如何添加插件或模组?
对于 Paper,将插件 .jar 文件放在 plugins/ 中然后重启。对于 Forge,将模组 .jar 文件放在 mods/ 中并确保每个客户端与服务器具有完全相同的模组集和版本。
在 DigitalOcean 上运行 Minecraft 服务器每月成本多少?
这取决于 Droplet 大小:小型 2-5 玩家组从 $12/月开始,最高 10-20 个玩家或模组化服务器 $48/月 — 不包括卷或快照。查看 DigitalOcean 当前的 2026 年 7 月定价。