[Spigot]ForgeMods検出、LiteLoaderMods検出(世界初)、他クライアント検出プラグイン

サーバーMODやBUKKITのプラグインなどの公開/紹介を専門に行うフォーラムです。クライアントMODと組み合わせ必須の物はMOD公開/紹介フォーラムで公開してください。
フォーラムルール
クライアントMODと対にして使用する物は極力 MOD 公開/紹介 フォーラムにて公開するようお願いします。
本フォーラムではサーバーへの適用をメインとするサーバーMOD、プラグインを取り扱います。
不明な点は管理人ecolightまでお問い合わせ下さい。
  • (PostNo.319668)

[Spigot]ForgeMods検出、LiteLoaderMods検出(世界初)、他クライアント検出プラグイン

投稿記事by amata1219 » 2018年8月28日(火) 19:47

画像

ダウンロード

KerisuteGomen Ver.1.2.zip
KerisuteGomen Ver.1.2
(24 KiB) ダウンロード数: 2 回


概要

本プラグインはプレイヤーのログイン時に、そのプレイヤーが改造されたクライアント及びModを導入しているか確認し、ログイン許可されたクライアント及びホワイトリストに登録されているMod以外の物が含まれていた場合、自動でそのプレイヤーをキックしクライアント情報をコンソールに記録します。

クライアント種別の許可設定、プレイヤーキック時に詳細を表示するプレイヤーの設定、特定のパーミッションを付与する事でキックを回避させる事も可能です。

ちなみに、Forge導入クライアント及び導入ForgeMod詳細、LiteLoader導入クライアントは既存のプラグインで検出する事が出来ますが、ネット上を探す限りLiteLoaderMod詳細まで検出する事が出来るプラグインは本プラグインが世界初です。

以下のクライアント及びModが検出可能です。

  • Forge Client
  • Forge Mods
  • Forge Wurst
  • LiteLoader Client
  • LiteLoader Mods
  • Non-Forge 5zig Client
  • LabyMod Client
  • その他オリジナルのクライアント名が設定された物

現在、以下のクライアント及びModは検出出来ません。

  • Optifine
  • HorseAttributes(LiteLoaderMod)
  • Wurst(Hacked Client)
  • その他オリジナルのクライアント名が設定されていない物

各種設定

