Language Enforcerはプレイヤーの発言を監視し、
管理者が設定した特定ワードを発言するとプレイヤーにペナルティを与えるプラグインです。
簡単に言うと暴言を吐くプレイヤーをキックしたり、バンするプラグインですね。
というわけで入れてみましょう。
Language Enforcerをいつものフォーラムから入手し圧縮ファイルを解凍すると、
なんかいろいろとファイルが入っています。
下の図はそのファイル達。
プラグイン本体と一緒に外部設定ファイルっぽいものがいくつかあるようですね。
面倒なのですべてプラグインと同じフォルダへぶっこんで見ましたが
とりあえず、これだけで一応プラグインとして動作してくれました。
(個々のプラグインで導入方法が違うときもあるので、ほんとはこういう方法はNGですヨ)
因みに、「txtファイル」とかは作者が用意した「不正ワード集」や、
「正規表現化した不正ワード集」が入っています。
最初、txtファイルは設定ファイルではないよね?
と、思ってプラグインと一緒に入れなかったのですが、
一緒に入れないとProcon上のコンソールでエラー(警告?)が発生します。
どうやら、txtファイルも一緒に入れてあげると作者が作ったワードリストを自動で抽出してくれるようです。
さて、じゃあ起動してみましょう。
下はプラグインのコンフィグの図です。
実は既にいじった後なのですが、
とりあえず最低限必要だった設定について今回は記録(ブログ)にしておきたいと思います。
まずは赤枠「General」のところからいきます。
ここにはプラグインの基本的動作方針を設定できるところです。
上から・・
・Cooldown step pay day
⇒プレイヤーの警告数を何日間保存するか。デフォルトで3日なのでそのまま。
・Admin cooldown per day
⇒ワカラン、上のパラメータの管理者バージョン?違う気がするけどこれもデフォルト。
・Log to
⇒このプラグインが吐き出すログの出力先です。ログなんで好きなところに出してください。
・Enbale latent kills
⇒これもワカラン。デフォルトのまま。
・Load/Save counters to disk
⇒プレイヤーごとの警告数をディスクに「読み込む/保持する」するか。
レンタルサーバのどこかに保存してくれるようです。
これをYesにしておくとクールダウンされるまで、ずっと持ち越してくれるようです。
・Save counters on every punish
⇒ワカラン。
これも警告数を保存するか?みたいな事書いてありますが、何が違うのだろう・・。
上とセットでYesにしておきました。
・Look for Updates
このプラグインのアップデートを確認するか、の設定。
・Look for Updates every X hours
アップデートを確認する周期です。
なんか”ワカラン”だらけでひどいですが、
とりあえずウチのサーバはこういう設定にしてます。
まぁ、ここらへんのパラメータは基本的にデフォルトでいいと思います。
それじゃ、さっそく暴言リストを作ってみましょう。
場所はオレンジ枠の「Badwords」と「Regex Badwords」になります。
といっても、これは冒頭で記述した.txtファイルをプラグインと一緒にいれて置けば、最初からリストに入っていたりします。
まぁ、とりあえず、「Badwords」から中身を見ていきましょう。
中身を見ると英語圏の暴言が沢山入っていますね。
ネットスラング生まれの暴言などもあって、それなりに種類が豊富です。
因みに、最初の導入で.txtファイルを入れ忘れるとここは真っ白です。
そのあと.txtファイルを入れても真っ白のままだったりするので、
その場合は「Badwords.txt」の中身を全てコピーして貼り付けてあげましょう。
水色の枠のボタンをクリックすれば貼り付け可能です。
それじゃ、もう一つの「Regex Badwords」も見てみましょう。
こちらも「Badwords」と一緒で必要な.txtファイルを最初に入れておかないと真っ白のままになります。
真っ白だったら「RegexBadwords.txt」の中身をコピーして同じように貼り付けてあげましょう。
因みに「Regex」とは「正規表現」という意味です。
どこかの業界の人なら中身をみた瞬間に「あー、はいはい」と言うと思いますが、
「正規表現」でピンと来ない人は深く考えなくていいと思います。
一応、この「RegexBadwords」について簡単に説明すると、
特定のワードをプログラムコードのようなものを書いて対応させる場所です。
たとえば一番上にある「n[o0qc]{2,}[pbd]# noob」というコードは、
以下のパターンに対応しています。
・noob
・nob
・nb
・nooooooooooooooooooooooooooob
コードを記述するためのルールは英語サイトを読み漁らないとなさそうなので、
私はデフォルトのままにしていますが(めんどくさい)、
自分で細かいカスタマイズをしたい人はここらへんをいじっていくといいかもしれません。
大変そうなら「Badwords」のほうで特定ワードのみ監視するようにするのがいいと思います。
ちなみに茶色の枠にある部分ですが、
「#fuck」とかの「#」の後の文字はコメントになるようです。
#以降は正規表現の対象にはなりません。
さて、禁止ワードの設定ができたら、次は禁止ワードを発言したプレイヤーへの対応です。
下の図はその設定する場所です。
まず、最初に簡単な説明を入れたいと思います。
このプラグインは禁止ワードを発言すると、そのプレイヤーへ警告カウントを1つ与えるという仕様があります。
警告カウントはクールダウンしない限り保持されるため、
禁止ワードを連続で発言するとカウントがどんどん増えていきます。
管理者はこのカウントの数に沿ってプレイヤーへのペナルティ方法を設定することができます。
たとえばウチのサーバですと、
警告カウントが8回までは「警告メッセージを表示する」になっていますが、
カウントが9回以上になると「警告メッセージとともに強制キックする」になっています。
では、細かい設定についてみていきましょう。
まずは青枠の「2.1 Measure 1 Warm x1」のところです。
これは警告カウント1個の場合の動作を設定するところです。
・Measure #1 - Messure
⇒警告のレベルです。
⇒warm は警告のみ。
⇒kill はそのプレイヤーを神の手でデスさせる。
⇒kick はそのプレイヤーをキックする。
⇒Tban はそのプレイヤーを自分のサーバからKickし、しばらくサーバに入れないようにします。
⇒PermBan はワカリマセン。
たぶんそのプレイヤーを自分のサーバからKickし、永久に入れなくするのかな?
⇒ListEnd はこの設定を削除します。リストから消えます。項目の初期化じゃないです。
・Measure #1 - Repeat X times
⇒ワカラン。リピートタイムって書いてあるから、何か繰り返すのだと思うけど、試してもワカラン。
⇒1で問題ないと思います。
・Measure #1 - Public chat message
⇒禁止ワードを発言した場合、全チャで表示するメッセージです。
⇒誰が警告されたのかプレイヤー全員に晒したりできます。
・Measure #1 - Private chat message
⇒禁止ワードを発言したプレイヤーへ表示するメッセージです。
・Measure #1 - Yell message
⇒禁止ワードを発言したプレイヤーへ表示するYellメッセージです。
⇒画面中央に表示されるメッセージのやつです。
・Measure #1 - Yell time(sec.)
⇒Yellメッセージの表示時間です。
⇒長いと戦闘の邪魔になるので警告数に合わせて増やしたりするといいかもしれません。
因みにこれらのメッセージに以下の記述をいれるとその情報が表示されます。
・%player%
⇒警告されたプレイヤー名を表示します。
・%count%
⇒警告されたプレイヤーの警告数を表示します。
ワカラン部分もありますが、こんな感じです。
デフォルトでいくつか設定が入っていますので、参考にするともっとわかりやすいと思います。
ただ、デフォルトだとBanとかの設定も入ってますので自分で試す場合は注意してください。
自分のサーバに入れなくなってしまいますからネ。
ところで、警告の設定を増やしたい場合は紫枠の「Measure List End」で追加できます。
ボタンを押すとリストが出てくるので、そのうちのどれかを選べば、
そのペナルティレベルで新しい設定が追加されます。
追加するときは設定のタイトルにある番号がカウント数と比例しています。
例えば・・
警告カウント1個の場合は「Measure 1 ○○○ x1」が動作し、
警告カウント2個の場合は「Measure 2 ○○○ x1」が動作します。
ウチのサーバは9カウントまで見るので9個の「Measure ○ ○○○ x1」があると言うことです。
Language Enforcerをとりあえず導入するにあたって大体の設定はこれで終わりです。
これ以外に、ホワイトリストや特定コマンドによるヘルプの表示メッセージなどの設定もありますが、
全部紹介すると大変なので最低限の部分だけにしておきます。
それでは最後に自分で試して見ましょう。
はい、fuckを叫んだら警告されました。
最後に、デフォルトの禁止ワードはあくまで英語圏の人たちにとって、
不快に思う言葉だけしか入っていません。
つまりは日本人プレイヤーからすれば余り気にしないワードも入ってたりします。
例えばウチのサーバは「noob」という言葉は警告の対象にしていません。
これは、ウチのサーバが初心者向けを想定している為、
初心者さんが「自分は初心者です」と英語の「noob」を使う人も少なくないと思ったからです。
他人に向けた暴言でなくても当然、警告しますので、
ここらへんはサーバの管理者ごとにワードの調整を入れておくべきだと思います。
以上で、簡単な導入は終了です。