架構總覽¶
伺服器跑在一台雲端 VM 上,核心設計是「只在真的有人玩時才計費」。
玩家
│
Discord /start │ Minecraft 連線
(喚醒 VM) ▼
Cloudflare Worker ─▶ GCP VM ◀─ Cloudflare DDNS
│ (浮動 IP → 網域)
┌────┴────┐
│ Pterodactyl 面板 + wings │
├─────────┬─────────┤
│ Minecraft │ Rust │
│ (Paper) │(休眠保留)│
└─────────┴─────────┘
│
閒置 30 分 → 自動關機(停止計費)
組成¶
| 元件 | 角色 |
|---|---|
| GCP VM | 雲端主機(區域 asia-east1-c / 台灣,低延遲)。外部 IP 浮動,每次開關機會變。 |
| Pterodactyl 面板 + wings | 管理兩台伺服器(Minecraft 主線、Rust 休眠保留)的網頁面板。 |
| Cloudflare DDNS | 開機後把當前浮動 IP 綁回固定網域,面板↔wings 走本機連線,IP 變動不影響。 |
| 閒置自動關機 | 無人達 30 分鐘即自動關機,GCP 將實例標記為 TERMINATED,停止運算計費(僅保留少量磁碟費)。 |
| Discord 喚醒 | Discord /start 指令觸發 Cloudflare Worker 喚醒 VM(見 開關機與喚醒)。 |
為什麼這樣設計
home hosting 因路由器丟包與 IP 變動導致連線問題而放棄;靜態 IP 雖穩但閒置也要錢。DDNS + 閒置關機的組合把成本壓到最低,同時維持穩定連線。
帳號 / 專案 / 位址細節
GCP 專案 ID、面板網址與帳密、SSH 連線資訊等不列於此公開站,請至工作區機密檔查取。
兩台伺服器¶
- Minecraft(主線):Paper 插件伺服器,RPG 主場。開機時預設不自動啟動 Minecraft——需在面板停掉 Rust、再啟動 Minecraft(單機 RAM 不足以同時跑兩台)。
- Rust(休眠保留):保留世界資料,不刪。開機時預設自動啟動。要玩 Minecraft 前先停 Rust。