【1.21.4】Paperプラグイン入門第1回

マインクラフトver1.21.4のPaperプラグインを作る方法を解説します。

管理人
管理人

第1回は、マインクラフトのプラグインとは何か説明します。

プラグインサーバーとは

バニラの動作

バニラ英語:Vanilla)とは、コンピュータソフトウェア、まれにコンピュータのハードウェアまたはアルゴリズムなどで、改変・改修・カスタマイズなどが一切行われていない、提供された状態のまま(原型を留めたままの状態)を指す。
バニラ (ソフトウェア) | Wikipedia

本記事ではバニラとは無改造のマインクラフトそのもののことを指します。

バニラのマインクラフトをシングルプレイで実行すると、内部でサーバーとクライアントが立ち上がります。ここで、各用語を超簡単に説明すると、

サーバー:ワールドやチャットなどの情報を受け取り、提供するプログラム
クライアント:プレイヤーを操作し、プレイ画面を表示するプログラム

シングルプレイのプロセス

また、バニラのマインクラフトをマルチプレイで実行するには、自分のPCでサーバーを建てる方法と、リモートでサーバーを建てる方法があります。

マルチプレイのプロセス(ローカルサーバー)
マルチプレイのプロセス(リモートサーバー)

プラグインサーバーの動作

一方、プラグインサーバーは改造済みのマインクラフトのサーバーです。無改造のクライアントが接続して遊ぶことができます。

特筆すべき点は、クライアントはサーバーが改造されていることを関知しないということです。通常とはゲームの動作が異なる一方、送られてくるパケットはバニラのものと同じなので、クライアントは普段通りパケットを処理することができます。

ここで注意するべき点として、シングルプレイでは、無改造のクライアントと同時に無改造サーバーが立ち上がります。つまり、

”シングルプレイでプラグインを導入することはできない”

ということです。それゆえ、プラグインを導入するならば必然的に自分でプラグインサーバーを建てる必要があります。

プラグインサーバーによるマルチプレイのプロセス(ローカルサーバー)
プラグインサーバーによるマルチプレイのプロセス

Paperプラグインとは

Paperプラグインの動作

Paperプラグインとは、Paperプラグインサーバーに導入することでサーバーの機能を拡張するものです。

実態はjarファイル(Java Archive)で、サーバーが配置されているディレクトリに作成されるplu­g­in­sフォルダに配置することでサーバーにロードされます。

server_directory/
├── cache/
├── config/
├── libraries/
├── logs/
├── plugins/
├── versions/
├── world/
├── world_nether/
├── world_the_end/
└── ...

配置されたPaperプラグインは、Paperサーバーによってロードされ、基本的にPaper APIを通じてサーバーに関する機能が提供されます。Paperプラグインはこの機能を駆使して、サーバーに様々な拡張を施します。

Paperプラグインの動作

アプリケーションプログラミングインタフェースAPI、英: appli­ca­tion pro­gram­ming interface)とは、広義ではソフトウェアコンポーネント同士が情報をやりとりするインタフェースの仕様である。
アプリケーションプログラミングインタフェース | Wikipedia

Bukkit、Spigot、Paper

Bukkitを改良したものがSpigotで、Spigotを改良したものがPaperです。Paper APIはSpig­ot API、Bukkit APIを包含するので、PaperサーバーではBukkitプラグインやSpigotプラグインが動作します。

Bukkit、Spigot、Paperの関係

おわり

この回では、プラグインサーバーの動作と、Paperプラグインの動作について説明しました。次回は、Paperサーバーを建てる方法を説明します。

コメント

タイトルとURLをコピーしました