あいさつ
初めまして、guy7ccです。2ヵ月ほど前からマイクラのSpigotプラグイン開発を始めて、得た知見をメモします。プログラミングをちょっとやったことある人は、これを見れば簡単なプラグインは作れるようになると思います。作れなくても責任は負いません。
情報源となったサイトは色々貼っておきますので、詳しい理解を求めるならばそちらを参照してください。
私はWindows10信者です。Windows10使います。
目次
- テスト用サーバー環境の構築 ←今回
- IntelliJ IDEA Communityによる開発環境の構築
- マイクラ内のコマンドを受け取る
- イベントリスナで起きた事象を受け取る ←まだ書いてない
- タスクでティック毎に処理を起こす ←まだ書いてない
- config.ymlを駆使する ←まだ書いてない
- (未定)
第1回 テスト用サーバー環境の構築
2021/12/31現在、最新バージョンであるSpigot1.18.1でテスト用のサーバーを構築します。プラグインはサーバー側に配置して起動するものなので、上手く動くかテストするためにサーバーは必須となります。
ダウンロード&インストール
ダウンロードしたファイルの名前は、spigot-1.18.1.jarであればok。適当に空のフォルダを作ってぶち込んでおきましょう。
さて、このファイルをどう料理してくれようかという所ですが、動かすにはJavaの環境が必要です。一般に、Javaのプログラムを起動するだけならJRE(Java Runtime Environment)があれば良いですが、今回はプラグインの開発をするのでJDK(Java Development Kit)をインストールしましょう。また、マイクラのバージョン1.18.1からはJDK17以上が要求されます。
以下のリンクから飛んで、Windows x64 Installerを選択してダウンロードしましょう。32bitは対応していません。
2021/12/31現在、JDK17のバージョンは17.0.1でした。
参考:Java SEとJDK、JRE、JVMの違いに関する解説
Java JDKのインストール方法 ← こちらは環境変数とかをいじる方法も書かれています
サーバーのセットアップ
JDKのインストールに成功したなら、先ほどダウンロードしたファイルのアイコンは以下の画像のようになっているはずです。
早速起動しましょう。spigot-1.18.1.jarをダブルクリックするとこうなります。
次に、eula.txtの3行目を書き換え、Mojangの利用規約に同意します。
eula=false ×
eula=true ✓
そしたら、エクスプローラーを右クリックしてテキストファイルを新規作成し、開きます。以下のテキストをコピペしましょう。
@echo off
java -server -Xms4G -Xmx4G -jar spigot-1.18.1.jar nogui
pause
そして、作ったファイル名をRun.batに変更します。ファイル名の末尾に.txtが表示されていない場合は、エクスプローラーの「表示」タブから"ファイル名拡張子"のチェックボックスをチェックし、その上でファイル名を変更しましょう。
このテキストの意味の解説
拡張子batを持つファイルはバッチファイルと呼ばれ、Windows環境で動くコマンドを羅列したテキストファイルです。上から順に実行されます。 1行目: ・`@echo off`は、コンソールにコマンドのログを出力しないことを表しています。この行を無くしてみるとどういった出力になるのか試しても良いです。 2行目: ・先頭の`java`は、正体はどこかにあるjava.exeという実行ファイルを表しており、これを実行したい、ということです。じゃあどこにあるのかというと、バッチファイルのあるディレクトリか、環境変数のPathに追加されているディレクトリに存在しています。見ての通りjava.exeはバッチファイルと同じところにないと思うので、後者のディレクトリにあるというわけです(Windowsならおそらく`C:\Program Files\Java\jdk-17.0.1\bin`あたりに入っていると思います)。ですから、`java`の部分を`"C:\Program Files\Java\jdk-17.0.1\bin\java.exe"`と書き換えれば、環境変数をいじらなくても実行できます。Program Filesというフォルダが半角空白を含んでいる関係で、ダブルクォーテーションは必須です。また、既に他のJDKをインストールしている場合もこのように書くと上手くいきます。 ・`-server`とか`-Xms4G`とか、-"なんちゃら"みたいなやつはコマンドライン引数の一つで、Javaの起動の仕方を指定するものです。RAMの容量が小さいPCでは、`-Xms4G`、`-Xmx4G`をそれぞれ`-Xms2G`、`-Xmx2G`とかに変更して良いです。詳しくは[こちら](https://docs.oracle.com/javase/jp/1.3/tooldocs/solaris/java.html)。 ・`spigot-1.18.1.jar`は起動するファイル名です。 ・`nogui`はGUI無しで起動するという意味です。この記述は無くても普通に起動しますが、ウィンドウが増えて煩雑になることがあるので私はGUI無しで起動します。 3行目: ・`pause`は、読んで字のごとくそこで一旦停止するということです。サーバーが停止したときに一瞬でウィンドウが消えてしまうとログが見えなかったりするので、プログラムが終わる前に一旦待機させます。 ↓ ↓ ↓Run.batをダブルクリックすると、コンソールが表示されてしばらくすると、
Done ( "秒数" s)! For help, type "help"
と表示されます。そうしたら、試しにマイクラを起動してログインしてみましょう。マルチプレイからダイレクト接続を選んで、サーバーアドレスの欄にlocalhost
と入力して接続。もちろんJava版のマイクラです。
ワールドに入れたらサーバーのセットアップ完了です。
コンソールの入力部分に普段使うマイクラのコマンドを入力することで、サーバー側からワールドにアクセスすることもできます。
自分のユーザーにop権限を渡しておけば後々楽でしょう。
プラグインの入れ方
さて、せっかくなので試しにプラグインを入れてみましょうか。
WorldEditはワールド編集に特化した超有名かつ便利なプラグインです。WorldEdit for Bukkitと書かれていますが、SpigotはBukkitをベースに作られているのでBukkit用のプラグインも動きます。右上にあるDownload Latest Fileをクリックしましょう。
ダウンロードしたら、サーバーのフォルダに入っているpluginsフォルダにファイルをぶち込みます。
そうしたら、コンソールにreload
と入力してEnterキーを押します。[WorldEdit]と一緒に書かれたログがいくつか流れてきますが、これはWorldEditのプログラムで出力されたログです。正常に動いている証ですね。
次回起動したときはpluginsフォルダに入っているプラグインは自動的に読み込まれます。リロードが必要なのは起動中にpluginsフォルダ内を変更したときです。
適当にバカでかい球体をWorldEditで作ってみました。建築センスというのがいかに重要であるかがこの画像からわかります。
一連の作業が終わったら、コンソールにstop
と入力してサーバーを安全に停止しましょう。ウィンドウを閉じるだけではデータが失われる危険性があるので注意してください。
おわり
今回は、プラグインをテストするためのサーバー環境を整えました。次回は、プラグインを開発するための環境を作ります。