ゲームサーバーや常駐Botを自宅PCで動かし続けるのは,電気代・騒音・停電・回線品質のすべてが不利だ.VPSなら24時間,静かに,安定して動く.
対象は仲間内のゲームサーバーやBotを安定運用したい人.読み終えたとき,「気づいたら落ちてた」を防ぐ常駐運用の型が手に入ります.
なぜ常駐サービスはVPS向きなのか
ゲームサーバーやBotは24時間起動し続けるのが前提だ.自宅PCを点けっぱなしにするのは現実的でなく,外部公開もセキュリティ上避けたい.
VPSは固定IP・常時起動・安定回線が標準で揃う.用途に合わせてメモリを選べるので,人数規模に応じた最適な1台を用意できる.
ステップ1:用途に合うメモリを見積もる
Discord Botのような軽量常駐なら1GB前後,Minecraftなどのゲームサーバーは人数とMODで4GB〜が目安になる.
足りないとカクつき・クラッシュの原因になる.後からスケールアップできるVPSを選び,小さく始めて増やすのが安全だ.
ステップ2:プロセスをサービス化して自動復帰させる
手動起動だとクラッシュやVPS再起動で止まったままになる.systemdサービス化して,落ちても自動で立ち上がるようにする.
/etc/systemd/system/mybot.service
[Unit]
Description=My Discord Bot
After=network.target
[Service]
User=deploy
WorkingDirectory=/home/deploy/bot
ExecStart=/usr/bin/node index.js
Restart=always
[Install]
WantedBy=multi-user.targetステップ3:起動・自動起動を有効にする
サービスを有効化すれば,OS再起動後も自動で立ち上がる.これで「停電後に止まったまま」が無くなる.
サービス有効化と状態確認
sudo systemctl daemon-reload
sudo systemctl enable --now mybot
sudo systemctl status mybotステップ4:ポート開放はゲームに必要な分だけ
ゲームサーバーは専用ポートを開ける必要がある(例: Minecraftは25565).必要なポートだけファイアウォールで許可する.
ufw でゲームポートを開放
sudo ufw allow 25565/tcp # 例: Minecraft
sudo ufw statusステップ5:セーブデータを定期バックアップ
ワールドデータやBotの設定は消えたら取り返しがつかない.cronで定期的に固めて別の場所に退避する.
毎日ワールドをバックアップ(cron)
0 4 * * * tar czf /home/deploy/backup/world-$(date +%F).tgz /home/deploy/server/world補論:常駐運用は「メモリの余裕」と「巻き戻し」で安定する
常駐サービスの安定は,メモリの余裕に大きく依存する.人が増えてカクつき始めたら,増設できるVPSなら数分のプラン変更で解決できる.
高速NVMe・50種類以上のOSテンプレートに対応した国内VPS─シン・VPS─ はNVMe SSDでワールド読み込みやBotの応答が軽く,後からメモリ増強もできる.スナップショットを取っておけば,MOD導入の失敗やワールド破損からも復帰しやすい.
Botやサーバーに分かりやすい名前でアクセスさせたいなら,取り扱い400種類以上のドメイン取得サービス─ムームードメイン─ で取得したドメインを割り当てると良い.IP直打ちより共有もしやすくなる.
よくある質問
Q1:自宅PCではダメなの?
動くが,電気代・騒音・停電・回線・固定IP・セキュリティのすべてで不利だ.24時間運用を考えるとVPSの方が総合的に安く安定する.
Q2:人数が増えて重くなったら?
スケールアップ対応のVPSなら,上位プランに変更してメモリ・CPUを増やせる.まず小さく始め,必要になってから増やすのが賢い.
Q3:Botのトークンはどう管理する?
環境変数や.envに置き,Gitには絶対に入れない.漏洩したら即座にトークンを再発行すること.
まとめ ― 「落ちない常駐」は仕組みで作る
常駐サービスの安定は根性ではなくsystemdの自動復帰・適切なメモリ・定期バックアップという仕組みで決まる.VPSはその土台に最適だ.
まずは小さな1台でBotを常駐させ,OS再起動後も自動で戻るのを確認しよう.その安心感が,常駐運用の第一歩になる.