docker-composeでValheim + Grafanaなゲームサーバーを作る
docker-composeでValheimのゲームサーバー + Grafanaによる監視を構成したのでメモ
Valheimとは
Valheimは北欧神話ライクなオープンワールドサバイバルクラフトゲームです。
デフォルトでは1~10人のマルチプレイに対応しています。
Valheimゲームサーバーを作る
友人(最大4人程度)とマルチで遊ぶためにValheimの専用サーバーを建てることにしました。
専用サーバーの構築にはSteam CLIのインストール等が必要ですが、幸いにも有志の方によってdocker imageが公開されています。
Deploymentの項目に様々な導入方法がありますが、今回は同時接続の人数が多くて4人程度だったのでdocker-composeを使用した方法を選択しました
VPSの選定
ゲームサーバーにはIndigo VPSを選択しました。
選定した理由は以下のとおりです
- 料金が安い
- 使用するdocker imageのSystem requirementsの項目には「4コアCPU & 8GBを推奨」との記載がありますが、他VPSだと月7000円ほどになり、最大4人で遊ぶには高額すぎると感じました
Indigo VPSの評判に関してSSH接続が不安定とのレビューも散見されましたが、特に運用に関して大きく困った点はありませんでした。*1
Grafana Cloud
サーバーのリソース監視やアラート等も出したかったのでGrafana(とPrometheus)による監視を入れることにしました。
Grafanaというとオンプレで動かすことが一般的なように思えますが、クラウド版を使ってみたかったのでGrafana Cloudを使用することにしました。
また、Grafana Cloudのサイトには丁寧にdocker-composeによる構築方法も記載されていたため、それに従って各種設定をしました。
docker-compose.yml
上記のことを実行したdocker-compose.ymlならびにその他設定ファイルは以下のリポジトリにまとめてあります。
余談
Indigo VPSを契約する前、RAMは4GBで十分だろうと、さくらのVPSの4GBプランを契約しましたが、8GBにスケールアップする際に高額 & スケールダウン出来ないのでIndigo VPSに乗り換えました。
契約してしまったさくらのVPSは最低利用期間が3ヶ月なので、何に使おうかな...