幾年前寫了篇概念上抗 DDoS 方式,不過因為一些因素,自己是沒在使用,畢竟有點懶,後來也因為伺服器經營上的結果還算成功,也遭人盯上導致幾乎每天都被打。
![](https://crlab.io/wp-content/uploads/2019/08/1564627120-9ac4774d7771eba8c49990e056416a59-1200x636.png)
看看 Smokeping 畫出的圖表,就知道每天都有數十次斷線的狀況。
![](https://crlab.io/wp-content/uploads/2019/08/1564627215-ac196ae8c9086b796fb3c9f09ede5371.png)
後來還是決定做一下抗 DDoS 的方法,不過跟概念上的那篇是有點差異的。總之看一下伺服器架構,其實很簡單,就只是透過 BungeeCord 來轉發玩家的流量過來而已。
![](https://crlab.io/wp-content/uploads/2019/08/1564627637-430570160f7bf875dd7b80caf9c55c65.png)
先在 Google Compute Engine 建立一台機器,規格不用太大也不需要綁定固定 IP,並在上面跑 BungeeCord,接著 Cloud Lad Balancing 建立 TCP 附載平衡並設定固定 IP 以利後續連線,後端指向剛剛開的 Compute Engine,就可以完成抗 DDoS 與低延遲的遊戲體驗。
![](https://crlab.io/wp-content/uploads/2019/08/1564628050-8c8d5bbbc30a541c7cd9714909657d80.png)
唯一付出的代價是…以我的玩家數,一天約會有 300 多 GB 的流量,五天算下來約 50 多美金,大概就是一個月 300 美金的成本。