Simple anti Spam

pack_icon (14)-56fcd98e
スポンサーリンク

Anti Spam は、プレイヤーのチャットを監視し、以下を自動検知するビヘイビアパックアドオンです。

• 連投(短時間に大量のメッセージ)
• 同一メッセージの繰り返し
• 文字連打(例: ああああああ、!!!!!!!)
• NGワード(禁止語)

違反が検知されると、プレイヤーをミュートまたはキックします。ミュート状態とNGワードの警告回数はワールドに保存されるため、再接続やワールド再読み込み後も維持されます。

管理コマンドはすべてオペレーター権限レベル2(/op と同じ)が必要です。チートの有効化は不要です。

───

インストール方法

1. 「Anti Spam」フォルダをビヘイビアパックのフォルダに配置します。
…/development_behavior_packs/Anti Spam/

2. ワールド設定を開きます。

3. ビヘイビアパックから「Anti Spam」を有効化します。

4. ワールドに入り直す(または再起動する)ことでスクリプトが読み込まれます。

設定はワールドの Dynamic Properties に保存されます。ワールドの保存・再読み込み後も維持されます。

───

言語設定

日本語、英語、両言語(バイリンガル)に対応しています。

コマンド:
/spam:language ja → 日本語のみ
/spam:language en → 英語のみ
/spam:language both → 両言語表示(デフォルト)

デフォルト: both 表示例: 英語テキスト | 日本語テキスト

───

検知される内容

1. 連投(ラピッドメッセージ)

設定した時間内に許可回数を超えるメッセージを送ると、スパムと判定されます。

デフォルト: 3秒以内に3回を超えると処罰

2. 同一メッセージの連投

同じ内容のメッセージを連続で送ると、スパムと判定されます。

デフォルト: 同じメッセージを3回連続で送信すると処罰

3. 文字連打

1つの文字が連続しすぎているメッセージは、スパムと判定されます。

デフォルト: 同じ文字が8文字以上連続(例: ああああああああ、!!!!!!!!)

4. NGワード(禁止語)

禁止語を含むメッセージは即座にブロックされます。

デフォルトのNGワード: 馬鹿, アホ, しね, ゴミ

検知の特徴:
• 英字の大文字・小文字を区別しない
• 全角・半角を正規化して判定
• カタカナをひらがなに変換して判定(日本語向け)

注意: 部分一致です。禁止語が別の単語の一部に含まれている場合も検知されます。

───

処罰の種類

スパム時の処罰

設定コマンド: /spam:punishment

タイプ “mute”:
一定時間チャットを送信できなくなる(デフォルト: 60秒)

タイプ “kick”:
ワールドからキックされる

NGワード時の処罰

設定コマンド: /spam:ngpunishment(スパム処罰とは別設定)

タイプ “kick”:
警告上限に達するとキックされる(デフォルト)

タイプ “mute”:
警告上限に達するとミュートされる

タイプ “warn_only”:
警告のみ表示。上限到達後もキック・ミュートは行わない

NGワードの警告フロー(デフォルト):
1回目 → 警告 (1/3)
2回目 → 警告 (2/3)
3回目 → キック(設定によりミュート)

警告回数はプレイヤーごとに保存され、再接続後も維持されます。

───

免除設定

以下のプレイヤーはチェック対象外です。

• サーバーオペレーター(OP)— デフォルトで免除
• タグ “spam_exempt” を持つプレイヤー — 免除

OPを付けずに特定プレイヤーを免除する場合:
/tag <プレイヤー名> add spam_exempt

OP免除を無効にする場合:
/spam:config exempt_operators 0

OP免除を再有効化する場合:
/spam:config exempt_operators 1

───

コマンド一覧

すべて /spam: で始まり、オペレーター権限(レベル2)が必要です。

───

設定確認

/spam:status

言語、処罰設定、各種上限値、免除設定など、現在の設定をすべて表示します。

───

言語設定

/spam:language <ja|en|both>

使用例:
/spam:language ja
/spam:language en
/spam:language both

───

NGワード管理

/spam:ngword list /spam:ngword add <単語> /spam:ngword remove <単語>

使用例:
/spam:ngword list
/spam:ngword add 禁止語
/spam:ngword remove 禁止語

登録時は入力した文字列がそのまま保存されます(判定時は正規化が適用されます)。

───

スパム処罰の設定

/spam:punishment mute <秒数> /spam:punishment kick

使用例:
/spam:punishment mute 60
/spam:punishment mute 120
/spam:punishment kick

kick を選ぶ場合、秒数の指定は不要です。 秒数を指定した場合は、将来 mute に戻したときのためにミュート時間として保存されます。

───

NGワード処罰の設定

/spam:ngpunishment <mute|kick|warn_only>

使用例:
/spam:ngpunishment kick
/spam:ngpunishment mute
/spam:ngpunishment warn_only

───

詳細数値の調整

/spam:config <項目> <値>

設定可能な項目:

time_window_sec
連投判定の時間窓(秒)
デフォルト: 3

max_messages
時間窓内に許可される最大メッセージ数
デフォルト: 3

same_msg_limit
同一メッセージが何回連続でスパムになるか
デフォルト: 3

max_ng_warnings
NGワードの最終処罰までの警告回数
デフォルト: 3

repeated_char_limit
許可される連続同一文字数の上限
デフォルト: 8

