一度だけ定義する用語
ドキュメントと製品ページに繰り返し登場する48個の用語です。各定義は単独で成り立つので周囲のページなしで引用でき、用語が使われているガイドやリファレンスへのリンクも付いています。
この用語集は48個の用語を5つのグループで定義します。製品とライセンス、パネル管理、DNS・証明書・メール、Discordボット、WebとAI検索です。各項目には一文の定義、詳細、その用語が使われているページへのリンク、関連用語があります。項目はDefinedTermの構造化データとしても公開されています。
製品とライセンス
- セルフホスト#
-
運用者が所有するか直接借りているハードウェア上で動き、ベンダー側の実行環境を持たないソフトウェア。
セルフホストの製品は自分のマシンにインストールして、そこで動かします。ベンダーのデータベースに記録が残ることも、ユーザーごとのアカウント制度もなく、すでにディスクにあるデータへのアクセスをどのサービスにも取り消されません。Vorqulの2つの製品はどちらもこの方式です。VorqulBOTはNodeプロセスとして、VorqulPanelはJava JARとして動きます。
- サーバーコントロールパネル#
-
Linuxサーバー上で動くサービスをまとめて扱う1つの管理画面。
コントロールパネルは、Webホスティング、DNS、メール、データベース、ファイルアクセス、ファイアウォールのルール、モニタリングを1つの画面にまとめます。日常の変更のたびにサブシステムごとの設定ファイルを開く必要がなくなります。VorqulPanelはこれらの領域を1台のサーバーでカバーし、自身のデータはSQLiteに、希望すればMySQL、MariaDB、PostgreSQLに保存します。
- 買い切りライセンス#
-
定期購読ではなく、1つのデプロイを対象とする1回限りの購入。
VorqulPanelはこの方式でライセンスされます。支払いはデプロイごとに1回で、価格は動かすサーバーの台数で決まり、購入したバージョンは更新なしで使い続けられます。再配布、転売、サブライセンス、第三者向けの再ホスティングは対象外です。
- テレメトリ#
-
インストールされたソフトウェアがベンダーに送り返す利用データ。
テレメトリはオープンソースにも商用ソフトウェアにもあり、ベンダーは普通「匿名」と呼びます。Vorqulの製品は一切送信しません。つまり実行時のライセンス確認もなく、ベンダーが止まっても動かなくなるものはありません。
- 監査ログ#
-
管理操作を追記のみで残す記録で、後から変更を誰の操作か特定できるようにするもの。
設定が変わったと知ることと、誰がいつどこから変えたかを知ることは別です。後者を与えてくれるのが監査ログです。VorqulBOTはギルドごとに、VorqulPanelはサーバーごとに記録を持ち、どちらも運用者が管理するインフラ上に残ります。
- パネルのデータベース#
-
VorqulPanelが自身の状態を保存する場所。初期値はSQLiteで、MySQL、MariaDB、PostgreSQLを選べ、SQL Serverはベータ。
パネルがWebサイト用に作るデータベースとは別のものです。エンジンを後から変えてもデータは移らないので、インストール時にDB_ENGINEで選んでください。
- モジュールスイッチ#
-
VorqulPanelの一部(ゲームホスティング、Webホスティング、メール、またはそれらの機能)をまるごとオン・オフする設定。
オフにしたスイッチはメニュー項目を隠し、APIも404を返すので、URLを直接開いても機能には届きません。何もアンインストールされず、データも削除されず、オンに戻せばすべて元通りです。
- 二要素認証(TOTP)#
-
認証アプリの時間ベースのコードを使う、ログインの2段階目。VorqulPanelは管理者に必須にできます。
管理者を作ったらすぐにSettings、Accountでオンにしてください。アクセスを失った場合は、vorqulctl reset-adminで新しいセットアップリンクを発行できます。
パネル管理
- vorqulctl#
-
VorqulPanelと一緒にインストールされる、パネルの起動、更新、復旧、点検のためのコマンドラインツール。
systemdサービスと、その周辺に必要な作業をまとめたもので、status、logs、setup-url、reset-admin、modules、自動ロールバック付きのupdate、fix-libs、uninstallがあります。rootまたはsudoで実行します。
- Root helper (vorqul-helper)#
-
VorqulPanelが必要とする特権操作を少数だけ実行する、rootが所有する小さなスクリプト。これでパネル本体は権限のないユーザーで動けます。
決まった操作のリストだけを受け付け、それ以外はすべて拒否します。ポリシーは/etc/vorqul-helper.confにあり、有効にしたモジュールの範囲に絞られています。そのためSettingsでモジュールをオンにしただけでは、パネルにその権限は与えられません。
- セットアップURL#
-
インストーラーが表示する1回限りのリンクで、最初の管理者アカウントを作るフォームを開く。
管理者がいない間は、パネルのポートに最初に到達した人が作れてしまうため、この枠はパネルの起動から1時間で閉じます。vorqulctl setup-urlで新しいリンクを表示でき、vorqulctl reset-adminで交代用の管理者のリンクを発行できます。
- 設定テストとロールバック#
-
VorqulPanelがWebサーバーの変更を適用する前に行う安全確認で、新しい設定をテストし、失敗したら古い設定に戻す。
そのため、不具合のあるvhostがサーバー全体を落とすことはありません。同じ考え方はDNSゾーンにも当てはまり、BINDがリロードする前にnamed-checkzoneで検証されます。
- バーチャルホスト(vhost)#
-
あるドメイン名に対してどのサイトを返すかをnginxやApacheに伝える、Webサーバー設定のブロック。
VorqulPanelは、接頭辞vorqul-が付いた自分のvhostファイルだけを書き込み、Webサーバー設定のそれ以外には手を付けません。
- vhostの引き継ぎ#
-
サーバー上にすでに設定されているサイトをVorqulPanelが管理してよいと、明示的に確認すること。
引き継いだサイトは書き換えずに読み取られます。確認後はまずバックアップを取り、引き継ぎはsites-enabledのリンクを外すだけで、元のファイルは削除しません。
- リバースプロキシモード#
-
ローカルポートで動くアプリケーションの手前に、Webサーバーのvhostを置くドメイン設定。
パネルがvhostを書き込み、証明書も発行できるので、Node.jsやPythonのサービスを含むどんなアプリも、通常のドメインでHTTPSで提供できます。
- cgroup v2の制限#
-
VorqulPanelが各ゲームサーバーのメモリ、CPU、プロセス数を抑えるために使う、Linuxカーネルの仕組み。
niceやcpulimit、ulimitの代わりに使います。これらは実際の使用量を制限しないか、プロセスを凍結させてしまいます。上限を超えたサーバーは自分のグループ内で強制終了され、カーネルが行ったことがパネルに記録されるので、メモリ不足による終了とクラッシュを区別できます。
- クラッシュ解析#
-
停止したゲームサーバーの最後の数行を読み、考えられる原因と対処を示すVorqulPanelの機能。
よくある原因は、Javaのバージョン違い、使用中のポート、メモリ不足、EULAの欠落、壊れたプラグイン、ディスクの満杯です。再起動しても意味がない場合、自動再起動は行いません。
関連 cgroup v2の制限
- オフサイトバックアップ#
-
サーバーの外のストレージに送るバックアップのコピー。マシンを失ってもバックアップを失わないための備え。
VorqulPanelは、コピーがサーバーを出る前にAES-256-GCMで暗号化します。保存先はパネルで設定でき、Google Driveのようなクラウドにはrclone経由で接続できます。
- リストアドリル#
-
パネルが自分の最新のバックアップを展開し、その中のデータベースを開いて確かめる、定期的なチェック。
アーカイブが本当に復元できることを証明します。これは、アーカイブがあることとは別のことです。
関連 オフサイトバックアップ
- chroot化されたSFTP#
-
1つのディレクトリに閉じ込められたファイル転送用アカウントで、サーバーのそれ以外の場所は見られない。
VorqulPanelのゲームサーバーにはそれぞれ専用のchroot化されたSFTPアカウントが付き、Webサイトにも自分のフォルダに限定したアカウントを持たせられます。総当たり攻撃への対策は組み込まれています。
- nftables#
-
VorqulPanelがufwやfirewalldと並んでポートの開閉に使う、Linuxのパケットフィルター。
パネルは、自分のテーブルに自分のタグ付きルールを追加・削除するだけです。ルールセット全体を消去したり、デフォルトポリシーを変えたり、SSHのルールに触れたりすることはありません。
DNS・証明書・メール
- DNSゾーン#
-
あるドメインのDNSレコードの集まりで、VorqulPanelがBIND9を通じて自分で提供できるもの。
パネルはゾーンファイルを書き込んで検証し、Cloudflareとの間でレコードをコピーできますが、向こうで何かを削除することはありません。
- ACMEとLet's Encrypt#
-
VorqulPanelがacme.shまたはcertbotを通じてHTTPS証明書を発行するときに使う、プロトコルと無料の認証局。
発行には、DNSレコードがあらかじめサーバーを指しているか、ポート80なしで名前を証明できるCloudflare DNSトークンが必要です。Let's Encryptは1時間あたりホスト名ごとに失敗した検証を5回までしか認めないため、パネルは認証局に接続する前にDNS、ポート80、vhostの対応状況を確認します。
- DKIM#
-
送信メールにつける暗号署名で、DNSレコードとして公開し、受信側がメッセージがあなたのドメインから来たことを確認できるようにする。
VorqulPanelでは、メールドメインを追加するときにRspamdで鍵が作られ、公開すべきレコードがパネルに表示されます。レコードはFromヘッダーのドメインの下に置き、メールホストの下には置きません。
- SPFとDMARC#
-
どのサーバーがドメインの代理でメールを送ってよいかと、確認に通らなかったメールを受信側がどう扱うかを示す2つのDNSレコード。
DKIMと組み合わせて働きます。VorqulPanelはレコードを生成し、到達性チェックで、どれかが欠けているか間違っているときに知らせます。
- PTRレコード#
-
サーバーのIPアドレスをホスト名に結び付ける逆引きDNSの項目で、受信側のメールサーバーが確認する。
IPを借りている側で設定するため、どのパネルも代わりに変更できません。PTRと一致しないメールホスト名は、証明書がないことよりも到達性を悪くします。
- MTA-STSとTLS-RPT#
-
送信側のサーバーに、あなたのメールサーバーへはTLSを使わなければならないこと、失敗の報告先を伝える、DNSで公開するポリシー。
MTA-STSがないと、通信を傍受できる人がSTARTTLSの提示を取り除き、送信側は気づかないうちに平文にフォールバックします。ポリシーファイル自体はhttps://mta-sts.あなたのドメイン/.well-known/mta-sts.txtで配信する必要があります。
Discordボット
- Server Health Score#
-
VorqulBOTがDiscordサーバーの活動、定着、成長、オンボーディングの信号から計算する総合スコア。
このスコアは4つの別々の傾向を1つの数字にまとめ、時間の経過とともに見られるようにします。サーバーを自身の過去と比べて評価し、他のサーバーとの順位付けはせず、モデレーションの良し悪しの判定もしません。
- ケース履歴#
-
Discordサーバーで行われたすべてのモデレーション操作を、番号付きで検索できるように残した記録。
BAN、キック、警告、タイムアウトのたびに、対象、担当者、理由、期間、日時を持つケースが作られます。何か月たっても、なぜその判断をしたか、誰がしたかを説明でき、そのために保存しています。
- モジュールレジストリ#
-
VorqulBOTとそのダッシュボードの両方が読む44個のモジュールの一覧で、片方にだけスイッチがあって片方で無視される状況を防ぐもの。
レジストリは各モジュールの名前、所属グループ、最初から有効かどうかを定めます。最初から有効なのは9個で、モデレーション、レベリング、afk、投票、エコノミー、ゲーム、giveaway、リマインダー、プレフィックスコマンドです。残りの35個は無効で始まります。ボットのプロセスとWebダッシュボードは同じファイルを読むので、2つがずれることはなく、WebUIが別のボットでよく起きる問題を避けられます。
- AutoModフィルター#
-
モデレーターがメッセージを見る前にVorqulBOTが実行できる15種類のチェックの1つで、それぞれ独自のしきい値、操作、期間を持つ。
フィルターは、スパム、繰り返しテキスト、リンク、招待、大文字、メンション、大量メンション、ゴーストピング、絵文字の連投、スポイラーの連投、zalgo、フィッシング、偽nitro、暗号資産詐欺、独自の正規表現を対象にします。初期設定で有効なのはフィッシングと偽nitroだけです。各フィルターは独立して働くので、1つは削除、別のものはタイムアウト、3つ目はBANといった使い分けができます。
- エスカレーションラダー#
-
一定期間内の違反回数に応じて、モデレーターがそのつど判断しなくても、より重い処置に切り替えるルール。
VorqulBOTには2種類あります。AutoModのエスカレーションは、期間内(初期設定は1時間)にフィルターが繰り返し反応したときに働きます。警告の処置も同じ仕組みを手動で使うもので、回数、日数の期間、処置を決めると、7日間に3回の警告でミュートといった運用ができます。複数のルールを重ねられ、繰り返す違反者は自動で段階が上がります。
- シャドウミュート#
-
メンバー本人には自分のメッセージが見え、ほかの誰にも見えないミュート。
フィードバックの循環を断ちます。ミュートされたと伝えると、本人は言い争うか別のアカウントで戻ってきます。いつも通り投稿されているように見えれば、たいてい興味を失います。VorqulBOTは通常のミュート、タイムアウト、jailと並べて、shadowmuteとunshadowmuteとして提供します。
- Jail#
-
メンバーのロールを取り上げ、アクセスを限られたチャンネルだけに絞るモデレーション状態。
JailはタイムアウトとBANの中間です。メンバーはサーバーに残り、話しかけることもできるので、問題を整理する間に役立ちますが、それまで届いていたものにはアクセスできなくなります。ロールはunjailで戻ります。
- Prefix bridge#
-
!dailyのような従来のテキストコマンドを、スラッシュコマンドと並べて使い続けられるようにするモジュール。
スラッシュコマンドはほぼあらゆる点で優れていますが、3年間!dailyと打ってきたサーバーはこれからも打ちます。ブリッジはテキスト形式を同じハンドラーに割り当てます。誰も覚え直す必要がなく、二重に保守するものもありません。初期設定で有効な9つのモジュールの1つです。
関連 スラッシュコマンド
- Pterodactyl egg#
-
Pterodactylパネルに、特定のアプリケーションのインストール方法と起動方法を伝える設定ファイル。
VorqulBOTには付属しています。インポートし、SFTPでファイルをアップロードし、StartupのDiscordトークンを入れて起動を押します。初回の起動で、依存関係のインストールとコードのコンパイルを自動で行います。すでにゲームホスティング用のパネルを動かしているなら、ボットを動かす最短の方法です。
- Webhook署名#
-
リクエスト本文のHMAC-SHA256ハッシュをヘッダーで送り、受信側がボットから来たものだと証明できるようにする仕組み。
VorqulBOTは、メンバーに関する4つのイベント(参加、退出、BAN、BAN解除)を指定したURLに送ります。共有シークレットを設定すると、各リクエストに本文とそのシークレットから計算したX-Vorqul-Signatureヘッダーが付き、エンドポイント側で一致しないものを拒否できます。シークレットがなくてもイベントは届きますが、認証はされません。
- XPクールダウン#
-
どちらもXPを得られる2つのメッセージの間に必要な最小の時間。VorqulBOTの初期値は60秒。
クールダウンがないと、レベリングは量に報い、ランキングの上位は1語のメッセージを一番たくさん打った人のものになります。あれば、20回の連投も1回と同じだけです。レベリングで最も大切な設定ですが、多くのサーバーはボットが出荷したままにしています。
- サブアカウントチェック#
-
アカウントの年齢、アバター、参加日、ロールから算出する、モデレーターが1人のメンバーに対して実行できる経験則のスコア。
作成から7日未満のアカウントは40点、30日未満は25点、90日未満は10点です。初期アバターは20点、参加から1日未満は15点、ロールなしは10点を加え、ボットは0点です。結果は人が判断するための材料として扱い、自動BANは避けてください。こうした経験則は誤検出を出し、誤ったBANは節約できる時間より多くの信頼を失わせます。
- チケットのトランスクリプト#
-
サポートチケットでのやり取りをテキストファイルに書き出し、指定したチャンネルに投稿したもの。
VorqulBOTはチケットチャンネルの直近100件のメッセージを書き出します。Discordが1回の取得で返せる件数で、通常はチケット全体をカバーします。ファイルはあえて簡素で、テキスト、投稿者、タイムスタンプだけなので、どこでも開けて検索しやすくなっています。外部サービスには何も送りません。
- Privileged intents#
-
ボットがプレゼンス、サーバーメンバー、メッセージ内容を見られるようになる前に有効にする必要がある、Discordの設定。
VorqulBOTには、Discordの開発者ポータルでプレゼンス、サーバーメンバー、メッセージ内容のintentをオンにする必要があります。オフだと、コマンドが何も起きないように見えます。
- スラッシュコマンド#
-
先頭にスラッシュを付けて入力するDiscordのコマンドで、ボットがDiscordに登録し、Discordがコマンド一覧に表示する。
登録には、招待のapplications.commandsスコープとデプロイの手順が必要です。スラッシュコマンドが出ないときは、デプロイをやり直し、招待のスコープを確認してください。
- OAuth2によるダッシュボードのサインイン#
-
VorqulBOTのダッシュボードにDiscord経由でサインインする仕組み。リダイレクト先のアドレスは登録したものと一致している必要がある。
DiscordポータルのリダイレクトURIとダッシュボードのアドレスが食い違うのが、サインインに失敗する最も多い原因です。NEXTAUTH_URLを空にしておくと、自動で検出されます。
WebとAI検索
- llms.txt#
-
サイトのルートに置く、言語モデルに正規のコンテンツを示すテキストの索引。
この慣例はrobots.txtの形を借りていますが、働きは逆です。クローラーを制限する代わりに、選んだ地図を渡します。まだ生まれつつある慣例で、承認された標準ではなく、検索にどれだけ役立つかを独立して確かめた人もいません。vorqul.comは/llms.txtに索引を、/llms-full.txtに全文版を公開しています。
確認日