跳转至

架構總覽

伺服器跑在一台雲端 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。