exempt_operators
1 = OPを免除, 0 = OPもチェック対象
デフォルト: 1

使用例:
/spam:config time_window_sec 5
/spam:config max_messages 4
/spam:config same_msg_limit 3
/spam:config max_ng_warnings 5
/spam:config repeated_char_limit 6
/spam:config exempt_operators 1

注意: 値は0以上である必要があります。 exempt_operators は 0 または 1 のみ指定できます。

───

管理用コマンド

ミュート解除:
/spam:unmute <プレイヤー名>

NG警告のリセット:
/spam:resetwarnings <プレイヤー名>

設定の再読み込み:
/spam:reload

モデレーションログの表示:
/spam:logs
(直近10件を表示。最大50件までワールドに保存)

記録されるイベント:
• NGワード警告
• NGワードによるキック / ミュート
• スパムによるミュート / キック
• 手動ミュート解除
• 警告リセット

───

デフォルト設定一覧

言語: both(英語 + 日本語) スパム処罰: mute NGワード処罰: kick ミュート時間: 60秒 連投判定の時間窓: 3秒 時間窓内の最大メッセージ数: 3 同一メッセージ上限: 3回連続 文字連打上限: 8文字 NGワード警告上限: 3回 管理者(OP)免除: 有効 免除タグ: spam_exempt 保存ログ件数の上限: 50件

───

おすすめ設定例

カジュアルなサバイバルサーバー(緩め)

/spam:language both /spam:punishment mute 30 /spam:ngpunishment warn_only /spam:config time_window_sec 5 /spam:config max_messages 5 /spam:config repeated_char_limit 10

公開サーバー(厳しめ)

/spam:language ja /spam:punishment mute 120 /spam:ngpunishment kick /spam:config time_window_sec 3 /spam:config max_messages 3 /spam:config max_ng_warnings 2 /spam:config repeated_char_limit 6

日本語のみのサーバー

/spam:language ja /spam:ngword add バカ /spam:ngword add クズ /spam:ngpunishment mute /spam:punishment mute 90

───

プレイヤー側の体験

ミュート中

チャットを送信できません。次のようなメッセージが表示されます。
ミュート中です。残り: 45秒

(言語設定により英語のみ、または両言語表示になります)

ミュート状態は退出・再接続後も維持されます。

NGワードを含む場合

メッセージはブロックされます。警告が表示されます。
[警告] 不適切な言葉が含まれています。(1/3)

スパムと判定された場合

メッセージはブロックされます。設定に応じて:

ミュートの場合:
スパム行為(過度な連投)により60秒間ミュートされました。

キックの場合:
サーバー全体に通知が表示され、プレイヤーがキックされます。

───

トラブルシューティング

問題: コマンドが見つからない 対処: ビヘイビアパックが有効か確認し、ワールドに入り直す

問題: 権限がないと表示される 対処: オペレーター権限レベル2が必要です(/op <自分の名前>)

問題: 設定が変わっていないように見える 対処: /spam:reload を実行後、/spam:status で確認

問題: OPがミュートされる 対処: /spam:config exempt_operators 1 を実行

問題: 特定プレイヤーを免除したい 対処: /tag <プレイヤー名> add spam_exempt を実行

問題: ミュートが解除されない 対処: /spam:unmute <プレイヤー名> を実行

問題: NGワードの誤検知がある 対処: /spam:ngword remove <単語> で該当語を削除

───

技術的な注意事項

• チャットのみ監視: コマンドや看板などは対象外です。
• 永続化: 設定、ミュート・警告、ログはワールドの Dynamic Properties に保存されます。
• セッションデータ: メッセージのタイミング情報はメモリ上に保持され、退出時にリセットされます(ミュート・警告は維持されます)。
• Script API: @minecraft/server(Beta API)が必要です。

───

コマンド早見表

/spam:status /spam:language both /spam:ngword list /spam:ngword add <単語> /spam:ngword remove <単語> /spam:punishment mute 60 /spam:punishment kick /spam:ngpunishment kick /spam:config time_window_sec 3 /spam:config max_messages 3 /spam:unmute <プレイヤー名> /spam:resetwarnings <プレイヤー名> /spam:logs /spam:reload

───

スポンサーリンク
ダウンロード
(mcpack/mcaddon) [DL:8]
※投稿記事に含まれるファイルやリンクにより発生した被害についてクラフターズコロニーは責任を取りません
投稿通報
ビヘイビアパック
プロフィール
投稿者

PVP系のミニゲーム・サバイバル拡張アドオンを主に作っていきます!
リクエストなどもお待ちしております。
現在制作中のプロジェクト/Beta版のリンクは公式ホームページから!
よければYoutubeのフォローもよろしくお願いします!
なお配布マップやアドオンなどはYoutubeのリンクかそれらの紹介ページのリンクを載せていただければ自由に使用可能とします!
バグ報告・要望はこちらから入れていただけると優先対応いたします!→https://docs.google.com/forms/d/e/1FAIpQLSesBt2y9EJ0saXTYVAdFEKeMeDETeiFerzpOA80VsRuifYaiQ/viewform

アぺリオン大本営をフォローする
アぺリオン大本営をフォローする
クラフターズコロニー -マイクラの配布サイト-

コメント

コメント通報

通報するにはログインする必要があります