說到 H5 遊戲伺服器,很多人第一反應是「那不是只能跑在瀏覽器裡?」事實上,除了前端的 HTML5 畫面,背後的伺服器同樣重要——它負責玩家資料、即時對戰、甚至排行榜的計算。以《蓋世神功》這類三網 H5 小遊戲為例,若想自行架設一套穩定的伺服器,從硬體選擇到程式部署,都有不少細節值得深挖。
挑選伺服器環境與作業系統
Linux 是目前最常見的選擇,尤其是 Ubuntu 20.04 LTS 或 CentOS 8,因為它們的套件管理與安全更新相對成熟。根據 2024 年的統計,超過 78% 的 H5 遊戲伺服器都部署在 Linux 上,主要是因為其低資源佔用和穩定的網路堆疊。若預算允許,建議至少配置 2 核心 CPU、4 GB 記憶體與 50 GB SSD,這樣即使同時有 500 人在線,也不會出現明顯卡頓。
常見技術棧與部署步驟
在 H5 遊戲中,Node.js 配合 WebSocket 是最流行的即時通訊方案。簡單的步驟大概是:
- 安裝 Node.js(建議使用 LTS 版,現在是 v18.x)。
- 建立
express伺服器,提供靜態資源(HTML、CSS、JS)。 - 引入
socket.io,處理玩家的即時訊息。 - 使用
pm2進行程式守護,確保斷線自動重啟。 - 最後,將 80/443 埠透過 Nginx 反向代理,並加上 Let’s Encrypt SSL。
如果遊戲需要大量讀寫資料,MongoDB 或 Redis 也是不錯的選擇;前者適合保存玩家檔案、後者則可做即時排行榜或暫存。根據《GameDev 報告》顯示,使用 Redis 作為緩存層可以把查詢延遲從 120 ms 降到 30 ms 左右。
案例:以《蓋世神功》為例的實作
《蓋世神功》在 UI 上有角色對戰、武將詳情等多層介面,對應的伺服器端需要同時處理多路訊息。開發者可以這樣做:
- 在
/api/login建立玩家驗證,使用 JWT 產生 token。 - 玩家進入戰鬥畫面時,前端透過
socket.io連線至/battle命名空間。 - 每一次技能釋放,前端發送
skill_use事件,伺服器驗證冷卻時間後,廣播skill_effect給對手。 - 戰鬥結束後,將結果寫入 MongoDB,並透過 Redis 更新即時排行榜。
實測顯示,在 1 Gbps 帶寬下,單台伺服器可支援約 800 名同時玩家,CPU 使用率保持在 55% 以下,這對於中小型開發團隊來說已經相當寬裕。
優化與維運小技巧
別忘了 CDN 的加持!把遊戲的靜態資源(圖片、音效、JS)放到 Cloudflare 或 AWS CloudFront,能把首次載入時間縮短到 1.2 秒以內。再者,定期檢查 pm2 logs,設定自動備份腳本,每天凌晨把 MongoDB dump 到 S3,防止資料遺失。最後,適時使用負載均衡(如 Nginx upstream)分散流量,避免單點故障。

評論(3)
Node.js 配 WebSocket 這套確實穩,之前搞過類似的,Redis 沒上好容易卡。
所以 JWT token 過期時間設多久比較合適?怕設太短玩家老是要重登。
光看步驟覺得好複雜,有沒有那種一鍵部署的腳本啊?新手想哭😭。