各種設定はコンフィグより編集出来ます。

  • Forge導入クライアントの接続を「許可 / 禁止」する

    禁止すると、Minecraft Forge、ForgeModLoader、Mod Coder Pack がブロックされます。
    コード: 全て選択
    Forge:
      CanLogin: true / false
  • ForgeMod検出を「有効 / 無効」する
    無効にすると、プレイヤーのログイン時にForgeMod検出が行われなくなります。
    コード: 全て選択
    Forge:
      ModCheck: true / false
  • ForgeModIDホワイトリストを「有効 / 禁止」する
    無効にすると、ForgeMod検出にForgeModIDホワイトリストが参照されなくなります。
    コード: 全て選択
    Forge:
      EnableModIDWhitelist: true / false
  • 接続可能なForgeModを「追加」する
    半角スペース4つ、ハイフン1つ、半角スペース1つの後にModIDを記述します。
    各ForgeModのIDは、確認したいForgeModを予め導入しておき、Minecraftのタイトル画面から「Mod」項目を選択して表示されるMod一覧より確認出来ます。

    Mod ID: ' 'のシングルクォーテーションで挟まれた文字列がModIDです。
    コード: 全て選択
    Forge:
      Whitelist:
        - inventorytweaks
        - torohealthmod
  • LiteLoader導入クライアントの接続を「許可 / 禁止」する

    禁止すると、LiteLoader がブロックされます。
    コード: 全て選択
    LiteLoader:
      CanLogin: true / false
  • LiteLoader検出を「有効 / 無効」する
    無効にすると、プレイヤーのログイン時にLiteLoader検出が行われなくなります。
    コード: 全て選択
    LiteLoader:
      ModCheck: true / false
  • LiteLoaderModIDホワイトリストを「有効 / 禁止」する
    無効にすると、LiteLoader検出にLiteLoaderModIDホワイトリストが参照されなくなります。
    コード: 全て選択
    LiteLoader:
      EnableModIDWhitelist: true / false
  • 接続可能なLiteLoaderModを「追加」する
    半角スペース4つ、ハイフン1つ、半角スペース1つの後にModIDを記述します。
    各LiteLoaderModのIDは、確認したいLiteLoaderModを予め導入しておき、サーバーにログインした際にコンソールに表示されるメッセージや、キックメッセージから確認して下さい。

    LiteLoader: true(Mods: modid-version, modid-version…)の形式で表示されます。
    一部LiteLoaderModはIDを送信してこないため、それらのIDは確認出来ません。
    取得方法が見つかり次第、今後の更新でそれらのModも対応していきます。
    現時点では、WorldEditCUI、HorseAttributesのModIDが確認出来ておりません。

    コード: 全て選択
    LiteLoader:
      Whitelist:
        - voxcelmap
  • Non-Forge5zigMod導入クライアントの接続を「許可 / 禁止」する

    禁止すると、Non-Forge5zigMod がブロックされます。
    コード: 全て選択
    NonForge5zig:
      CanLogin: true / false
  • LabyMod導入クライアントの接続を「許可 / 禁止」する

    禁止すると、LabyMod がブロックされます。
    コード: 全て選択
    LabyMod:
      CanLogin: true / false
  • その他接続可能なクライアントを「追加」する
    半角スペース2つ、ハイフン1つ、半角スペース1つの後にクライアント名を記述します。
    コード: 全て選択
    RegisterCustomClients:
      - OriginalClient
  • 上記クライアント以外のクライアントの接続を「許可 / 禁止」する
    チートクライアントは軒並みバニラクライアント扱いされてしまうため禁止にしてもそれらの接続は禁止出来ません。
    方法が見つかり次第、今後の更新で対応します。
    コード: 全て選択
    OtherClient:
      CanLogin: false
  • その他設定
    EnableLogging

    プレイヤーのログイン時にクライアント情報をコンソールに表示するか設定します。
    trueで有効、falseで無効になります。
    コード: 全て選択
    EnableLogging: true

    KickMessage

    プレイヤーをキックした際に表示するメッセージを設定します。
    メッセージはダブルクォーテーションで挟んで記述して下さい。
    使用可能なプレースホルダは2種類あり、[player]がキックされたプレイヤー名、[mods]が検出された不正クライアント及び不正Mod一覧に置換されます。
    また、節記号(§)を用いた装飾コードも使用可能です。
    コード: 全て選択
    KickMessage: "[player] is kicked by KerisuteGomen\nBlocked Mods: [mods]"

    KickMessageReceiver

    プレイヤーをキックした際にそのクライアント情報を表示するプレイヤーを設定します。
    半角スペース2つ、ハイフン1つ、半角スペースの後にプレイヤー名を記述して下さい。
    コード: 全て選択
    KickMessageReceiver:
      - test_player1
      - test_player2
config.yml 初期設定
コード: 全て選択
EnableLogging: true
KickMessage: "[player] is kicked by KerisuteGomen\nBlocked Mods: [mods]"
KickMessageReceiver: []
Forge:
  CanLogin: true
  ModCheck: true
  EnableModIDWhitelist: true
  Whitelist: []
LiteLoader:
  CanLogin: true
  ModCheck: true
  EnableModIDWhitelist: true
  Whitelist: []
NonForge5zig:
  CanLogin: true
LabyMod:
  CanLogin: true
RegisterCustomClients: []
OtherClient:
  CanLogin: false

config.yml 設定例
コード: 全て選択
EnableLogging: true
KickMessage: "Server > [player]: 許可されていないModが導入されているため接続を拒否しました。\nBlocked Mods: [mods]"
KickMessageReceiver:
  - player_name1
  - player_name2
Forge:
  CanLogin: true
  ModCheck: true
  EnableModIDWhitelist: true
  Whitelist:
    - inventorytweaks
    - torohealthmod
    - 5zig
LiteLoader:
  CanLogin: true
  ModCheck: true
  EnableModIDWhitelist: true
  Whitelist:
    - voxcelmap
NonForge5zig:
  CanLogin: true
LabyMod:
  CanLogin: false
RegisterCustomClients:
  - TestClient
OtherClient:
  CanLogin: false

コマンド一覧

  • /kerisute # 本プラグインのバージョン情報等を表示します。
  • /kerisute commands # 本プラグインのコマンド一覧を表示します。
  • /kerisute reload # コンフィグを再読み込みします。
  • /kerisute [true/false] # プレイヤーがキックされた時に詳細を表示するか設定します。デフォルトはfalseです。
  • /kerisute fwhitelist [add/remove/clear] [mod-id] # ForgeModのホワイトリストを編集します。addで追加、removeで削除、clearで全削除します。clearを実行する場合はmod-idを指定する必要はありません。
  • /kerisute lwhitelist [add/remove/clear] [mod-id] # LiteLoaderModのホワイトリストを編集します。addで追加、removeで削除、clearで全削除します。clearを実行する場合はmod-idを指定する必要はありません。

