Minecraftプラグイン ProtocolLib
ProtocolLib と確認されたサーバーの情報
🔌 ProtocolLib について
ProtocolLib は、Minecraft のネットワークプロトコルを他のプラグインに公開するプラグイン用ライブラリです。サーバーとクライアント間の生のパケットを読み取り、変更し、キャンセルし、送信するための API を提供し、プラグインが難読化されたサーバー内部に依存する必要をなくします。
🎯 目的
ProtocolLib は、パケットレベルの処理をプラグイン開発者にとって信頼性が高く、保守しやすいものにするために存在します。安定した API の背後にパケットアクセスを集約することで、複数のプラグインがサーバー内部クラスに直接フックせずにパケット通信を निरी視・変更できるようにします。
⚙️ 特徴
- 受信・送信パケットを横取りするイベント形式の API。
- 文字列、int、ベクトルなど一般的なパケットフィールドの読み書きアクセサ。
- パケットが宛先に届く前にキャンセルしたり、内容を変更したりする機能。
- サーバー側でパケットを構築して送信するためのユーティリティ。
- インデックスベースの読み書きシステムの背後に難読化されたサーバークラスを隠し、バージョン間の安定性を向上。
- サーバー側 jar として配布され、プラグインのビルド時依存関係として利用可能。
🧩 対象ユーザー
- パケットレベルの制御が必要なプラグイン開発者(装飾、変装、クライアント側のカスタム効果、ネットワークユーティリティなど)。
- 直接的なプロトコルアクセスに依存するプラグインを運用するサーバー管理者。
🏗️ 使用例
- チャットパケットを監視して、メッセージが適用される前にサーバー側で検閲する。
- 仕込んだ爆発パケットをプレイヤーに送信し、ワールド状態を変更せずにクライアント側の効果を作る。
- 変装、カスタムアニメーション、その他パケット操作を必要とするクライアント専用の見た目を実装する。
⌨️ コマンド
ProtocolLib 自体はユーザー向けコマンドを提供しません。機能プラグインではなく、開発者向けライブラリです。
⚙️ インストール
📥 セットアップ
- 公式の ProtocolLib jar をダウンロードし、サーバーの
plugins/ディレクトリに配置します。 - サーバーを再起動し、コンソールでエラーなくプラグインが読み込まれることを確認します。
- ProtocolLib を使うプラグインを開発する際は、ProtocolLib をビルド時依存関係として追加し、プラグインのマニフェストに明記します(または soft-depend を設定します)。
📦 依存関係
- ProtocolLib は動作に他のサーバープラグインを必要としません。ライブラリとして他のプラグインで使うことを想定しています。
🧾 設定
- ProtocolLib は初回起動時に独自の設定ファイルを作成します。プラグイン固有の設定は、ProtocolLib を使用する側のプラグインが管理します。
🧠 技術的メモ
- ProtocolLib は、パケットリスナーの登録とプログラムによるパケット送信のための
ProtocolManagerエントリポイントを提供します。 - このプロジェクトは GPL-2.0 ライセンスで配布されています。
- Maven/Gradle の座標はビルド時依存関係として利用できるよう公開されています。
- ProtocolLib は幅広い Minecraft サーバー版との互換性を考慮して保守されており、主に Bukkit 系サーバーソフトウェアを対象としています。
🤝 このプラグインが役立つ場面
クライアント側の効果、カスタム見た目、またはネットワークレベルのフックのために、Minecraft の生のプロトコルを調べたり変更したりする必要があるなら、ProtocolLib はその処理を中央でまとめて安定化し、複数のプラグインが安全にパケットとやり取りできるようにします。
- Restarting...1654.81
- The Best In The Game1,38652.22
- A Minecraft Server851.68
- Minecart Rapid Transit
コミュニティ重視の都市建設・交通サーバーで、乗れる列車、大規模な交通網、保護された建築、プレイヤー運営の経済、組織されたPvPアリーナを中心にしています。
1750.7 - Froggie
保護された土地保護、プレイヤーショップとオークションのある経済、複数バージョン対応、そしてJava–Bedrockのクロスプレイに対応した、カジュアルな建築勢やコミュニティ向けのフレンドリーなサバイバルSMPです。
350.21 - Akoot&Co
Java と Bedrock に対応した、コミュニティ重視の居心地のいい SMP。公開ライブワールドマップ、寄付ショップ、そして気軽に建築や探索を楽しめる便利機能があります。
249.31 - Netherlite is loading...249.28
- Racsu Planet
スキル、クエスト、カスタムダンジョン、そして公式ストアとコミュニティハブに支えられたゲーム内経済を備えた、クロスプレイ対応のサバイバルMMORPG(Java + Bedrock)。
148.25 - A Minecraft Server148.22
- MoodCraft
プレイヤー運営の街、経済、都市プロジェクトに重点を置いたフランス語のセミRPサバイバルSMP — ゲーム内ガイド、ショップ、仕事、安心のチェスト保護で快適に進行できます。Java と Bedrock 対応。
246.67 - LilBoxPvP
BoxPvPに特化したサーバーで、高速なアリーナ戦闘、デュエル、シーズン制の進行が楽しめます。カスタムアイテム、NPCベースのメニュー、そしておそらくJava–Bedrock間のクロスプレイに対応しています。
045.48 - A Minecraft Server144.55
プラグイン ProtocolLib のページには、モニタリングがこのプラグインを確認したサーバー、使用されているプラットフォームとバージョンが表示されます。
プラグインはコマンド、経済、保護、アクセス権、ミニゲーム、連携、その他のメカニクスを追加できます。ProtocolLib の実際の役割はサーバーごとの設定によります。
データはサーバーの技術応答から自動生成されます。サーバーがプラグイン一覧を非公開にしている場合、ProtocolLib を使用していてもこのセクションに表示されないことがあります。
ProtocolLib を使用するサーバーの一覧を使って、プロジェクトを比較したり、対応バージョンを確認したり、公開サーバーでのプラグイン使用例を見つけたりできます。