ホスティング型のカスタムボットなら、数分で自分の名前とアイコンを持つボットが手に入ります。サーバー、稼働時間、アップデートの責任は他者が負います。VPSでの自己ホスティングなら、完全な管理権とカスタムコードが手に入りますが、そのコードを書いて保守し、マシンを自分で稼働させ続ける必要があります。どちらが常に優れているわけではありません。どちらも、同じ責任を正反対の方向に分け合っているだけです。
VPSでの自己ホスティングに実際に必要なこと
- サーバーを借りる。どのプロバイダーのVPSでも、ボットをどれだけ使うかに関係なく、定期的に課金されます。
- ボットのコードを書くか、ダウンロードする。自分で書くか、設定して最新の状態に保つオープンソースのプロジェクトを使います。
- プロセスを稼働させ続ける。クラッシュやサーバーの再起動後に再開させるために、pm2やsystemdサービスのようなツールを使います。
- 自分でパッチを当てる。Discord.jsの更新、Node.jsのバージョンアップ、基盤となるOSのセキュリティパッチはすべて自分の責任です。
- 停止に気づくのも自分。自分で設定しない限り、代わりにボットを監視してくれるインフラはありません。
ホスティング型のカスタムボットでは何が必要か
両方の方法に共通する最初のステップである、Discord Developer Portalでのアプリケーションとトークンの作成を行い、そのトークンをホストのダッシュボードに貼り付けます。あとは、ホストのコードとインフラが、あなたのボットのアイデンティティでボットを動かします。パッチを当てるサーバーも、稼働し続けさせるプロセスも、自分で適用するアップデートもありません。機能セットは、あなたが最新のコードを取り込む時間を見つけたときではなく、ホストが改善したときに良くなります。
| VPSでの自己ホスティング | ホスティング型のカスタムボット |
|---|---|
| コードも動作も正確に自分が書いた、または選んだものだけ | ホストが提供する機能セットが、それ以上でもそれ以下でもない形で使える |
| プロセスを稼働させ続けてパッチを当てるのは自分 | ホストのインフラが行う |
| ボットが忙しくても暇でも、定期的なサーバー料金がかかる | Noxyrなら、無料のTop.ggへの投票1回で、サブスクリプションなし |
| 停止に気づくかどうかは自分次第 | ホストの監視が検知し、多くの場合は自分より先に気づく |
| データとその保存場所を完全に管理できる | データはホストのデータベースに置かれ、ホストのアクセス制御のもとにある |
正直なコストの話
VPSは、その月にボットをどれだけ使ったかに関係なく、毎月発生する固定費です。さらに、パッチを当てるために費やす時間も加わります。ホスティング型のカスタムボットのコストは、プロバイダー次第です。ほとんどの有料のホワイトラベルボットは、まさにこのためにサブスクリプションを課金します。Noxyrのカスタムボットは例外です。総コストは、Top.ggへの投票1回だけで、無料です。猶予期間が切れないように、およそ3.5日ごとに繰り返します。
自己ホスティングが適切な場合
既存のどの機能セットにもない動作が必要なとき、カスタムコマンドや、Discord外のサービスとの連携、誰も作らないようなコミュニティ固有のロジックが必要なときは、VPSを選びましょう。また、すでにNodeプロセスの運用に慣れていて、その程度の管理を例外ではなく標準として望む場合にも適しています。
ホスティング型のカスタムボットが適切な場合
必要な機能(チケット、ストア、セキュリティ、ギブアウェイ、認証)が、すでに機能セットに含まれていて、サーバー、パッチ、監視に時間を使いたくない場合は、ホストを選びましょう。これは、ほとんどのサーバー、ほとんどのショップ、そして1つのアイデンティティで複数のクライアントのサーバーを管理する代理店の多くに当てはまります。
見落とされがちな中間の選択肢:自分のコードを無料でホスティングする
自己ホスティングが、必ずしも有料のVPSを意味するわけではありません。自分のボットのコードを動かすための無料プランはたくさんあります。そのトレードオフは、通常、稼働の信頼性が低いこと、リソースの制限が厳しいこと、あるいは無料プランが予告なく終了することです。これは、VPSに近い第3の選択肢として知っておく価値があります。自分のコードを動かして保守する点ではVPSに近く、継続的な料金がかからない点が違います。その方法と、どこで不足しがちかについては、無料のボットホスティングガイドで正直に解説しています。
後から切り替えられますか?
はい。これは多くの人が予想していない点です。Developer Portalのアプリケーションとトークンは、どちらの方法にも固定されていません。ボットのトークンをリセットすると、現在それを使っているサービス(自分のVPSのプロセスでも、ホストでも)が即座に終了します。VPSからホスティング型のカスタムボットへ、またはその逆へ移るのは、アプリケーションを一から作り直すのではなく、トークンをリセットして別の場所に貼り付けるだけです。
よくある質問
初めてボットを持つ人はどちらを選ぶべきですか?ほぼ常にホスティングの方法です。どんなカスタム動作が必要かが正確にわかってからなら、VPSを選ぶことは後から見れば正当化しやすいです。しかし、それがわかる前にVPSから始めると、既製の機能セットで足りる基本部分を考えながら、サーバー代を払うことになってしまいます。
VPSは、ホスティング型のカスタムボットより信頼性が高いのですか?自動的にそうなるわけではありません。信頼性は、実際にプロセスを監視している人が誰かによって決まります。ヘルスチェック付きのインフラを持つホストは、監視を設定していない単独のVPSより、回復力が高い場合があります。
Noxyrのカスタムボットを動かすのにVPSは必要ですか?いいえ、それがまさに重要な点です。あなたがプロビジョニングしたり保守したりするサーバーはありません。
VPSからNoxyrのカスタムボットに、一から作り直さずに移れますか?はい。同じアプリケーションを残し、トークンをリセットして、新しいトークンを自分のコードではなくカスタムボットに貼り付けてください。
同じボットを、VPSとホストで同時に動かせますか?いいえ、同じトークンではできません。ボットとしてログインできるプロセスは一度に1つだけであるべきです。移すためにトークンをリセットすると、それまで動いていた場所は切断されます。
自己ホスティングは本当に無料ですか?コードは無料、オープンソース、または自作の場合もありますが、動かすサーバーは無料であることがほとんどありません。
自分でコードを書いているなら無料のボットホスティングガイドを、サーバーをまったく用意したくないならNoxyrを無料で追加してください。