Pumpkin Minecraft 服务器部署:Docker、Java/Bedrock 兼容性与性能验证

Pumpkin Rust Minecraft 服务器部署指南,介绍 Docker 启动、端口与配置、Java/Bedrock 兼容性、世界数据备份、性能测试和开发阶段风险。

Pumpkin 的本篇教程围绕标题中的具体任务展开。Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

下面使用测试环境和可撤销数据演示。涉及账号、密钥、机器控制、投资或应急通信时,必须再做人工确认。

先确认 Pumpkin 的成熟度和支持范围

这一节只处理“先确认 Pumpkin 的成熟度和支持范围”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
# 阅读 README、release 与已知问题

对 Pumpkin 来说,判断结果时必须结合这一边界:Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

Java 版与 Bedrock 版不是同一协议

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
Test-NetConnection 127.0.0.1 -Port 25565

完成标准是“Java 版与 Bedrock 版不是同一协议”得到可核验结果,而不是命令刚好没有报错。

用空白测试世界开始

检查项 通过标准 停止信号
用空白测试世界开始 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
New-Item -ItemType Directory -Path .\pumpkin-test -Force

出现停止信号时先恢复,不要继续下一步。

Docker 容器只开放需要的游戏端口

这一节只处理“Docker 容器只开放需要的游戏端口”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
docker version

对 Pumpkin 来说,判断结果时必须结合这一边界:Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

首次启动完整保存日志

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
docker logs --tail 200 pumpkin

完成标准是“首次启动完整保存日志”得到可核验结果,而不是命令刚好没有报错。

客户端能进入后测试哪些动作

检查项 通过标准 停止信号
客户端能进入后测试哪些动作 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
# 登录、移动、放置方块、聊天、重连

出现停止信号时先恢复,不要继续下一步。

不要用在线人数判断性能

这一节只处理“不要用在线人数判断性能”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
docker stats --no-stream pumpkin

对 Pumpkin 来说,判断结果时必须结合这一边界:Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

记录 tick、CPU、内存和延迟

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
docker stats --no-stream pumpkin

完成标准是“记录 tick、CPU、内存和延迟”得到可核验结果,而不是命令刚好没有报错。

世界保存后验证重启一致性

检查项 通过标准 停止信号
世界保存后验证重启一致性 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
docker restart pumpkin

出现停止信号时先恢复,不要继续下一步。

插件与模组兼容必须单独确认

这一节只处理“插件与模组兼容必须单独确认”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
docker logs pumpkin | Select-String -Pattern 'error|unsupported'

对 Pumpkin 来说,判断结果时必须结合这一边界:Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

Bedrock 兼容层要做跨版本测试

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
# 使用两个受支持客户端版本分别连接

完成标准是“Bedrock 兼容层要做跨版本测试”得到可核验结果,而不是命令刚好没有报错。

公网开放前设置访问控制

检查项 通过标准 停止信号
公网开放前设置访问控制 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
Get-NetFirewallRule -Enabled True | Select-Object -First 20

出现停止信号时先恢复,不要继续下一步。

备份世界、配置和玩家数据

这一节只处理“备份世界、配置和玩家数据”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
docker volume inspect pumpkin-data

对 Pumpkin 来说,判断结果时必须结合这一边界:Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

升级镜像先复制测试实例

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
docker image ls

完成标准是“升级镜像先复制测试实例”得到可核验结果,而不是命令刚好没有报错。

异常关机后检查世界损坏

检查项 通过标准 停止信号
异常关机后检查世界损坏 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
docker logs --since 10m pumpkin

出现停止信号时先恢复,不要继续下一步。

生产迁移的退出条件

这一节只处理“生产迁移的退出条件”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
docker ps --filter name=pumpkin

对 Pumpkin 来说,判断结果时必须结合这一边界:Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

白名单与管理员权限先在测试服验证

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
docker logs --tail 100 pumpkin

完成标准是“白名单与管理员权限先在测试服验证”得到可核验结果,而不是命令刚好没有报错。

三名以上玩家同时连接的负载变化

检查项 通过标准 停止信号
三名以上玩家同时连接的负载变化 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
docker stats --no-stream pumpkin

出现停止信号时先恢复,不要继续下一步。

回滚后客户端版本仍要重新测试

这一节只处理“回滚后客户端版本仍要重新测试”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
docker logs --since 5m pumpkin

对 Pumpkin 来说,判断结果时必须结合这一边界:Pumpkin 仍需按项目成熟度评估生产使用;Minecraft 服务端迁移不能只看能否登录,还要验证世界数据、插件或协议兼容、延迟和回滚。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

Pumpkin 的最终核对

  • 使用的版本和来源已经记录。
  • 测试输入与正式数据已经隔离。
  • 命令、配置和实际输出能够对应。
  • 失败路径至少主动测试过一次。
  • 密钥、账号和私人数据没有进入 Git 或日志。
  • 升级、停止和恢复都有明确动作。

如果仍无法解释结果如何产生,就继续把 Pumpkin 保持在测试环境,不要扩大权限或替换现有稳定流程。