这是什么
Minecraft Server 是 Minecraft: Java Edition 的自托管多人游戏后端,让你可以运行一个持久化的世界,供好友或社区通过互联网连接。像 Paper 和 Purpur 这样的服务端版本相比原版服务器(vanilla server)增加了插件支持,并带来了显著的性能提升,因此规则、模组、白名单和世界数据都由你自己掌控。
为何选择离岸托管
公开的 Minecraft 服务器一直是 DDoS 攻击的常见目标,而在商业租用平台上托管自己的服务器通常意味着要提交身份证件和银行卡号。在无需 KYC、以加密货币支付的 ChainVPS 实例上,你可以保留完整的 root 权限,获得全天候的 DDoS 防护和无限量的玩家流量带宽,并且永远不会把你的游戏社区和真实身份绑定在一起。
部署过程
一套可用的参考配置
将其复制到全新的 ChainVPS 实例中。替换占位符后即可启动。
services:
mc:
image: itzg/minecraft-server:latest
container_name: minecraft
ports:
- "25565:25565" # Java Edition (TCP) — the only port players need
# - "127.0.0.1:25575:25575" # RCON — keep bound to localhost, never public
environment:
EULA: "TRUE" # required: accepts Mojang EULA
TYPE: "PAPER" # high-performance server; use VANILLA/FABRIC/FORGE as needed
VERSION: "1.21.4" # pin a version; "LATEST" also works
MEMORY: "4G" # heap size; leave headroom below the VPS's total RAM
DIFFICULTY: "normal"
MAX_PLAYERS: "20"
VIEW_DISTANCE: "10"
SIMULATION_DISTANCE: "8"
ONLINE_MODE: "TRUE" # verify accounts with Mojang/Microsoft
ENABLE_WHITELIST: "TRUE"
OVERRIDE_WHITELIST: "TRUE"
ENABLE_RCON: "TRUE"
RCON_PASSWORD: "replace-with-a-long-random-string"
volumes:
- ./data:/data # world + configs persist here — back this up
stdin_open: true
tty: true
restart: unless-stopped
防火墙
需开放的端口
| 端口 | 协议 | 用途 |
|---|---|---|
| 25565 | TCP | Java Edition 客户端连接 — 唯一必须对玩家开放的端口 |
| 25575 | TCP | RCON 远程控制台 — 仅绑定到 127.0.0.1,切勿对外公开 |
| 19132 | UDP | 如果添加 GeyserMC 插件,可选用于 Bedrock 跨平台联机 |
按需调配规格
您需要哪种套餐
VPS Small (2 vCPU / 4 GB)
将 MEMORY 设置为 2-3G。Minecraft 每个 tick 主要依赖单线程性能,因此高主频比核心数量更重要。
VPS Pro (4 vCPU / 8 GB)
MEMORY 设置为 4-6G,并适当缩小视距/模拟距离。在这种规模下,Paper/Purpur 能让 tick 时间保持健康。
Dedicated (fast single-core CPU, 16 GB+)
整合包会大量占用内存并压满单个核心。使用高主频 CPU 的独立服务器可以避免共享 VPS 核心带来的 tick 延迟。
最佳地区: 对于游戏服务器而言,玩家的延迟比隐私等级更重要,因此应选择离大多数玩家最近的机房。ChainVPS 的中欧节点(NL、RO、LU)以及 CH 隐私等级机房可以在全欧洲范围内提供低延迟,同时仍然提供无需 KYC 的计费方式和 DDoS 防护;如果你想要离岸司法辖区,且玩家分布在整个欧盟范围内、对延迟不敏感,可以选择 IS 或 MD。
全面加固安全
安全加固清单
- 切勿将 RCON(25575)暴露到公网 — 在 compose 文件中将其绑定到 127.0.0.1,并使用足够长的随机 RCON_PASSWORD;改为通过 SSH 或 docker exec 访问它。
- 保持 ONLINE_MODE=TRUE 并启用白名单(ENABLE_WHITELIST/OVERRIDE_WHITELIST),确保只有经过验证、获批准的账号才能加入;使用 'docker exec minecraft rcon-cli whitelist add <name>' 添加玩家。
- 自动化世界备份:通过 cron 定时执行 'docker exec minecraft rcon-cli save-off && save-all',然后对 ./data 数据卷执行 tar 打包,再执行 'save-on' — 将备份副本存放在服务器之外,这样即使发生崩溃或数据清空,也不会丢失你的世界。
- 在主机上运行防火墙(ufw),只允许 22 和 25565 端口;Minecraft 服务器经常成为 DDoS 攻击和机器人扫描的目标,因此请善用 ChainVPS 内置的防护,不要开放多余的端口。
- 将 MEMORY 设置在 VPS 总内存以下(为操作系统预留约 1-2 GB),以避免 JVM 触发 OOM 终止;itzg 镜像会自动应用 Aikar GC 参数,因此除非你清楚原因,否则不建议手动调整堆参数。
问题
主机服务 Minecraft 服务器 — 常见问题
这套配置支持 Minecraft: Bedrock(手机/主机)玩家吗?
上面的配置是 Java 版。要让 Bedrock 客户端加入同一个世界,需要在 Paper 服务器上添加 GeyserMC 和 Floodgate 插件,并开放 UDP 19132 端口。如果要搭建纯 Bedrock 服务器,请改用 itzg/minecraft-bedrock-server 镜像。
我必须使用 Docker 吗,还是可以直接运行?
Docker 是最简洁的方式,也是上面 compose 文件所采用的方案。如果你更喜欢裸机部署,可以安装 JRE(1.20.5 及以上版本需要 Java 21),下载 Paper jar 文件,在 eula.txt 中接受 EULA,然后在 systemd 单元或 tmux 会话中使用 'java -Xmx4G -jar paper.jar nogui' 启动。
Minecraft 服务器实际需要多少内存?
几个好友一起玩的原版服务器,2-3 GB 就足够。带插件、10-20 名玩家的服务器需要 4-6 GB。整合包是个例外,可能需要 8-12 GB 甚至更多。请始终在套餐总内存以下为操作系统预留一定空间。
离岸机房会不会让玩家产生延迟?
延迟取决于地理距离,而不是无需 KYC 的计费方式。请选择离你的玩家群体最近的 ChainVPS 节点;中欧节点为大多数欧盟社区提供低于 50 ms 的延迟。与射击类游戏相比,Minecraft 对延迟的容忍度相当高。
我可以不提供身份信息就付款吗?
可以。ChainVPS 无需 KYC,支持加密货币支付,因此你可以在不将银行卡或身份信息与你的社区绑定的情况下,创建并运行 Minecraft 服务器。