この記事のねらい
Minecraft 楽しいですよね。
そして独自要素を追加したらもっと面白い…。
Skriptという専用のプログラミング言語を用いることで簡単に自作プラグインを作ってサーバーに導入することができます。
「でも PC がないからサーバーは無理かな…」という方もいらっしゃるでしょう。
大丈夫です!スマホ上でもサーバーを動かして統合版でログインする方法はあります。
それでは早速やっていきましょう!
前提知識
できるだけ前提知識なしで行えるように書いたつもりです。
ただし、ターミナル上での文字ベースの操作が多いため、慣れていない人にとっては難しいかもしれません。
「Linuxの基本的なコマンドを解説してみた」の記事が参考になると思います。
必要なもの
事前に用意するものは次の2つです。
- Android スマホ ― メモリは 4 GB 以上推奨。 これよりメモリが小さくても動くことはありますが、クラッシュするリスクが高まります。また、多くのファイルをダウンロードするのでストレージに余裕 (1 GB 程度) があると良いでしょう。root 化は不要です。
- テキストエディタアプリ ― Skript ファイルなどを編集・保存するために使います。下のいずれかのものです。
- Minecraft 統合版
- 時間 ― 多くの手順を行う必要があるので1時間ほどかかると思います。
これから以下のソフトウェアおよびプラグインを準備します。
- AnLinux, Termux ― Android 上の Linux エミュレータ
- nano ― Linux のターミナル上でファイルを編集するためのテキストエディタ
- PaperMC ― 軽量でプラグインを導入できる Minecraft Java 版のサーバーソフトウェア
- Geyser, Floodgate ― 統合版プレイヤーを Java 版のサーバーに参加させるプラグイン
- tmux ― 1つのターミナルで複数のターミナルを開くことができます。
- playit.gg ― ポート開放をせずにサーバーにアクセスできるようにします。
検証環境
- Sumsung Galaxy A52 5G
- Windows 11 上の Minecraft 統合版
手順
AnLinux のインストール
Android スマホで Play ストアから AnLinux をインストールし、開きます。
同意事項が表示されるので、「I Understand」にチェックを入れ、「CLOSE」を押します。
左のハンバーガーメニューの「Dashboard」を選択し、画面に表示される Step 1 ~ 3 に従います。
- 「CHOOSE」を押し、「Ubuntu」にチェックを入れ、「OK」とします。
- 後で使うためのコマンドを「COPY」ボタンを押してコピーします。
- 「LAUNCH」を押します。そうするとこのポップアップが出てきます。
「Yes」を押すと、ブラウザが開き、 F-Droid のウェブサイト上で Termux のダウンロードページが表示されます。
Termux のインストール
ここではブラウザから APK ファイルをダウンロードする形となるので自己責任でのインストールとなります。
先ほど開いたダウンロードページを下にスクロールし、最新版 (2023年8月31日現在では Version 0.118.0) のダウンロードを、「Download APK」をタップして行います (「DOWNLOAD F-DROID」ではないので注意)。
APK ファイルなので、「有害なファイルな可能性があります」と表示されることがありますが、ダウンロードを続行します。
ダウンロードしたファイルを開こうとすると、セキュリティ上の理由によりインストールを止められることがあります。設定に移動し、使用しているブラウザが不明なアプリをインストールする権限をオンにします。
権限がオンになったら、Termux のインストールを実行します。
インストールが終わったら、安全のため、先ほどブラウザに与えた権限は無効にすると良いでしょう。
Ubuntu のセットアップ
先ほどインストールした Termux を開きます。
このようなターミナル画面が出てきます。
ここからはこのターミナル画面上で操作を行います。
画面を長押しして先ほどコピーしたテキストをペースト (Paste) し、改行します。
このような確認が出てきますが、そのままエンターキーを打ちます。
しばらくログが流れ、ターミナルがこのような状態となります。
左下に ~ $
という文字列 (コマンドプロンプトと呼びます) が表示されると、入力を受け付けるようになった合図です。
そこで、以下のコマンドを入力します。
pkg update && pkg install nano
上のテキストを打ち込むか、コピー&ペーストした後、エンターキーを押下します。
途中で数回、先ほどのような確認が出てきますが、いずれもそのままエンターキーを打ちます。
これでターミナル上で nano というテキストエディタを使うことができるようになりました。
nano のインストール後、
nano start-ubuntu.sh
と入力すると、このような画面になるはずです。
「↑」「←」「↓」「→」の矢印キーでカーソルを移動できます。
赤枠で囲った行に移動しましょう。
下のように書いてある行です。
#command+=" -b /data/data/com.termux/files/home:/root"
先頭の #
を削除します。
つまり、こうなります。
command+=" -b /data/data/com.termux/files/home:/root"
ターミナル画面の左下に ^X Exit
と書いてありますね。
^
は CTRL キーを示しています。
CTRL + X で nano を終了できるという意味です。
Termux の画面にはこのように「CTRL」とありますね。
「CTRL」を押してから、「x」と打って nano を終了しましょう。
Save modified buffer?
(変更を保存しますか) と聞かれるので、「y」と打ち、エンターキーを打ちます。
変更を保存できたら
./start-ubuntu.sh
を入力します。
そうすると、コマンドプロンプトが root@localhost:~#
に変わり、Ubuntu が起動したことがわかります。
スマホの再起動や exit
コマンドによって Ubuntu が終了した (コマンドプロンプトが ~ $
に戻った) 場合、
./start-ubuntu.sh
を再度入力することで Ubuntu を起動することができます。
Java のインストール
サーバーを動かすには Java のインストールが必要です。
以下のコマンドを順に実行しましょう。
1つのコマンドを入力した後、次にコマンドを入力するにはコマンドプロンプト (root@localhost:~#
) が表示されてからにする必要があります。
辛抱強く待ちましょう。
まず、
apt update
次に、
apt upgrade
を入力します。
途中で Do you want to continue?
と聞かれますが、そのままエンターキーを打って大丈夫です。
そして、
apt install openjdk-17-jdk
を入力します。
同じような質問をされるので、同じようにエンターキーを打ちます。
終わったら、
java -version
と入力して、Java がインストールできていることを確認します。
私の環境でこのコマンドを実行すると、以下のように表示されました。
openjdk version "17.0.8.1" 2023-08-24
OpenJDK Runtime Environment (build 17.0.8.1+1-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 17.0.8.1+1-Ubuntu-0ubuntu122.04, mixed mode, sharing)
PaperMC の用意
サーバーのファイルを入れるために mc
という名前のディレクトリ(フォルダ)を作ります。
次のコマンドを入力します。
mkdir mc
cd mc
コマンドプロンプトが root@localhost:~/mc#
に変わり、 mc
ディレクトリを開いた状態になりました。
次に、ブラウザで Paper のダウンロードページ を開いてください。
最新版のダウンロードリンクが青色のボタンで示されています。
このボタンを長押しして、リンクアドレスをコピーします。
Termux に戻り、wget
と打った後、スペースキーを打ち、コピーしたアドレスをペーストしてエンターキーを打ちます。
例えば、2023年8月31日現在の最新版 (Paper 1.20.1 Build #169) をダウンロードするには次のようなコマンドになります。
wget https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/169/downloads/paper-1.20.1-169.jar
ダウンロードできたら、以下のコマンドを順に実行します。
echo \#\!/bin/bash > run.sh
echo java -jar `echo paper-*.jar` >> run.sh
chmod +x run.sh
これでサーバーを起動するためのファイルをダウンロードおよび作成できました。
ls
というコマンドを打って、mc
ディレクトリの中にあるファイルを確認します。
ダウンロードした Paper の JAR ファイルと、 run.sh
というファイルが見つかるはずです。
run.sh
の中身を確認しましょう。
cat run.sh
と入力します。
下のようになっていたらOKです。
#!/bin/bash
java -jar paper-□.□.□-□.jar
※ □.□.□-□
は Paper のバージョン番号
サーバーの起動
いよいよ Paper サーバーを動かします。
./run.sh
と入力しましょう。
なにやらログが流れてきますがすぐに終了しますね。
ls
コマンドで確認すると色々なファイルが作られていることが分かります。
EULA (エンドユーザーライセンス契約) に同意して eula.txt
というファイルを書き換える必要があるらしいです。
QuickEdit または Jota+ などのテキストエディタアプリで eula.txt
を開きます。
- QuickEdit の場合、右上のファイルアイコン>開く (SAF)>左上のハンバーガーメニュー「≡」>「Termux」>「mc」>「eula.txt」をタップしてください。
- Jota+ の場合、右下のファイルアイコン>左上のハンバーガーメニュー「≡」>「Termux」>「mc」>「eula.txt」をタップしてください。
ファイルの開き方は環境により異なる場合があるので注意してください。
いちばん下の行に
eula=false
とあるので、
eula=true
に書き換えて上書き保存します。
- QuickEdit の場合、右下のフロッピーアイコンをタップしてください。
- Jota+ の場合、下の「Save」をタップしてください。
保存できたら、Termux に戻ります。
再度
./run.sh
を実行します。
このように「Done」と表示が出ていればサーバーの起動を完了できています。
>
は、Minecraft のコマンドを受け付けるコマンドプロンプトです。
まだプラグインの導入作業が残っているので
stop
と入力してサーバーを停止します。
プラグインのダウンロード
ls
と打つとさらにファイルが増えていますね。
その中に plugins
というディレクトリがあります。
これからこのディレクトリの中にプラグインを入れます。
cd plugins
と入力し、plugins
ディレクトリを開きます。
Skript
Skript のダウンロードページ を下にスクロールし、「Assets」から「Skript-(バージョン名).jar」(2023年8月31日現在では「Skript-2.6.4.jar」) と書かれているリンクのアドレスをコピーします。
Termux に戻り、PaperMC をダウンロードしたときと同様に、wget
と打った後、スペースキーを打ち、アドレスをペーストしてエンターキーを打ちます。
2023年8月31日現在、コマンドは次のようになります。
wget https://github.com/SkriptLang/Skript/releases/download/2.6.4/Skript-2.6.4.jar
Geyser, Flooadgate
統合版で Java 版のサーバーにログインする場合、Geyser と Floodgate が必要です。
Geyser の最新版をダウンロードするには、次のコマンドを入力します。
wget https://ci.opencollab.dev//job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/build/libs/Geyser-Spigot.jar
Floodgate の最新版をダウンロードするには、次のコマンドを入力します。
wget https://ci.opencollab.dev//job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/spigot/build/libs/floodgate-spigot.jar
ダウンロードの確認
ls
と入力すると、bStats (Paper サーバー付属の機能) と、 Geyser, Skript, FloodGate があるのを確認できます。
プラグイン導入状態でサーバー起動
cd ~/mc
を入力して mc
ディレクトリに戻ります。
./run.sh
でサーバーを起動してみます。
Skript, Geyser, Floodgate がメッセージを表示していたら、正しくプラグインを導入できていることを示しています。
「Done」が表示されてから Geyser が必要なファイルをダウンロードする場合があるので、ダウンロードが終わるまでしばらく待って
stop
を入力します。
Geyser, Floodgate の設定
テキストエディタを開きます。
mc
> server.properties
を開き、以下の行の true
を false
に書き換えて保存します。
enforce-secure-profile=true
つまり、次のようにします。
enforce-secure-profile=false
さらに、mc
> plugins
> Geyser-Spigot
> config.yml
を開き、以下の online
を floodgate
に書き換えます。
# Authentication type. Can be offline, online, or floodgate (see https://github.com/GeyserMC/Geyser/wiki/Floodgate).
# For plugin versions, it's recommended to keep the `address` field to "auto" so Floodgate support is automatically configured.
# If Floodgate is installed and `address:` is set to "auto", then "auth-type: floodgate" will automatically be used.
auth-type: online
つまり、次のようにします。
# Authentication type. Can be offline, online, or floodgate (see https://github.com/GeyserMC/Geyser/wiki/Floodgate).
# For plugin versions, it's recommended to keep the `address` field to "auto" so Floodgate support is automatically configured.
# If Floodgate is installed and `address:` is set to "auto", then "auth-type: floodgate" will automatically be used.
auth-type: floodgate
tmux のインストール
apt install tmux
を実行して tmux をインストールします。
Do you want to continue?
と聞かれますが、そのままエンターキーを打ちます。
インストールできたら
tmux
と入力して tmux を起動します。
下にこのような緑色のステータスバーが表示されるようになります。
playit.gg のセットアップ
ハードウェアのアーキテクチャを調べます。
uname -m
このコマンドを実行すると、使っているスマホのアーキテクチャが表示されます。
私の場合は
aarch64
でした。
ブラウザで playit.gg のログインページ を開き、いちばん下の「Create an Account」からアカウントを作成します。
メールアドレスと新規作成したパスワードを入力し、「Create」をタップすると、メールが届きます。
「Verify Email」リンクを開き、メールアドレスを認証します。
リンク先に「Downloads found here.」とあるので、「here」のリンク先に移動します。
「Linux」のタブから、一致するアーキテクチャのリンクアドレスをコピーします。
例によって、Termux 上で wget
とスペースキーを打ち、コピーしたアドレスをペーストし、エンターキーを押します。
これで playit のファイルがダウンロードできます。
以下のコマンドを入力します。
chmod +x playit-*
./playit-*
いちばん上に URL が表示されるので、これをコピーしてブラウザからアクセスし、ページ右下に「Create Tunnel」が現れるのを待ってそれをタップします。
このような画面に移動するので、「Tunnel Type」から「Minecraft Bedrock (game)」を選び、「Add Tunnel」を押します。
そうすると、この画像のような表記が出てきます (実際の表記を黒塗りしています)。
例えば「198.51.100.0:12345」のように、3つの小数点と1つのコロン「:」の付いた数字の羅列があります。
この例ではコロンの前の「198.51.100.0」が「サーバーアドレス」で、コロンの後の「12345」が「ポート」です。
あとで見返せるようにこの playit.gg のページを開いたままにしておくか、これらの数字をメモしておきます。
Skript の作成
Tmux 上で「CTRL」「b」「c」を順に打つことで新しいターミナルを開きます。
そこで次のコマンドでスクリプトを入れるディレクトリに移動し、hello.sk
という名前の新しいファイルを作成します。
cd plugins/Skript/scripts
touch hello.sk
QuickEdit または Jota+ などのテキストエディタを開きます。
eula.txt
を編集したときと同じようにファイルアイコンをタップします。
mc
> plugins
> Skript
> script
> hello.sk
で今作成したファイルを開きます。
試しにこのファイルに以下のような内容を書き込み、保存します。
on join:
broadcast "%player's name%: Hello, world!"
ついにログイン!
Termux に戻ります。
./run.sh
と入力してサーバーを起動します。
統合版 Minecraft で「サーバーを追加」から playit.gg のサイトに示された「サーバーアドレス」と「ポート」を入力し、「保存」して「サーバーに接続」します。
「サーバー名」は何でもかまいません。
ログインするとチャット欄にあなたのプレイヤー名と「Hello, world!」が表示されます。
晴れてスマホ上で Skript を実行できましたね!
サーバーの起動と終了の方法
サーバーの終了
ずっとスマホ上でサーバーを動かし続ける訳にはいかないのでサーバーを終了します。
Termux 上で Minecraft のサーバーがコマンドプロンプト (>
) を表示してコマンドを受け付けているので、
stop
を入力します。
コマンドプロンプトが root@localhost:~/mc
に戻ったら、
tmux kill-server
を入力します。
緑色のステータスバーが消えて tmux が終了したことを確認します。
exit
を入力すると、 Ubuntu が終了してコマンドプロンプトがさらに ~ $
に戻ります。
もう一度
exit
を入力し、「press Enter」と表示された場合はエンターキーを打ちます。
Termux アプリが終了します。
ブラウザで playit.gg の管理画面 を開き、青色の背景になっている「Minecraft Bedrock」をタップします。
そして、「disable tunnel」と書かれたボタンをタップします。
画面の横幅が狭いため、「disable tunnel」ボタンが表示されない場合があります。
この場合はスマホ画面を横向きにしてください。
サーバーの起動
Termux アプリを起動します。
コマンドプロンプトが ~ $
となっていることを確認します。
./start-ubuntu.sh
と入力して Ubuntu を起動すると、コマンドプロンプトが root@localhost:~#
となります。
mc
ディレクトリに移動するため、
cd mc
と入力すると、コマンドプロンプトが root@localhost:~/mc#
となります。
tmux
と入力します。
下に緑色のステータスバーが表示されます。
./playit-*
と入力し、playit.gg を起動します。
「CTRL」「b」「c」を順に打って新しいターミナルを開き、
./run.sh
と入力します。
ブラウザで playit.gg の管理画面 を開き、赤色の背景になっている「Minecraft Bedrock」をタップします。
そして、「enable tunnel」と書かれたボタンをタップします。
これでまたサーバーにログインできます。
参考にしたサイト