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 保持在測試環境,不要擴大權限或取代現有穩定流程。