パーミッション

下記パーミッションを付与する事でキック回避する事が出来ます。
コード: 全て選択
kerisute.samurai.ignore


利用規約

本プラグインの二次配布及び自作発言は禁止します。
また、本プラグインに関連して直接的又は間接的に被った損害につきましては一切責任を負いませんのでご了承下さい。

導入方法

ダウンロードしたファイルを解凍し、梱包されていた.jarファイルをサーバーのpluginフォルダに入れて下さい。

バージョン情報

Spigot 1.12.2
KerisuteGomen 1.2
Minecraft Forge 14.23.4.2739
LiteLoader 1.12.2-SNAPSHOT-release
Non-Forge 5zig Mod 3.12.5 for Minecraft 1.12.2
LabyMod 3-1.12.2

開発環境

Eclipse 4.6 NEON
Java 1.8

更新履歴

2018/08/28 Spigot 1.12.2 KerisuteGomen Ver.1.0 公開!72ダウンロード!

2018/09/09 Spigot 1.12.2 KerisuteGomen Ver.1.1 更新!28ダウンロード!

2018/12/15 Spigot 1.12.2 KerisuteGomen Ver.1.2 更新!

ソースコード

本プラグインのソースコードはGithub-KerisuteGomenにて公開しております。
最後に編集したユーザー amata1219 [ 2018年12月15日(土) 10:58 ], 累計 5 回
アバター
amata1219
ID:44a897b0
石掘り
 
記事: 90
登録日時: 2016年11月18日(金) 16:46
お住まい: Enabling World

  • (PostNo.320003)

Re: [Spigot]ForgeMods検出、LiteLoaderMods検出(世界初)、他クライアント検出プラグイン

投稿記事by amata1219 » 2018年9月09日(日) 20:07

KerisuteGomen Ver.1.1 アップデートのお知らせ

  • WorldEditCUI検出に対応しました。
  • 本プラグインの機能を快適にご使用頂けるよう細かな調整を行いました。
アバター
amata1219
ID:092d8909
石掘り
 
記事: 90
登録日時: 2016年11月18日(金) 16:46
お住まい: Enabling World

  • (PostNo.322577)

Re: [Spigot]ForgeMods検出、LiteLoaderMods検出(世界初)、他クライアント検出プラグイン

投稿記事by 紅しち » 2018年12月11日(火) 17:43

amata1219さん こんにちは!

このプラグインについての質問です。
コード: 全て選択
LiteLoader:
  CanLogin: true
  ModCheck: true
  EnableModIDWhitelist: false
  Whitelist: []

上記の設定でMODは検知だけして通すように使用しているのですが
WorldEditCUIを使用したクライアントだけは弾かれてしまいます。
検知だけして通すように使用するには別途設定方法等あるのでしょうか?

他にはBungeeCordプラグインとしても使用できれば
さらに便利かなとも思いました。
よろしくお願いします!
アバター
紅しち
ID:5df898d5
木を殴ってる
 
記事: 19
登録日時: 2014年9月22日(月) 00:40
お住まい: すももサーバー

  • (PostNo.322670)

Re: [Spigot]ForgeMods検出、LiteLoaderMods検出(世界初)、他クライアント検出プラグイン

投稿記事by amata1219 » 2018年12月15日(土) 10:50

紅しち さんが書きました:amata1219さん こんにちは!

このプラグインについての質問です。
コード: 全て選択
LiteLoader:
  CanLogin: true
  ModCheck: true
  EnableModIDWhitelist: false
  Whitelist: []

上記の設定でMODは検知だけして通すように使用しているのですが
WorldEditCUIを使用したクライアントだけは弾かれてしまいます。
検知だけして通すように使用するには別途設定方法等あるのでしょうか?

他にはBungeeCordプラグインとしても使用できれば
さらに便利かなとも思いました。
よろしくお願いします!


紅しちさん、こんにちは。
本プラグインをご使用頂きありがとうございます!

ご報告頂いた件ですが、Modチェック有効かつホワイトリスト無効時にWorldEditCUIを弾かないよう修正したものを上げましたので、そちらをご使用下さいー。

Spigot 1.13.x もリリースされていますし、後の更新のタイミングでBungeeCord版のリリースも検討しますね!
アバター
amata1219
ID:9c98ac73
石掘り
 
記事: 90
登録日時: 2016年11月18日(金) 16:46
お住まい: Enabling World


Return to サーバーMOD,プラグイン 公開/紹介

x